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

151 Commits

Author SHA1 Message Date
Andrew Bartlett
77473d2ef9 r18779: Not simo's fault, this is actually a bug I introduced a week ago, when I fixed the previous bug in this code.
We need to remove fragments from the incoming fragment list, or else
we leak (actually, we walk free()'ed data as we add/remove elements).

Andrew Bartlett
2007-10-10 14:19:11 -05:00
Andrew Bartlett
27259f3632 r18365: When adding a new structure member, always remember to fragment it.
Andrew Bartlett
2007-10-10 14:18:19 -05:00
Andrew Bartlett
a0162e0ace r18363: Found a rather nasty bug in our fragment handling.
We were adding packet fragments onto the *reply* queue, not the
recieve queue.  This worked, as long as we got a whole packet before
we did any reply work, but failed once the backend called a remote
LDAP server (and I presume something invoked the event loop).

Andrew Bartlett
2007-10-10 14:18:19 -05:00
Jelmer Vernooij
f7afa1cb77 r17930: Merge noinclude branch:
* Move dlinklist.h, smb.h to subsystem-specific directories
 * Clean up ads.h and move what is left of it to dsdb/
   (only place where it's used)
2007-10-10 14:16:54 -05:00
Stefan Metzmacher
0d7f16d7be r17340: initialize elements od dcesrc_call_state in one central place
and pass the messaging context to the call

metze
2007-10-10 14:15:16 -05:00
Andrew Tridgell
396d82a231 r15855: more talloc_set_destructor() typesafe fixes. nearly done ... 2007-10-10 14:08:33 -05:00
Jelmer Vernooij
3fb9f07a75 r15777: Fix unresolved symbols in shared library build. 2007-10-10 14:08:18 -05:00
Stefan Metzmacher
fb1debf219 r15772: pass the messaging context and server_id to the dcerpc server subsystem
metze
2007-10-10 14:08:17 -05:00
Jelmer Vernooij
0fafa2e595 r15379: Fix shared library build's unresolved dependencies 2007-10-10 14:05:29 -05:00
Stefan Metzmacher
9ec706238c r14860: create libcli/security/security.h
metze
2007-10-10 13:59:44 -05:00
Jelmer Vernooij
a316b33057 r14735: Use dcerpc_syntax_id rather then seperate GUID + if_version everywhere 2007-10-10 13:59:17 -05:00
Andrew Bartlett
ce0c7f86fd r14715: Correct the definition of the DCE/RPC bind_nak, per the OpenGroup spec.
This allows us to correctly parse the bind_nak from NT4, when we use
an invalid auth type (the unsupported SPNEGO)..

Andrew Bartlett
2007-10-10 13:59:12 -05:00
Stefan Metzmacher
42b3f83d1c r14653: make sure we always have a valid session_info
metze
2007-10-10 13:59:05 -05:00
Jelmer Vernooij
e71cca7f0c r14571: More improvements on shared library support in Samba. Only ldb is left now... 2007-10-10 13:58:49 -05:00
Jelmer Vernooij
da0a411818 r14569: Make more functions public. 2007-10-10 13:58:48 -05:00
Stefan Metzmacher
56fac3ddbb r14486: remove the need of a stream_connection on a dcesrv_connection,
and let the transport set callbacks for getting the own and peer
socket_address

metze
2007-10-10 13:57:32 -05:00
Stefan Metzmacher
7ad522c7ac r14096: setup a service task for smbsrv and dcesrv
metze
2007-10-10 13:56:50 -05:00
Jelmer Vernooij
b6ffad3860 r14094: Use saner module directory names, fix loading of server service modules. 2007-10-10 13:56:49 -05:00
Stefan Metzmacher
7aabff8298 r13937: fix the build
metze
2007-10-10 13:52:28 -05:00
Jelmer Vernooij
930daa9f41 r13926: More header splitups. 2007-10-10 13:52:26 -05:00
Jelmer Vernooij
1228358767 r13924: Split more prototypes out of include/proto.h + initial work on header
file dependencies
2007-10-10 13:52:24 -05:00
Stefan Metzmacher
c6fa9bd15c r13923: make the state_flags per dcesrv_connection
this will may help with a generic named pipe solution

metze
2007-10-10 13:52:24 -05:00
Jelmer Vernooij
bca0e8054f r13655: Use new name of build header 2007-10-10 13:52:05 -05:00
Jelmer Vernooij
e3d0676aee r13210: Revert my named pipes patch until it passes not just 'make quicktest' but
also 'make test'
2007-10-10 13:51:35 -05:00
Jelmer Vernooij
898d15acbd r13208: Clearly separate named pipes from the IPC$ NTVFS type.
This allows the easy addition of additional named pipes and removes the
circular dependencies between the CIFS, RPC and RAP servers.

Simple tests for a custom named pipe included.
2007-10-10 13:51:34 -05:00
Jelmer Vernooij
73610639b2 r12693: Move core data structures out of smb.h into core.h
torture prototypes in seperate header
2007-10-10 13:49:39 -05:00
Jelmer Vernooij
70e7449318 r12608: Remove some unused #include lines. 2007-10-10 13:49:03 -05:00
Andrew Tridgell
ca6ae1afa0 r12554: get rid of the pesky NTLMSSP warnings about being called after processing is finished 2007-10-10 13:47:57 -05:00
Jelmer Vernooij
8dcfcaf75a r12513: Similar change as my previous commit, but now for transfer syntaxes.
Avoids converting a static string to GUID every time we check whether
a transfer syntax is equal to that of NDR.
2007-10-10 13:47:49 -05:00
Jelmer Vernooij
3564e2f967 r12512: Use GUID structs in API functions everywhere rather then converting back and
forth between GUID structs and strings in several places.
2007-10-10 13:47:48 -05:00
Jelmer Vernooij
c92ace494f r12499: Move smb_build.h out of includes.h 2007-10-10 13:47:45 -05:00
Jelmer Vernooij
b6d2ad4ce0 r12494: Support loading modules from .so files for most subsystems.
We now use a different system for initializing the modules for a subsystem.
Most subsystems now have an init function that looks something like this:

	init_module_fn static_init[] = STATIC_AUTH_MODULES;
	init_module_fn *shared_init = load_samba_modules(NULL, "auth");

	run_init_functions(static_init);
	run_init_functions(shared_init);

	talloc_free(shared_init);

I hope to eliminate the other init functions later on (the
init_programname_subsystems; defines).
2007-10-10 13:47:45 -05:00
Jelmer Vernooij
0ef7fe6f4c r10580: More generic approach for adding endpoints 2007-10-10 13:39:07 -05:00
Stefan Metzmacher
b6694f067a r10078: - add a 'struct data_blob_list_item'
- use this for the send_queue's of the different stream_servers
  to not redefine the same struct so often, and it maybe will be used
  in other places too

metze
2007-10-10 13:37:51 -05:00
Andrew Tridgell
92ed69695b r9384: added a debug to show the dcerpc fault code for any calls we fault 2007-10-10 13:33:31 -05:00
Jelmer Vernooij
fac77f5fa2 r8811: Fix the build.. 2007-10-10 13:30:07 -05:00
Stefan Metzmacher
66d6b1d578 r8036: revert rev 8023/8024 as they have a bugs.
metze
2007-10-10 13:19:01 -05:00
Stefan Metzmacher
d0574d407f r8023: use a pointer to a DATA_BLOB for each reply,
that will allow the write_fn callback of dcesrv_output()
to reference the memory with a valid TALLOC pointer

metze
2007-10-10 13:19:00 -05:00
Stefan Metzmacher
fe483dcd87 r8021: we only need to return STATUS_BUFFER_OVERFLOW for the ipc_trans replies
and not for the ipc_read() replies as here the client explicit says how much data it wants

the write_fn() in dcesrv_output() now returns NTSTATUS

and the ipc specific implementations are moved to the ntvfs_ipc module

metze
2007-10-10 13:19:00 -05:00
Andrew Tridgell
330293ddff r8006: I have seen w2k3 send multiple encoding syntaxes in rpc bind
requests. This is a simple change to accept that, as long as the first
one is NDR.
2007-10-10 13:18:58 -05:00
Andrew Tridgell
3c7b5de672 r7927: fixed an error on partial socket writes in the rpc server 2007-10-10 13:18:51 -05:00
Andrew Tridgell
8546adb56a r7800: added the same request serialisation logic to our socket based rpc
servers as I added to the smb server yesterday. This means rpc server
code can assume it runs serially unless it explicitly sets the async
flag on the request and returns
2007-10-10 13:18:37 -05:00
Andrew Tridgell
1462da3b6d r7755: fixed an uninitialised event_ctx found by abartlet 2007-10-10 13:18:31 -05:00
Jelmer Vernooij
875cce1268 r7313: Prefix a few functions with ncacn_ rather then dcerpc_ because they are
ncacn_ specific
2007-10-10 13:17:41 -05:00
Jelmer Vernooij
2009a430b0 r7312: Add IDL for ncadg packets. 2007-10-10 13:17:40 -05:00
Jelmer Vernooij
13cf227615 r6973: Merge new version of pidl into the main SAMBA_4_0 branch.
The main difference in this new version is the extra data structure generated
between the IDL data structure and the NDR parser:

IDL -> NDR -> { ndr_parser, ndr_header, eparser, etc }

This makes the ndr_parser.pm internals much more sane.

Other changes include:

- Remove unnecessary calls with NDR_BUFFERS (for example, GUID doesn't have any buffers, just scalars) as well as some (unnecessary) nested setting of flags.
- Parse array loops in the C code rather then calling ndr_pull_array(). This allows us to have, for example, arrays of pointers or arrays of pointers to arrays, etc..
- Use if() {} rather then if () goto foo; everywhere
- NDR_IN no longer implies LIBNDR_FLAG_REF_ALLOC
- By default, top level pointers are now "ref" (as is the default in
  most other IDL compilers). This can be overridden using the
  default_pointer_top() property.
- initial work on new ethereal parser generators by Alan DeKok and me
- pidl now writes errors in the standard format used by compilers, which
  is parsable by most editors
- ability to warn about the fact that pidl extension(s) have been used,
  useful for making sure IDL files work with other IDL compilers.

oh, and there's probably some other things I can't think of right now..
2007-10-10 13:17:01 -05:00
Andrew Bartlett
b429712f1e r6714: We can only ask GENSEC questions if we are authenticated.
Andrew Bartlett
2007-10-10 13:16:37 -05:00
Stefan Metzmacher
0a61d1f651 r6705: let the gensec module decide if messages can be signed and sealed in a different
order than a strict request - reply sequence

Note: we should also fix the client code...

metze
2007-10-10 13:16:36 -05:00
Andrew Bartlett
4bec3d3f37 r6526: Rename this RPC fault. Everybody else calls this ACCESS_DENIED, and
it certainly doesn't make sense as LOGON_FAILURE.

Andrew Bartlett
2007-10-10 13:16:22 -05:00
Andrew Bartlett
824289dcc2 r5902: A rather large change...
I wanted to add a simple 'workstation' argument to the DCERPC
authenticated binding calls, but this patch kind of grew from there.

With SCHANNEL, the 'workstation' name (the netbios name of the client)
matters, as this is what ties the session between the NETLOGON ops and
the SCHANNEL bind.  This changes a lot of files, and these will again
be changed when jelmer does the credentials work.

I also correct some schannel IDL to distinguish between workstation
names and account names.  The distinction matters for domain trust
accounts.

Issues in handling this (issues with lifetime of talloc pointers)
caused me to change the 'creds_CredentialsState' and 'struct
dcerpc_binding' pointers to always be talloc()ed pointers.

In the schannel DB, we now store both the domain and computername, and
query on both.  This should ensure we fault correctly when the domain
is specified incorrectly in the SCHANNEL bind.

In the RPC-SCHANNEL test, I finally fixed a bug that vl pointed out,
where the comment claimed we re-used a connection, but in fact we made
a new connection.

This was achived by breaking apart some of the
dcerpc_secondary_connection() logic.

The addition of workstation handling was also propogated to NTLMSSP
and GENSEC, for completeness.

The RPC-SAMSYNC test has been cleaned up a little, using a loop over
usernames/passwords rather than manually expanded tests.  This will be
expanded further (the code in #if 0 in this patch) to use a newly
created user account for testing.

In making this test pass test_rpc.sh, I found a bug in the RPC-ECHO
server, caused by the removal of [ref] and the assoicated pointer from
the IDL.  This has been re-added, until the underlying pidl issues are
solved.
2007-10-10 13:11:07 -05:00