1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-20 14:03:59 +03:00

423 Commits

Author SHA1 Message Date
Stefan Metzmacher
5b09d503ff r3102: typo
metze
(This used to be commit 3bbda7475a63f939019a41a0b7da8d179c533d79)
2007-10-10 13:02:21 -05:00
Stefan Metzmacher
a1063840e7 r3101: some minor fixes
metze
(This used to be commit 61de2229e27c55041cb4e1aac32bc1d8ed68a05c)
2007-10-10 13:02:21 -05:00
Stefan Metzmacher
95ddbe5ad2 r3100: support 'bin/smbclient //w2k3-101/c$ -U \\administrator@w2k3.vmnet1.vm.base'
we need to send an empty string as userdomain in this case.
fix bug #1317 in the client side

metze
(This used to be commit 958aa8de630b2a88f29ccdf80ac0fc44a8205401)
2007-10-10 13:02:21 -05:00
Stefan Metzmacher
6d18904b03 r3095: - fix a free'ing of msg.dn
- reenable index tests

metze
(This used to be commit 1e7e94fdb10db831090f9bd37e39053dfcde04ce)
2007-10-10 13:02:20 -05:00
Stefan Metzmacher
a9bd405497 r3093: - implment ldb_rename() and ldbrename
- add tests for ldbrename

- disable all tests which regenerate the index
  (this is broken for me...the process hangs,
   tridge we need to discuss that)

- link only the needed stuff to the ldb tools

- build ldbtest inside samba

metze
(This used to be commit 18552f4786c24e0019cc87726ef4c05365fe586e)
2007-10-10 13:02:20 -05:00
Stefan Metzmacher
8d48ca63db r3092: prepare for build inside samba
metze
(This used to be commit f7564bf4d2efb702cf3d11237fbe2adf5efb1ebf)
2007-10-10 13:02:20 -05:00
Stefan Metzmacher
3b96f7d0dd r3091: link only the needed stuff
metze
(This used to be commit 71ccac56c21635e7f6eb8d558230f637f50149ad)
2007-10-10 13:02:19 -05:00
Stefan Metzmacher
900e2cdf6d r3089: fix memleak
metze
(This used to be commit 52eab8dc17a1cd1a8c0382ab8d6e7f6c7ddeea19)
2007-10-10 13:01:58 -05:00
Andrew Bartlett
31e96d8def r3073: Fix bug in the handling of null-terminated ASCII strings in RPC.
Because we didn't count the null terminator, we would not move past it
in the packet.

Andrew Bartlett
(This used to be commit 8b38bffc7098610c469ab61b7e0e6884f046f286)
2007-10-10 13:01:55 -05:00
Andrew Tridgell
72093ce62f r3064: - use UINT8_MAX and UINT16_MAX instead of hex values for idr_get_new() limits
- change idr_get_new() to use > instead of >= in the limit check
(This used to be commit 834b09929bcb8aabdd151b7c2306001497cabdb4)
2007-10-10 13:01:55 -05:00
Andrew Tridgell
343545a883 r3063: our default dos charset is CP850, but some systems don't have that, so
as a special case, automatically fall back to ASCII if its not found.
(This used to be commit 55aeb33343180929fbd7b3568b058b506aee7540)
2007-10-10 13:01:55 -05:00
Andrew Tridgell
23d3b714f1 r3061: change a debug to help track down a charset problem
(This used to be commit 4d2497b7f4cb6aa6fdf1e03b56f72b1022cb92b8)
2007-10-10 13:01:55 -05:00
Andrew Tridgell
198be6fc77 r3058: we don't use the bitmap code any more, delete it
(This used to be commit 2b0554b3b598accb1b2ddade1bf17fa2cc2cb05b)
2007-10-10 13:01:54 -05:00
Andrew Tridgell
b2b8282b8c r3057: - moved the idtree.c code into lib/
- converted the tid handling to use a idtree instead of bitmaps
(This used to be commit 4220914179d10132057216650b65ed7f7679717e)
2007-10-10 13:01:54 -05:00
Andrew Tridgell
53e30b391d r3052: added talloc_zero_p() and talloc_zero_array_p() calls, for allocating zeroed memory
(This used to be commit 65b7316e9b4589b02a8bd94150ccbfe526f6d159)
2007-10-10 13:01:53 -05:00
Andrew Tridgell
384f87bd38 r3034: - fixed a bug in message dispatch, when the dispatch function called messaging_deregister()
- added a pvfs_lock_close_pending() hook to remove pending locks on file close

 - fixed the private ptr argument to messaging_deregister() in pvfs_wait

 - fixed a bug in continuing lock requests after a lock that is blocking a pending lock is removed

 - removed bogus brl_unlock() call in lock continue

 - corrected error code for LOCKING_ANDX_CHANGE_LOCKTYPE

 - expanded the lock cancel test suite to test lock cancel by unlock and by close

 - added a testsuite for LOCKING_ANDX_CHANGE_LOCKTYPE
