1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-30 20:23:49 +03:00
Commit Graph

388 Commits

Author SHA1 Message Date
Andrew Tridgell
01f5c1c72d r3390: fixed schannel server side support. RPC-SCHANNEL now works against Samba4. 2007-10-10 13:05:04 -05:00
Andrew Tridgell
91139ed8d4 r3385: when discarding a unmatched reply print the command type to help debugging 2007-10-10 13:05:03 -05:00
Andrew Tridgell
e23edf762c r3383: avoid multi-part SMBtrans and SMBtrans2 replies until our client library can handle
them properly (they are difficult to do in an async fashion).

By choosing trans.in.max_data to fix in the negotiated buffer size a
server won't send us multi-part replies.

I notice that windows seems to avoid them too :)
2007-10-10 13:05:03 -05:00
Andrew Tridgell
e63edc8171 r3380: - changed the default behaviour of server signing. We now have a default
setting of "server signing = auto", which means to offer signing
  only if we have domain logons enabled (ie. we are a DC). This is a
  better match for what windows clients want, as unfortunately windows
  clients always use signing if it is offered, and when they use signing
  they not only go slower because of the signing itself, they also
  disable large readx/writex support, so they end up sending very small
  IOs for.

- changed the default max xmit again, this time matching longhorn,
  which uses 12288. That seems to be a fairly good compromise value.
2007-10-10 13:05:03 -05:00
Andrew Bartlett
5db5c30ebe r3365: Fill in the user and primary group SIDs into the 'server info' before
the session info.

Andrew Bartlett
2007-10-10 13:05:01 -05:00
Andrew Bartlett
c1b7303c1c r3361: Allow Samba4 (I'm interested in ntlm_auth in particular) to use
Samba3's winbind.  This is also the start of domain membership code in
Samba4, as we now (partially) parse the info3, and use it like Samba3
does.

Andrew Bartlett
2007-10-10 13:05:01 -05:00
Andrew Tridgell
7e942e7f1b r3360: improved the deletion of tmp files. smbd now puts all tmp files in var/locks/smbd.tmp/
and deletes that dir on startup.
2007-10-10 13:05:01 -05:00
Andrew Bartlett
224b59edba r3358: Try to put all the basic struct dom_sid manipulation functions in one
place.  (I always have trouble finding one half or the other).

Andrew Bartlett
2007-10-10 13:05:00 -05:00
Andrew Tridgell
ffa285bc78 r3357: removed the need to use TDB_CLEAR_IF_FIRST in Samba4.
We found a few months ago that TDB_CLEAR_IF_FIRST is extremely
inefficient for large numbers of connections, due to a fundamental
limitation in the way posix byte range locking is implemented. Rather
than the nasty workaround we had for Samba3, we now have a single
"cleanup tmp files" function that runs when smbd starts. That deletes
the tmp tdbs, so TDB_CLEAR_IF_FIRST is not needed at all.
2007-10-10 13:05:00 -05:00
Andrew Tridgell
865159016a r3354: honor "max xmit" and "max mux" from smb.conf in our client code. This
is important as it allows the test suite to exercise the multiple
reply logic in smbd for trans2 search replies.
2007-10-10 13:05:00 -05:00
Andrew Tridgell
320ca0214d r3352: make smbcli_read() and smbcli_write() work with very small negotiated SMB buffer sizes 2007-10-10 13:04:59 -05:00
Jelmer Vernooij
1d374cdeb0 r3331: Add string descriptions for a couple more WERROR's 2007-10-10 13:04:56 -05:00
Andrew Tridgell
5921587ec2 r3323: more warning reductions 2007-10-10 13:04:55 -05:00
Andrew Tridgell
02d5d0f685 r3322: fixed a bunch of warnings in the build, including one case where it was a real bug 2007-10-10 13:04:55 -05:00
Andrew Tridgell
1e62aa262a r3319: fixed a bug in the client library found by the new non-block testing code 2007-10-10 13:04:53 -05:00
Andrew Tridgell
7cb4bf8662 r3315: converted the libcli/raw/ code to use the generic socket library. This
allows me to test with the socket:testnonblock option. It passes.
2007-10-10 13:04:53 -05:00
Jeremy Allison
afed78f359 r3295: Fix for SMB signing with 56-bit DES session keys. From Nalin Dahyabhai <nalin@redhat.com>.
Jeremy.
2007-10-10 13:04:51 -05:00
Stefan Metzmacher
5eb0ff78d5 r3289: Mr. L. and Mr. B.!
can we decide to not break WinXP clients:-)

