Age | Commit message (Collapse) | Author | Files | Lines |
|
(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)
|
|
deryck
(This used to be commit 0fdb062f35b4c4b19bf4122d48a0b4edacfe74ca)
|
|
(This used to be commit bff03f0cd484c04d5ab6d6b66f30191bef368b68)
|
|
only tell at parse time from the wire if an incoming name
has wildcards or not. If it's a mangled name and we demangle
the demangled name may contain wildcard characters. Ensure
these are ignored.
Jeremy.
(This used to be commit 4cd8e2a96b98ff711905e8c6f416b22440c16062)
|
|
* \PIPE\unixinfo
* winbindd's {group,alias}membership new functions
* winbindd's lookupsids() functionality
* swat (trunk changes to be reverted as per discussion with Deryck)
(This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
|
|
(This used to be commit a3b89cb5c13b7e51f27b74b87c03002f537154d5)
|
|
(This used to be commit 2720c82a950a0afded25c2c161cda47ea412fea3)
|
|
(This used to be commit 985dbb47d925e79c1195ca219f7ab5d6648b22b8)
|
|
tests on this as it's very late NY time (just wanted to get this work
into the tree). I'll test this over the weekend....
Jerry - in looking at the difference between the two trees there
seem to be some printing/ntprinting.c and registry changes we might
want to examine to try keep in sync.
Jeremy.
(This used to be commit c7fe18761e2c753afbffd3a78abff46472a9b8eb)
|
|
(This used to be commit 6d431eb676e1df4cfdcbeaed5fa81adfbfc77325)
|
|
safe for using our headers and linking with C++ modules. Stops us
from using C++ reserved keywords in our code.
Jeremy
(This used to be commit 9506b8e145982b1160a2f0aee5c9b7a54980940a)
|
|
(This used to be commit a0ac9a8ffd4af31a0ebc423b4acbb2f043d865b8)
|
|
(This used to be commit a405e7f479cb71be5634b79f2d7847fcf018f516)
|
|
due to
it being too slow. The build farm re-runs that with debuglevel 10, and this
ends up with a 400MB logfile which is not synced. Lets see if with this change
the machine pops up on build.samba.org....
Volker
(This used to be commit b4a6ace00dbf1a6b6200704197df7ecd460412e9)
|
|
Volker
(This used to be commit 3db2799822da3711b47b60ba13daa07205ced45f)
|
|
Volker to commit. Woo Hoo !
Jeremy.
(This used to be commit 316df944a456f150944761dab34add5e8c4ab699)
|
|
(This used to be commit 173375f8d88bf8e8db8d60e5d5f0e5dcc28767d9)
|
|
(This used to be commit 36eb9aa48a3bee73962b66e21d1489187fd46977)
|
|
(This used to be commit 3cf5ad4e80f95c302a502a78e2ee1b23524625bf)
|
|
(This used to be commit 17d13b57136d1f58c450d4587476304482bbd12a)
|
|
(This used to be commit 85be4c5df398faa6c5bfacd1f9d2f12c39d411e1)
|
|
(This used to be commit 3f12dbb1cfd429e537415635aaa6e551e00c2a0e)
|
|
Jeremy.
(This used to be commit 69e99d97d1547ec8f8e7f9756b87f211c90557b6)
|
|
matches the new MS-DFS function prototypes. Should fix the
build farm tests.
Jeremy.
(This used to be commit 3d4d8bb6544abc4959f75bb962d8e1fb3d37a55e)
|
|
error message but we correctly deny the open).
Jeremy.
(This used to be commit 99b89867c33a2209c42b6610d62ead0cf2af05af)
|
|
reload_printers() cleanup
(This used to be commit 054b64fb86328556288d097e1201a24d53d0bec9)
|
|
supported pipe. Netlogon is still special, as we open that twice, one to do
the auth2, the other one with schannel.
The client interface is completely unchanged for those who only use a single
pie. cli->pipe_idx is used as the index for everything except the "real"
client rpc calls, which have been explicitly converted in my last commit. Next
step is to get winbind to just use a single smb connection for multiple pipes.
Volker
(This used to be commit dc294c52e0216424236057ca6cd35e1ebf51d0da)
|
|
(This used to be commit f00ae4ab0c36a623257861fb65373b39cf075921)
|
|
Jeremy.
(This used to be commit 6b25a6e088390d33314ca69c8f17c869cec3904b)
|
|
(This used to be commit 1feda3649fa5dd7233ea66057fc431948c87825b)
|
|
Jeremy.
(This used to be commit aaab1120849efca11c68bdce9285bad25e05eecf)
|
|
very rarely used, but we sohuldn't be removing a feature in a minor
release of this kind.
(This used to be commit 4ce0505bc369243aa77013519ce4e4f6e50f5a48)
|
|
rafal
(This used to be commit 7fa94c38951fcd803a8e769a867a008e47f4129a)
|
|
On systems with /dev/urandom, this avoids a change to secrets.tdb for every fork().
For other systems, we now only re-seed after a fork, and on startup.
No need to do it per-operation. This removes the 'need_reseed'
parameter from generate_random_buffer().
Andrew Bartlett
(This used to be commit 36741d3cf53a7bd17d361251f2bb50851cdb035f)
|
|
at the
end...
Volker
(This used to be commit 65518960e54f98e750c7e044004ce72a7503760b)
|
|
filenames ending in a dot.
Volker
(This used to be commit f17cb54a6f97b2ce0084d27ec219b4c3fe05c1fa)
|
|
(This used to be commit 49f3f0412fc3ce0e735455e63b39143765fdde82)
|
|
sleep time is not more than 5 seconds. Should fix issue
reported by Chris Garrigues <cwg@deepeddy.com>.
Jeremy.
(This used to be commit fbc06831d3a7e8645409158ee1ae1f9f192913a7)
|
|
then is the client supports it (current clients supported are Samba and
CIFSVFS - detected by the negprot strings "Samba", "POSIX 2" and a bare
"NT LM 0.12" string) then the setting of the per packet flag smb_flag
FLAG_CASELESS_PATHNAMES is taken into account per packet. This allows
the linux CIFS client to use Samba in a case sensitive manner.
Additional command in smbclient "case_sensitive", toggles the
flag in subsequent packets.
Docs to follow.
Jeremy.
(This used to be commit cf84c0fe1a061acc0313f7db124b8f947cdf623d)
|
|
Jeremy.
(This used to be commit 0661357484a33329c75457527416667feaf57ef9)
|