(This used to be commit 5ef80f034d4aa4dd6810532c63ad041bfc019cb8)
2007-10-10 13:00:00 -05:00
Andrew Tridgell
d0cc571e30 r3029: implemented byte range lock timeouts.
This adds a pvfs_wait_message() routine which uses the new messaging
system, event timers and talloc destructors to give a nice generic
async event handling system with a easy to use interface. The
extensions to pvfs_lock.c are based on calls to pvfs_wait_message()
routines.

We now pass all of our smbtorture locking tests, although while
writing this code I have thought of some additonal tests that should
be added, particularly for lock cancel operations. I'll work on that
soon.

This commit also extends the smbtorture lock tests to test the rather
weird 0xEEFFFFFF locking semantics that I have discovered in
win2003. Win2003 treats the 0xEEFFFFFF boundary as special, and will
give different error codes on either side of it. Locks on both sides
are allowed, the only difference is which error code is given when a
lock is denied. Anyone like to hazard a guess as to why? It has
me stumped.
(This used to be commit 4395c0557ab175d6a8dd99df03c266325949ffa5)
2007-10-10 13:00:00 -05:00
Andrew Tridgell
d37acd0fe7 r3028: use talloc_free() instead of talloc_unlink(), as the
event_context_merge() code leaves the events as grandchildren of the
events context, not children, so talloc_unlink() will not work after
the merge
(This used to be commit 2d0dfe607dcfb522669d6fb3d566cf121d84274a)
2007-10-10 12:59:59 -05:00
Andrew Tridgell
ca7e02fd37 r3026: - added automatic retry to messages when the servers listen queue is
full. This means callers can just "send and forget" rather than
  having to check for a temporary failure. The mechanism takes nice
  advantage of the timed events handling is our events code. A message
  will only fail now if we completely run out of some resource (such
  as memory).

- changed the test code not to do retries itself, but only to warn on real failures
(This used to be commit 8cddc610a25e64c1ad39dd6a2fc2e7f467e04fc9)
2007-10-10 12:59:59 -05:00
Andrew Tridgell
6cc8941f05 r3023: added immediate send of messages when they are first queued. This makes things a bit more efficient
(This used to be commit 8380225d326e4bfb3f15fddc72c097870713132a)
2007-10-10 12:59:59 -05:00
Andrew Tridgell
b071fe60d7 r3020: better error handling in socket_unix
(This used to be commit 64514ff5b7734667a1364de925114091fe208b3a)
2007-10-10 12:59:58 -05:00
Andrew Tridgell
5882311fc4 r3018: handle STATUS_MORE_ENTRIES from socket_recv() in the messaging code
(This used to be commit 13739b68d8357d5d330f12b851d0311feb81e545)
2007-10-10 12:59:58 -05:00
Andrew Tridgell
53891ed37e r3017: nicer memory handling for event_context_merge()
(This used to be commit 1cef44505e5de9b8ae5206522b624082ad2343b2)
2007-10-10 12:59:58 -05:00
Andrew Tridgell
6591a22614 r3016: - converted the events code to talloc
- added the new messaging system, based on unix domain sockets. It
  gets over 10k messages/second on my laptop without any socket
  cacheing, which is better than I expected.