metze
2007-10-10 13:04:50 -05:00
Andrew Tridgell
7f2c771b0e r3278: - rewrote the client side rpc connection code to use lib/socket/
rather than doing everything itself. This greatly simplifies the
  code, although I really don't like the socket_recv() interface (it
  always allocates memory for you, which means an extra memcpy in this
  code)

- fixed several bugs in the socket_ipv4.c code, in particular client
  side code used a non-blocking connect but didn't handle EINPROGRESS,
  so it had no chance of working. Also fixed the error codes, using
  map_nt_error_from_unix()

- cleaned up and expanded map_nt_error_from_unix()

- changed interpret_addr2() to not take a mem_ctx. It makes absolutely
  no sense to allocate a fixed size 4 byte structure like this. Dozens
  of places in the code were also using interpret_addr2() incorrectly
  (precisely because the allocation made no sense)
2007-10-10 13:04:49 -05:00
Andrew Tridgell
e9aa1f7899 r3237: - allow for readx calls larger than 64k
- combine setattre and standard levels in setfileinfo, as they use the
  same structure
2007-10-10 13:04:43 -05:00
Volker Lendecke
d91659b037 r3219: Hi, Andrew B.!
Not sure which Samba3 you mean, but *my* one bails out with
INVALID_PARAMETER...

Volker
2007-10-10 13:04:42 -05:00
Andrew Tridgell
3f247ec21c r3206: - added the reverse map for ERRbaduid to NT_STATUS_INVALID_HANDLE
- force disable spnego in the RAW-CONTEXT test (it breaks the test)
2007-10-10 13:04:41 -05:00
Andrew Tridgell
2c852539ed r3197: fixed error code mapping for ENOTDIR 2007-10-10 13:04:40 -05:00
Andrew Bartlett
18e08b4497 r3190: When we don't have a PAC, do a lookup in the local ldb instead.
This required reworking the auth_sam code, so that it would export the
'name -> server_info' functionality.  It's a bit ugly from a modular
point of view, but it's what we have to do...

Fix up some of the code to better use the new talloc()

Andrew Bartlett
2007-10-10 13:04:38 -05:00
Andrew Bartlett
bbd52ab264 r3187: This 'optional' part of the ASN.1 in SPNEGO is required by Samba3 (but
not Microsoft).  Unfortunetly it's harder to fix Samba3 than to make
Samba4 cope...

Andrew Bartlett
2007-10-10 13:04:38 -05:00
Andrew Tridgell
375a9a1347 r3131: - make map_nt_error_from_unix() return NT_STATUS_UNSUCCESSFUL if errno is 0
- more consistent checking for system call return values in simple backend
2007-10-10 13:02:24 -05:00
Andrew Bartlett
4efb87eb03 r3128: Return the correct error code for a secrets/kerberos login, but
skipping 'bad encryption type'.

Andrew Bartlett
2007-10-10 13:02:24 -05:00
Andrew Bartlett
9f19aae0c0 r3115: Bugfixes and extra debug in our kerberos verify code.
Andrew Bartlett
2007-10-10 13:02:23 -05:00
Andrew Bartlett
e08366ffeb r3110: Fix the krb5 client and server, so that it doesn't segfault. There
were also gensec bugs that didn't turn up until we hit error paths in
the krb5 code.

Andrew Bartlett
2007-10-10 13:02:22 -05:00
Stefan Metzmacher
c730d7d638 r3096: typo
metze
2007-10-10 13:02:20 -05:00
Stefan Metzmacher
f1d8f4bc5d r3094: import all LDAP error codes from the RFC 2251
metze
2007-10-10 13:02:20 -05:00
Andrew Tridgell
3457c1836c r3081: several updates to ntvfs and server side async request handling in
preparation for the full share modes and ntcreatex code that I am
working on.

