1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-09 09:57:48 +03:00

700 Commits

Author SHA1 Message Date
Jeremy Allison
e5358d6c55 r22042: Try and clean up my own mess using the API Volker
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-10 12:19:04 -05:00
Volker Lendecke
074c1eb0ea r22019: Jeremy, this hopefully fixes the build farm currently. But I think we need
another get_safe_offset call that also includes the required buffer size.

Volker
(This used to be commit 6138be7e4a5eb57af4a024d749cb68168b8589fb)
2007-10-10 12:19:02 -05:00
Jeremy Allison
261c004d7b r22014: Make us pass RANDOMIPC test again :-(. This is an ugly check-in,
but I've no option.
Jeremy.
(This used to be commit c3a565081d70b209a4f9e6e8f1859bf7194a5f74)
2007-10-10 12:19:01 -05:00
Jeremy Allison
0eefab112f r22011: As Metze suggested, use 0xFF 'E' <enc ctx> instead
of 0xFF 'S' <enc ctx>.
Jeremy.
(This used to be commit d8cd4fc91b324c9ab8d2f66ee264093763018f76)
2007-10-10 12:19:01 -05:00
Stefan Metzmacher
56ba447668 r22001: change prototype of dump_data(), so that it takes unsigned char * now,
which matches what samba4 has.

also fix all the callers to prevent compiler warnings

metze
(This used to be commit fa322f0cc9c26a9537ba3f0a7d4e4a25941317e7)
2007-10-10 12:18:59 -05:00
Jeremy Allison
4a66d0e232 r21991: I hate Steve French :-). Add support for encryption
contexts....
Jeremy.
(This used to be commit ae8f3649f773b8a8dcb55921536d038d3475322e)
2007-10-10 12:18:58 -05:00
Günther Deschner
761f60f83a r21854: Add gfree_interfaces() to gfree_all().
Guenther
(This used to be commit eb34ebd9e76061417200a286c2831394be04529b)
2007-10-10 12:18:38 -05:00
Jeremy Allison
24cdd7c733 r21800: Check-in the DFS rewrite. I am still testing this but it
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-10 12:18:34 -05:00
Jeremy Allison
540911001d r21768: Fix the client dfs code such that smbclient can
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-10 12:18:30 -05:00
Jeremy Allison
f76fe23e11 r21725: Fix for memalign used without test guards. Was
breaking the build on *BSD's. Tested by Herb.
Jeremy.
(This used to be commit 4816af5ce9070385b292f666779a24057b39e457)
2007-10-10 12:18:26 -05:00
Günther Deschner
5c0d13a8ae r21560: Convert name_to_fqdn to BOOL.
Guenther
(This used to be commit 28ce79629bc36929f508c1ccb1d27d48e8898045)
2007-10-10 12:18:13 -05:00
Gerald Carter
56c1d7e507 r21525: Go ahead and checkin the mlock() & memalign() fixes so
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-10 12:18:10 -05:00
Gerald Carter
e8783bcd00 r21262: Final part of BUG 4093: fix %a with Windows XP 64bit
(This used to be commit e2681eb4be1a9bd001eed0f39e5b5d370cf71ed6)
2007-10-10 12:17:52 -05:00
Gerald Carter
7db1c6873c r21250: Partial fix for BUG 4093: Make %a expand to "Vista"
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-10 12:17:51 -05:00
Volker Lendecke
113e21f0a5 r21084: Make the Samba4 files compile in Samba3, not activated yet.
Volker
(This used to be commit c24854433a28cc066072a7107e29aa7fe2bec3c8)
2007-10-10 12:17:34 -05:00
Volker Lendecke
98c082489b r20394: This is a *VERY* early start of my work on notify.
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-10 12:16:46 -05:00
Jeremy Allison
18f9156d96 r20110: Fix interaction between paranoid malloc checker
and lib/replace. Found by Herb - thanks !
Jeremy.
(This used to be commit 67c4d5e73fe066910f7b1ca4624541a9bbbf7750)
2007-10-10 12:16:25 -05:00
Jeremy Allison
63609fbb04 r20090: Fix a class of bugs found by James Peach. Ensure
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-10 12:16:24 -05:00
Volker Lendecke
e28ae1f5fd r19080: Fix a potential NULL dereference
(This used to be commit 682b490c23bb88a1a570bd1fcb7d2b6aa778dd14)
2007-10-10 12:15:09 -05:00
Günther Deschner
a62f996c5a r18707: Fix the build when you have libnscd installed (which apparently no host
on the buildfarm has).