- added a LOCAL-MESSAGING torture test
(This used to be commit 3af06478da7ab34a272226d8d9ac87e0a4940cfb)
2007-10-10 12:59:57 -05:00
Andrew Tridgell
844de2b65c r3015: fixed typo noticed by abartlett
(This used to be commit b367209a9f94e471efed233639467babbb2b99d7)
2007-10-10 12:59:57 -05:00
Andrew Tridgell
8d1e35e243 r3014: got rid of the old intra-smbd messaging system in preparation for the new one
(This used to be commit 283e38aeb210e048302dc2759a75879cfc81eeb5)
2007-10-10 12:59:57 -05:00
Andrew Tridgell
f42402da83 r3013: added support for unix domain sockets in the generic socket library. I
will shortly be using this for a rewrite of the intra-smbd messaging
library, which is needed to get lock timeouts working properly (and
share modes, oplocks etc)
(This used to be commit 6f4926d846965a901e40d24546eab356c4a537c7)
2007-10-10 12:59:57 -05:00
Andrew Tridgell
12ea0fd34c r3005: added talloc wrappers around tdb_open() and ldb_connect(), so that the
caller doesn't have to worry about the constraint of only opening a
database a single time in a process. These wrappers will ensure that
only a single open is done, and will auto-close when the last instance
is gone.

When you are finished with a database pointer, use talloc_free() to
close it.

note that this code does not take account of the threads process
model, and does not yet take account of symlinks or hard links to tdb
files.
(This used to be commit 04e1171996612ddb15f84134cadded68f0d173b2)
2007-10-10 12:59:56 -05:00
Andrew Tridgell
645067efc6 r3004: removed some unused functions
(This used to be commit 247421ee648d1935b68a47195fe1709bb861a7d5)
2007-10-10 12:59:56 -05:00
Andrew Tridgell
83928ac670 r2985: got rid of the unused tdb_lockkeys() and tdb_unlockkeys() functions
they have been broken for 4 years (ever since they were added) and
have been never used, which makes them prime candidates for
destruction.
(This used to be commit 0b53ab85aae4569c04495f07c18a65fd6b47bf4c)
2007-10-10 12:59:54 -05:00
Jeremy Allison
ddd5f1163d r2981: Fix incorrect locks/unlocks in tdb_lockkeys()/tdb_unlockkeys().
Spotted by Taj Khattra <taj.khattra@gmail.com>.
Jeremy.
(This used to be commit a7d92301bbf45cb9e475e4876fdbb37644ad5871)
2007-10-10 12:59:54 -05:00
Jelmer Vernooij
7c31786a0d r2940: Complain when there is an attempt to register a backend for a subsystem that does
not (yet) exist
(This used to be commit 0130713fbe3d838964542a700839c4e276b18547)
2007-10-10 12:59:50 -05:00
Andrew Tridgell
94c18cd1a3 r2932: character expansion in strlower_m or strupper_m is considered fatal
(as it could cause a overflow). Print a message giving the character
values involved in the expansion so it can be debugged if it happens.
(This used to be commit 2a6f59f376a132fcbce8c8e9d1b38d8aae3e8561)
2007-10-10 12:59:49 -05:00
Jelmer Vernooij
fe8aaa5d07 r2914: ... and support enumerating values (data is not handled yet, only the names)
(This used to be commit b3bc055ac73ff239c2b267717ee91669ecdd4c9b)
2007-10-10 12:59:47 -05:00
Jelmer Vernooij
aed95ba66f r2913: - Don't print hive name if it is NULL (regtree)
- Initialise hive name (reg_interface)
- Fix LDB backend (enumerating keys works now!)
(This used to be commit 5086d6b2494f236ef67096b2dd4da4f7402a65c5)
2007-10-10 12:59:47 -05:00
Jelmer Vernooij
6df5d77c89 r2911: Fix bug in opening relative keys
(This used to be commit e7c256a92cc6cbe1cd6cc11a8fb37feba272d01c)
2007-10-10 12:59:47 -05:00
Andrew Tridgell
925251ea59 r2907: auto destroy iconv memory handles on exit, to make valgrind leak
reports easier to read (less noisy)
(This used to be commit e3009492b85ac90836aa9341687df5869f4ea291)
2007-10-10 12:59:46 -05:00
Andrew Tridgell
4aebdb779a r2903: a considerably more efficient (both in terms of CPU and memory)
convert_string_talloc() implementation.