highlights include:

 - changed the way a backend determines if it is allowed to process a
   request asynchronously. The previous method of looking at the
   send_fn caused problems when an intermediate ntvfs module disabled
   it, and the caller then wanted to finished processing using this
   function. The new method is a REQ_CONTROL_MAY_ASYNC flag in
   req->control_flags, which is also a bit easier to read

 - fixed 2 bugs in the readbraw server code. One related to trying to
   answer a readbraw with smb signing (which can't work, and crashed
   our signing code), the second related to error handling, which
   attempted to send a normal SMB error packet, when readbraw must
   send a 0 read reply (as it has no header)

 - added several more ntvfs_generic.c generic mapping functions. This
   means that backends no longer need to implement such esoteric
   functions as SMBwriteunlock() if they don't want to. The backend
   can just request the mapping layer turn it into a write followed by
   an unlock. This makes the backends considerably simpler as they
   only need to implement one style of each function for lock, read,
   write, open etc, rather than the full host of functions that SMB
   provides. A backend can still choose to implement them
   individually, of course, and the CIFS backend does that.

 - simplified the generic structures to make them identical to the
   principal call for several common SMB calls (such as
   RAW_WRITE_GENERIC now being an alias for RAW_WRITE_WRITEX).

 - started rewriting the pvfs_open() code in preparation for the full
   ntcreatex semantics.

 - in pvfs_open and ipc_open, initially allocate the open file
   structure as a child of the request, so on error we don't need to
   clean up. Then when we are going to succeed the open steal the
   pointer into the long term backend context. This makes for much
   simpler error handling (and fixes some bugs)

 - use a destructor in the ipc backend to make sure that everthing is
   cleaned up on receive error conditions.

 - switched the ipc backend to using idtree for fnum allocation

 - in the ntvfs_generic mapping routines, use a allocated secondary
   structure not a stack structure to ensure the request pointer
   remains valid even if the backend replies async.
2007-10-10 13:01:57 -05:00
Andrew Bartlett
9c911b361c r3079: make code more pretty :-)
Andrew Bartlett
2007-10-10 13:01:56 -05:00
Andrew Bartlett
173f29a1d8 r3075: Initialise (and check for intialisation) of the private pointer to
ensure we don't segfault on the cleanup from an incomplete schannel
bind.

Andrew Bartlett
2007-10-10 13:01:56 -05:00
Stefan Metzmacher
c79bbe54b4 r3044: resolve the error code for WERR_DS_OBJ_NOT_FOUND to the name
metze
2007-10-10 13:01:53 -05:00
Andrew Tridgell
1cef44505e r3017: nicer memory handling for event_context_merge() 2007-10-10 12:59:58 -05:00
Andrew Tridgell
3af06478da 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
2007-10-10 12:59:57 -05:00
Andrew Tridgell
04e1171996 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.
2007-10-10 12:59:56 -05:00
Stefan Metzmacher
e23dcb1887 r2884: parse LDAP Control messages
metze
2007-10-10 12:59:42 -05:00
Stefan Metzmacher
ad7b0385cf r2883: set BOOL to the internal values not the wire ones
metze
2007-10-10 12:59:42 -05:00
Stefan Metzmacher
cc77baf729 r2861: encode and decode BindRequest/Response correct
and some minor changes
- make ldap_encode/decode_response maore usable

metze
2007-10-10 12:59:40 -05:00
Stefan Metzmacher
30aa8af044 r2860: add gensec_have_feature() to check what feature are used in the connection
metze
2007-10-10 12:59:39 -05:00
Andrew Bartlett
18367c4235 r2859: It seems useful to allow the seal/unseal functions in gensec to pass
though to the sign/check_sig functions.

Andrew Bartlett
2007-10-10 12:59:39 -05:00
Andrew Tridgell
814881f0e5 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;
}
2007-10-10 12:59:39 -05:00
Stefan Metzmacher
1dabd04e26 r2853: add torture test to find the defaultNamingContext on the RootDSE
try a sasl sealed CompareRequest

abartlet: we need to check how SINGING only can work,
          it failed for me:-(

metze
2007-10-10 12:59:38 -05:00
Stefan Metzmacher
778cf6d92b r2851: don't destroy the gensec context it's used for sign and seal
check the result of ldap_receive()

metze
2007-10-10 12:59:38 -05:00
Stefan Metzmacher
d02fab41f8 r2850: - check for GENSEC_WANT_SEAL in gensec_unseal_packet()
- pass functions to the subcontext in spnego

metze
2007-10-10 12:59:38 -05:00
Andrew Tridgell
ad5a5ea08d r2787: force masktest to use RAW_SEARCH_BOTH_DIRECTORY_INFO so it can obtain the short name 2007-10-10 12:59:33 -05:00
Stefan Metzmacher
4233067921 r2750: decode AbandonRequest correct (untested:-)
metze
2007-10-10 12:59:30 -05:00
Stefan Metzmacher
a62fbcb30f r2749: add asn1_read_implicit_Integer()
metze
2007-10-10 12:59:30 -05:00