Guenther
(This used to be commit b0bb364df0efe140780328d90ae55bb823e6b10d)
2007-10-10 12:00:49 -05:00
Stefan Metzmacher
f21e9f5780 r18705: not all compilers like this
metze
(This used to be commit 2ec4bc0f5299f295525f306279ddb136e0b19ee1)
2007-10-10 12:00:49 -05:00
Günther Deschner
a3e1f7e44d r18703: Fix the annoying effect that happens when nscd is running:
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-10 12:00:49 -05:00
Simo Sorce
d6943ee546 r18534: Fix grammar
(This used to be commit 6c9b80bde39be7feb15f0fab4024a1de2980f4c1)
2007-10-10 11:51:48 -05:00
Simo Sorce
019c89a67e r18530: typos
(This used to be commit 8c5c4959ede04e1cdbfe65beeee1f67ac0a93753)
2007-10-10 11:51:48 -05:00
Simo Sorce
f560ee201d r18529: warn the user that putting the machine host name on the
127.0.0.1 line in /etc/hosts is not ok for Kerberos.
(This used to be commit 85126391e11006514af8e6c6b88eb7fa21abf49a)
2007-10-10 11:51:47 -05:00
Volker Lendecke
2ad8731341 r18066: It's a bit pointless to send ourselves a signal just to check if we exist :-)
Volker
(This used to be commit 44105ff2ffa726d2961cecdabbd2056f243ad914)
2007-10-10 11:43:25 -05:00
Stefan Metzmacher
9c8a9d0ac4 r17922: sync samba3's talloc with samba4's and move the samba3 specific stuff to tallocmsg.c
metze
(This used to be commit 7704e3e51dec1768772663024a0579cb4a271cc1)
2007-10-10 11:38:59 -05:00
Jeremy Allison
a64925ddff r17800: Start using struct timespec internally for file times
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-10 11:38:48 -05:00
Volker Lendecke
0be131725f r17569: Make 'max smbd processes' more robust. Counting on the child to 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-10 11:38:39 -05:00
Volker Lendecke
7ad912c264 r17231: Some patch cosmetics
(This used to be commit 736e55101b1e7cc22f043b836be877afbb031edf)
2007-10-10 11:38:21 -05:00
Jeremy Allison
5f0e9cc4e6 r17025: Remove one blank line - test checking in to two
branches simultaneously.....
Jeremy.
(This used to be commit 13e7fe540acf575c3b4503050a25cbe4d30b8835)
2007-10-10 11:19:21 -05:00
Gerald Carter
9846cf3daf r16997: Simo's patch (based on repotr from Seth Elssworth of Quest) to try 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-10 11:19:17 -05:00
Jeremy Allison
fbdcf2663b r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what
everyone is waiting for....

Jeremy.
(This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10 11:19:14 -05:00
Jeremy Allison
6d5a7494df r16386: Klockwork #lots. Ensure talloc_get_type_abort aborts
if handed a NULL pointer, not returns NULL.
Jeremy.
(This used to be commit d47ec4dc25bffa6f605c0f6fa1d9c046dbc520a7)
2007-10-10 11:18:51 -05:00
James Peach
a51ce2bfbe r15509: Preserve errno in fcntl lock wrappers.
(This used to be commit 624318245fbd4060617d9404700a04df23d667ac)
2007-10-10 11:16:55 -05:00
James Peach
826614ed16 r15508: Use clock_gettime for profiling timstamps if it is available. Use
the fastest clock available on uniprocessors.
(This used to be commit d44862928206b524f826bd7c2997ab5353c0b6a0)
2007-10-10 11:16:55 -05:00
James Peach
5910e397d3 r15446: Tidy up the formatting of locking debug messages and make it more
consistent. Bring oplocks withing the purview of the locking debug
channel.
(This used to be commit e817cfd7d3a42d141198122eada58b5a7ba90e9c)
2007-10-10 11:16:45 -05:00
James Peach
7a5ff0885d r15047: Add support for using libunwind to generate a backtrace. This is
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-10 11:16:00 -05:00
Jeremy Allison
fc13f28417 r15030: On a performace hunt... Remove as many extraneous
memset's as possible.
Jeremy.
(This used to be commit 1217ed392b75aa8bfefa9c3f1ec5fa3bba841ee0)
2007-10-10 11:15:58 -05:00
Jeremy Allison
22dbd67708 r15018: Merge Volker's ipc/trans2/nttrans changes over
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-10 11:15:57 -05:00
Gerald Carter
bbf666e447 r15003: patch based on code from Arkady Glabek <aglabek@centeris.com> to 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-10 11:15:55 -05:00
James Peach
4fa5559800 r14898: This change is an attempt to improve the quality of the information that
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-10 11:15:53 -05:00
Jeremy Allison
80afbe5cf5 r14751: Use the noreturn attribute to try and tell coverity that
smb_panic can't return.
Jeremy.
(This used to be commit ba9c98983efbf4871e1ec07df37590d97ec52fba)
2007-10-10 11:15:45 -05:00
Jeremy Allison
1d3fd5201c r14746: Add the Samba4 replacements for opendir/readdir etc. to
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-10 11:15:45 -05:00
Jeremy Allison
7f57dc61cb r14703: Clarify the return codes for the POSIX locking case. This
was confusing.
Jeremy.
(This used to be commit bc1a605a39e58a7dbdcd4d132345e957e3ed9d5e)
2007-10-10 11:15:44 -05:00
Stefan Metzmacher
250c02554e r14618: add --no-process-group to all server programms
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-10 11:15:39 -05:00
Jeremy Allison
71272fc441 r13975: Re-fix Coverity #156 - I had left the hidden arg. inconsistent
between Realloc and realloc_array.
Jeremy.
(This used to be commit 841c9b1847ae12656b827e3d35b8bf0c3f68b8b4)
2007-10-10 11:11:02 -05:00
Jeremy Allison
894358a8f3 r13915: Fixed a very interesting class of realloc() bugs found by Coverity.
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)
2007-10-10 11:10:59 -05:00
Gerald Carter
fb5362c069 r13571: Replace all calls to talloc_free() with thye TALLOC_FREE()
macro which sets the freed pointer to NULL.
(This used to be commit b65be8874a2efe5a4b167448960a4fcf6bd995e2)
2007-10-10 11:10:14 -05:00
Gerald Carter
0af1500fc0 r13316: Let the carnage begin....
Sync with trunk as off r13315
(This used to be commit 17e63ac4ed8325c0d44fe62b2442449f3298559f)
2007-10-10 11:06:23 -05:00