the previous version used a minimum of 512 bytes, which is way above the average
of what is needed.
(This used to be commit abcd841a8530ba3273d56c9001ea277611507be3)
2007-10-10 12:59:46 -05:00
Andrew Tridgell
173ec86fc0 r2902: make toupper_w() and tolower_w() slightly faster by putting the most common
conditions first
(This used to be commit 878f6b565f4e80eefbb08f44551b3b4f647d7aa7)
2007-10-10 12:59:46 -05:00
Andrew Tridgell
51009f7052 r2901: if we can't load upcase.dat or lowcase.dat then don't waste 256k
making fake tables, instead just do the approximate upper/lower inline
with toupper() and tolower().
(This used to be commit 994392d085e87046212191b8f41eba628467c778)
2007-10-10 12:59:46 -05:00
Andrew Tridgell
598e82e7ad r2900: rusty pointed out to me that discard_const() can be done via a macro
on systems that have the intptr_t type, and for systems that don't
have it, they also almost certainly won't have -Wcast-qual, so we can use a
void* cast.
(This used to be commit 2132d38f9c5ba59825558d5ba084a514ebc2626b)
2007-10-10 12:59:46 -05:00
Jelmer Vernooij
e2a4771909 r2898: - Support enumerating remote registry values
- Some LDB updates
(This used to be commit 4b5bf739f5a8f39ff3633d738f6de42681a6b30f)
2007-10-10 12:59:45 -05:00
Jelmer Vernooij
ffa0cf3af0 r2897: Fix double registration (of the registry subsystem) bug
(This used to be commit f4860afc486da9fcd43798c81181d01eb0120a59)
2007-10-10 12:59:45 -05:00
Andrew Tridgell
f9bac1dec2 r2872: got rid of a couple of unused (and horrible) functions
(This used to be commit 4bb410756df13c8c23d21b43c1186f3f9cb9f758)
2007-10-10 12:59:40 -05:00
Andrew Tridgell
7b7619e0ba r2871: - got rid of the last bits of non-threadsafe data in util_str.o
- switch the fallback case tables to use talloc

- moved the used-once octal_string() inline in loadparm.c
(This used to be commit b04202eaacc87d264d463f75673ee0e68cd54f94)
2007-10-10 12:59:40 -05:00
Stefan Metzmacher
6350e5cb60 r2867: make call_backtrace() public
this is very usefull we you don't want to use smb_panic()

metze
(This used to be commit 343b575baa528885f76be12b2cd707f092f85189)
2007-10-10 12:59:40 -05:00
Andrew Tridgell
7d32679e96 r2857: this commit gets rid of smb_ucs2_t, wpstring and fpstring, plus lots of associated functions.
The motivation for this change was to avoid having to convert to/from
ucs2 strings for so many operations. Doing that was slow, used many
static buffers, and was also incorrect as it didn't cope properly with
unicode codepoints above 65536 (which could not be represented
correctly as smb_ucs2_t chars)

The two core functions that allowed this change are next_codepoint()
and push_codepoint(). These functions allow you to correctly walk a
arbitrary multi-byte string a character at a time without converting
the whole string to ucs2.

While doing this cleanup I also fixed several ucs2 string handling
bugs. See the commit for details.

The following code (which counts the number of occuraces of 'c' in a
string) shows how to use the new interface:

size_t count_chars(const char *s, char c)
{
	size_t count = 0;

	while (*s) {
		size_t size;
		codepoint_t c2 = next_codepoint(s, &size);
		if (c2 == c) count++;
		s += size;
	}

	return count;
}
(This used to be commit 814881f0e50019196b3aa9fbe4aeadbb98172040)
2007-10-10 12:59:39 -05:00
Andrew Tridgell
1429ed54f1 r2792: got rid of talloc_ldb_alloc() and instead created talloc_realloc_fn(),
so talloc now doesn't contain any ldb specific functions.

allow NULL to be passed to a couple more talloc() functions
(This used to be commit 1246f80d806fb5f63cfbf3879de6d546384552a8)
2007-10-10 12:59:34 -05:00
Andrew Tridgell
15b9736ed3 r2791: got rid of talloc_unreference() and instead created talloc_unlink(),
which is much clearer and simpler to use. It removes a specific parent
from a pointer, no matter whether that parent is a "reference" or a
direct parent. This gives complete control over the free process.
(This used to be commit 6c563887f1b9b8c842309a523e88b6f2a32db10f)
2007-10-10 12:59:34 -05:00
Andrew Tridgell
20c550d87f r2783: got rid of the unused remote architecture detection code
(This used to be commit 9a04664531601b8251dbf6a0922ab48e675adb90)
2007-10-10 12:59:32 -05:00