Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit c91b2bdc160d76bf0b0770fe7f92cbc7124d6c3c)
|
|
This replaces the internal explicit dev/ino file id representation by a
"struct file_id". This is necessary as cluster file systems and NFS
don't necessarily assign the same device number to the shared file
system. With this structure in place we can now easily add different
schemes to map a file to a unique 64-bit device node.
Jeremy, you might note that I did not change the external interface of
smb_share_modes.c.
Volker
(This used to be commit 9b10dbbd5de8813fc15ebbb6be9b18010ffe8139)
|
|
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
(This used to be commit eaefd00563173dfabb7716c5695ac0a2f7139bb6)
|
|
(This used to be commit 330946ad2307ca34f0a8d068a0193fcb8a0d6036)
|
|
(This used to be commit 8abf9f396375b42d838e992b3a4e40e68e550ab2)
|
|
patch.
This changes "struct process_id" to "struct server_id", keeping both is
just too much hassle. No functional change (I hope ;-))
Volker
(This used to be commit 0ad4b1226c9d91b72136310d3bbb640d2c5d67b8)
|
|
and fix all compiler warnings in the users
metze
(This used to be commit 3a28443079c141a6ce8182c65b56ca210e34f37f)
|
|
which matches what samba4 has.
also fix all the callers to prevent compiler warnings
metze
(This used to be commit fa322f0cc9c26a9537ba3f0a7d4e4a25941317e7)
|
|
metze
(This used to be commit cde58ee97ff0de1eb37f62fbf2d52134419dcb5f)
|
|
fix.
Jeremy.
(This used to be commit 0119d2c18348a9e0fcc79e247a9014d929af0ce7)
|
|
using an uninitialized buffer for read/write tests.
Jeremy.
(This used to be commit e27d094620178f316bf79540164bbfe6ff3a3851)
|
|
Jeremy.
(This used to be commit 02d08ca0be8c374e30c3c0e665853fa9e57f043a)
|
|
Jeremy.
(This used to be commit 10430bf75accc71045ed359314dc2711fea8df01)
|
|
Patch from Zack Kirsch <zack.kirsch@isilon.com>.
Jeremy.
(This used to be commit df07a662e32367a52c1e8473475423db2ff5bc51)
|
|
(This used to be commit f4b073d8c85070290f475e7e2575c1233b9a9c4e)
|
|
(This used to be commit 985dde8ed0a7e6da5adf9c55654a4fd362b22acb)
|
|
void message_register(int msg_type,
void (*fn)(int msg_type, struct process_id pid,
- void *buf, size_t len))
+ void *buf, size_t len,
+ void *private_data),
+ void *private_data)
{
struct dispatch_fns *dfn;
So this adds a (so far unused) private pointer that is passed from
message_register to the message handler. A prerequisite to implement a tiny
samba4-API compatible wrapper around our messaging system. That itself is
necessary for the Samba4 notify system.
Yes, I know, I could import the whole Samba4 messaging system, but I want to
do it step by step and I think getting notify in is more important in this
step.
Volker
(This used to be commit c8ae60ed65dcce9660ee39c75488f2838cf9a28b)
|
|
This add a struct event_context and infrastructure for fd events to smbd. This
is step zero to import lib/events.
Jeremy, I rely on you to watch the change in receive_message_or_smb()
closely. For the normal code path this should be the only relevant change. The
rest is either not yet used or is cosmetic.
Volker
(This used to be commit cd07f93a8aecb24c056e33b1ad3447a41959810f)
|
|
Guenther
(This used to be commit 3bb94a081888eca69796b14057b551b078ee9a77)
|
|
clean up a bunch of no previous prototype warnings
(This used to be commit c60687db112405262adf26dbf267804b04074e67)
|
|
get rid of more nested extern declarations warnings
(This used to be commit e9df051f5201843e3428ddbed7a719553c2e799a)
|
|
Jeremy.
(This used to be commit 8b9e5f28c2b8530bee46aefadf97414b85ab5bc8)
|
|
Remove unused gencache_set_only
Use CONST_DISCARD instead of SMB_STRDUP
Volker
(This used to be commit 651e7e44e2e56eab81c5fe708f33e6d3918a39f9)
|
|
(This used to be commit 1115745caed3093c25d6be01ffee21819fb0a675)
|
|
metze
(This used to be commit 9d71a037b10325dd5a258f59b8434b9fa158462e)
|
|
Thanks,
Volker
(This used to be commit 389910b2d376bc5795b0afacb86e45d7a6987491)
|
|
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)
|
|
Fixes bugs reported in libsmbclient.
Jeremy.
(This used to be commit 42a417fb75313b093948602c3be8e2f386048b5f)
|
|
Volker
(This used to be commit 94817a8ef53589011bc4ead4e17807a101acf5c9)
|
|
(This used to be commit 4199b5d2262e1e154f75f609fef20ed8e8c21cf2)
|
|
(This used to be commit 761cbd52f0cff6b864c506ec03c94039b6101ef9)
|
|
afraid it's
more than 1000 lines of patch, but doing it in smaller pieces is hardly
possible.
Anybody interested please look over this. The patch is not really interesting,
just look at the new groupdb/mapping.c file.
Jerry, one entry for the 3.0.24 release notes: smbd will refuse to start if we
have overlapping mappings in group_mapping.tdb. With the old db a unix gid can
be mapped to two different SIDs. This will be refused with the new code.
Volker
(This used to be commit f0f0e893ca41d35b58b35929de78dcb911b3c7dc)
|
|
independently: Change
internal mapping.c functions to return NTSTATUS instead of BOOL.
Volker
(This used to be commit 4ebfc30a28a6f48613098176c5acdfdafbd2941a)
|
|
Remove some unused code: pdb_find_alias is not used anymore, and nobody I
think has ever used the pdb_nop operations for group mapping. smbpasswd and
tdb use the default ones and ldap has its own.
Make the functions pdb_getgr* return NTSTATUS instead of BOOL. Nobody right
now really makes use of it, but it feels wrong to throw away information so
early.
Volker
(This used to be commit f9856f6490fe44fdba97ea86062237d8c74d4bdc)
|
|
Volker
(This used to be commit 68db058fdf508d5b4d38731ece21f5d92feca00c)
|
|
keys,
this can trivially be added later.
Volker
(This used to be commit 6915adb9780052952e4a1d9e1c3e6cac06f48463)
|
|
(This used to be commit fd82f185a2e0f94bfb75f4eee072556ad94bf27d)
|
|
(This used to be commit 641dac4f85c0e00484d90726bea1a4cb58c8235c)
|
|
--unclist option. Triggered by -b sharelist_file option.
Based on Peter Samogyi's work. I'm not sure what concept for fstring replacement is currently in place though (talloc-ed strings? or it was for pstring only?)
(This used to be commit c9f8fafad698c5bc75df86ee8b611104d3fb65bc)
|
|
(This used to be commit 844c98eab475ea047aeaae3ef1250897413cc823)
|
|
(This used to be commit 083ef11cc9be8f1299f233bde194173e092e2c3c)
|
|
to do the upper layer directories but this is what
everyone is waiting for....
Jeremy.
(This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
|
|
Jeremy.
(This used to be commit 5137006233a0c2de94ce3da7340ff0032ef7426d)
|
|
Jeremy.
(This used to be commit 9f5c95c41872deac5e029b69daa5004d5c0fb4cc)
|
|
(This used to be commit 8b3e87184a3cc831fe0314c3b26b6d753cf74e4c)
|
|
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)
|
|
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)
|
|
Jeremy.
(This used to be commit 13de4d000e04ffca41814554bdee8291ddb1efe2)
|
|
Jeremy.
(This used to be commit 36df6ba3ad8b93744577ad92df0fe0b9bf9a4300)
|
|
lp_load() could not be called multiple times to modify parameter settings based
on reading from multiple configuration settings. Each time, it initialized all
of the settings back to their defaults before reading the specified
configuration file.
This patch adds a parameter to lp_load() specifying whether the settings should
be initialized. It does, however, still force the settings to be initialized
the first time, even if the request was to not initialize them. (Not doing so
could wreak havoc due to uninitialized values.)
(This used to be commit f2a24de769d1b2266e576597c57a8e3b1e2a2b51)
|