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

46 Commits

Author SHA1 Message Date
Jelmer Vernooij
1b947fe0e6 r26430: require explicit specification of loadparm context. 2007-12-21 05:49:58 +01:00
Jelmer Vernooij
5d589a0d94 r26355: Eliminate global_loadparm in more places. 2007-12-21 05:49:01 +01:00
Jelmer Vernooij
17637e4490 r26353: Remove use of global_loadparm. 2007-12-21 05:48:57 +01:00
Jelmer Vernooij
eeb2251d22 r26327: Explicit loadparm_context for RPC client functions. 2007-12-21 05:48:41 +01:00
Jelmer Vernooij
7c00866423 r26268: Avoid more use of global_loadparm - put lp_ctx in smb_server and wbsrv_connection. 2007-12-21 05:47:47 +01:00
Jelmer Vernooij
3fcc960839 r25398: Parse loadparm context to all lp_*() functions. 2007-10-10 15:07:25 -05:00
Jelmer Vernooij
abe8349f9b r25026: Move param/param.h out of includes.h 2007-10-10 15:05:38 -05:00
Stefan Metzmacher
84651aee81 r24557: rename 'dcerpc_table_' -> 'ndr_table_'
metze
2007-10-10 15:02:15 -05:00
Stefan Metzmacher
184a7cfc36 r24556: forgot to commit the winbind/ subdir...sorry
metze
2007-10-10 15:02:14 -05:00
Andrew Bartlett
078671d501 r24127: Set the Domain SID into the libnet context, and have libnet_UserInfo
return full SIDs for the user SID and primary group sid.

This should help kai with his getpwnam work in winbind.

Andrew Bartlett
2007-10-10 15:01:27 -05:00
Andrew Bartlett
44c193272b r24112: Complete initialistion of the libnet_ctx when setting up the domain.
We need to set the access_mask and the domain name, or else libnet
will try to do this itself.

This seems to fix the issues Kai was having.

Andrew Bartlett
2007-10-10 15:01:27 -05:00
Andrew Bartlett
bad2dc14d7 r23995: Work to allow mimir's libnet code to be called from winbind.
We now setup a libnet_ctx for each domain.  We should then be able to
replace/merge some more of the winbind code with libnet calls,
referencing domain->libnet_ctx.

Andrew Bartlett
2007-10-10 15:01:16 -05:00
Andrew Bartlett
365778a993 r23890: Allow wbinfo -a to work against Samba4's winbind.
Add a test for wbinfo -a to test_member.sh

Reimplement the server-side 'pam_auth' and 'pam_auth_crap' calls to
use the same SamLogon code as auth_winbind uses.

In my previous code, we did not bind to the LSA and SAMR pipes, before
attempting operations.  We now do this (how we passed any tests before
is beyond me).

This required some rework, particularly to make it easier to setup
secondary connections.  The new rpc_secondary_auth_connection()
function also performs the bind.

The dcerpc_connect.c file was getting to big, so things have been
merged into dcerpc_secondary.c.

Andrew Bartlett
2007-10-10 15:01:08 -05:00
Andrew Bartlett
a1b6c9ecb9 r23880: Don't crash when we run wbinfo -a against our own winbind when we are a DC.
Next step is to make it work...

Andrew Bartlett
2007-10-10 15:01:07 -05:00
Andrew Tridgell
fcf38a38ac r23792: convert Samba4 to GPLv3
There are still a few tidyups of old FSF addresses to come (in both s3
and s4). More commits soon.
2007-10-10 14:59:12 -05:00
Andrew Bartlett
6ecb3cb0b3 r23149: Fix up the trusted domain lookup code to use the new structures.
Andrew Bartlett
2007-10-10 14:52:57 -05:00
Andrew Bartlett
218b279a46 r23141: Use the finddcs() library call rather than a winbind-specific version.
(I created finddcs() from the winbind code a while back, so this
finishes that work)

Andrew Bartlett
2007-10-10 14:52:56 -05:00
Andrew Bartlett
86654056b2 r23133: I felt pity on Kai, as he starts work on winbind in Samba4, so I
decided to clean it up a little.

We now use SPNEGO for authentication if possible, and common routines
shared with the rest of the librpc codebase.  Rather than make a
connection to IPC$, then connect the pipes to it, we instead have the
lsa and samr pipes as 'secondary connections'.

Andrew Bartlett
2007-10-10 14:52:53 -05:00
Stefan Metzmacher
58551f2f28 r22944: fix bug #4618:
rename private -> private_data

metze
2007-10-10 14:52:30 -05:00
Andrew Bartlett
bd26e4ffaf r22582: Cleanups towards making winbind work again. We still have a long way to go, as this has bitrotted over the past months.
This change in particular catches winbind up with the next
composite_create() function.

We also needed to remove an unused flags field, and fill in the lm
response.

Andrew Bartlett
2007-10-10 14:51:47 -05:00
Andrew Tridgell
d8875c286d r21535: - fixed a crash in the RAW-ACLS test. When a dcerpc_pipe is created
using the pattern in the clilsa code, it didn't fill in the p->binding
structure. This affects nearly all users of dcerpc_pipe_open_smb(), so
the simplest fix is to ensure that dcerpc_pipe_open_smb() initialises
the binding if its not already there.

- re-enable the RAW-ACLS test
2007-10-10 14:48:54 -05:00
Andrew Tridgell
c440e0eed9 r18309: FreeBSD 6.1 has a symbol ldap_new_connection() in the system ldap
library. Even though we don't like to that library, it gets loaded via
nss-ldap, which means nss-ldap calls into the samba ldap lib with the
wrong parameters, and crashes.

We really need to use a completely different namespace in libcli/ldap/
2007-10-10 14:18:06 -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
Jelmer Vernooij
c19c2b51d3 r15328: Move some functions around, remove dependencies.
Remove some autogenerated headers (which had prototypes now autogenerated by pidl)
Remove ndr_security.h from a few places - it's no longer necessary
2007-10-10 14:05:17 -05:00
Stefan Metzmacher
9ec706238c r14860: create libcli/security/security.h
metze
2007-10-10 13:59:44 -05:00
Jelmer Vernooij
f7312dab3b r14470: Remove some unnecessary headers. 2007-10-10 13:57:29 -05:00
Jelmer Vernooij
3dd477ca51 r14464: Don't include ndr_BASENAME.h files unless strictly required, instead
try to include just the BASENAME.h files (containing only structs)
2007-10-10 13:57:27 -05:00
Jelmer Vernooij
7054ebf024 r14402: Generate seperate headers for RPC client functions. 2007-10-10 13:57:19 -05:00
Jelmer Vernooij
98c4c30513 r14363: Remove credentials.h from the global includes. 2007-10-10 13:57:14 -05:00
Stefan Metzmacher
180a79d103 r14205: move smb specific stuff out of includes.h (finally!!!:-)
all this changes really help ccache to speed up the samba4 build:-)

metze
2007-10-10 13:57:03 -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
Andrew Bartlett
d65b354959 r12865: Upgrade the librpc and libnet code.
In librpc, always try SMB level authentication, even if trying
schannel, but allow fallback to anonymous.  This should better
function with servers that set restrict anonymous.

There are too many parts of Samba that get, parse and modify the
binding parameters.  Avoid the extra work, and add a binding element
to the struct dcerpc_pipe

The libnet vampire code has been refactored, to reduce extra layers
and to better conform with the standard argument pattern.  Also, take
advantage of the new libnet_Lookup code, so we don't require the silly
'password server' smb.conf parameter.

To better support forcing traffic to be sealed for the vampire
operation, the dcerpc_bind_auth() function now takes an auth level
parameter.

Andrew Bartlett
2007-10-10 13:50:55 -05:00
Jelmer Vernooij
70e7449318 r12608: Remove some unused #include lines. 2007-10-10 13:49:03 -05:00
Jelmer Vernooij
8aae0f168e r12510: Change the DCE/RPC interfaces to take a pointer to a
dcerpc_interface_table struct rather then a tuple of interface
name, UUID and version.

This removes the requirement for having a global list of DCE/RPC interfaces,
except for these parts of the code that use that list explicitly
(ndrdump and the scanner torture test).

This should also allow us to remove the hack that put the authservice parameter
in the dcerpc_binding struct as it can now be read directly from
dcerpc_interface_table.

I will now modify some of these functions to take a dcerpc_syntax_id
structure rather then a full dcerpc_interface_table.
2007-10-10 13:47:48 -05:00
Volker Lendecke
fb9a3c7ef3 r11812: Convert winbind to the async bind routines. Also remove tridge's hack for the
winbind "bug" :-)

Volker
2007-10-10 13:46:32 -05:00
Volker Lendecke
2ff2dae3d0 r11809: Make dcerpc_bind_auth async.
This also removes dcerpc_bind_auth_password, the only user of
dcerpc_bind_auth. And this was not only passwords anyway.

Andrew Bartlett, as usual: Please take a close look.

Thanks,

Volker
2007-10-10 13:46:31 -05:00
Volker Lendecke
d14948fdf6 r11528: Separate finding dcs from initializing a domain. Makes it easier to possibly
support cldap and other stuff in the future.

This temporarily disables wbinfo -t, but that will come back soon.

Try an ldap bind using gss-spnego. This got me krb5 binds against "our" w2k3
and a trusted w2k, although with some memleaks from krb5 and a BAD_OPTION
tgs-rep error.

Volker
2007-10-10 13:45:49 -05:00
Volker Lendecke
848522d1b6 r11517: Cleanup time, this looks larger than it is. This mainly gets rid of
wb_domain_request, now that we have queued rpc requests.

Volker
2007-10-10 13:45:47 -05:00
Volker Lendecke
bcc71fc1de r11274: Start a connection attempt to the DC's port 389. To do this properly, make
socket_connect and ldap_connect properly async.

Volker
2007-10-10 13:45:12 -05:00
Volker Lendecke
3821a17bdb r11181: Implement wbinfo -s and wbinfo --user-sids. The patch is so large because
--user-sids required the extension to trusted domains.

Implement "winbind sealed pipes" parameter for debugging purposes.

Volker
2007-10-10 13:44:57 -05:00
Volker Lendecke
a14398715e r11094: Connect to SAM, implement getdcname 2007-10-10 13:44:48 -05:00
Volker Lendecke
66c1b674f9 r11093: Implement wb_queue_domain_send: If the domain is not yet initialized, do that
first. And if a request is being processed, queue it. This correctly survived
3 endless loops with wbinfo's doing different things while starting up smbd.

The number of indirections starts to become a bit scary, but what can you do
without a decent programming language that provides closures :-)

One thing that we might consider is to auto-generate async rpc requests that
return composite_context structs instead of rpc_requests. Otherwise I'd have
to write a lot of wrappers like composite_netr_LogonSamLogon_send.

The alternative would be to write two versions of wb_queue_domain_send which I
would like to avoid. This is cluttered enough already.

Volker
2007-10-10 13:44:48 -05:00
Volker Lendecke
deb127e04e r10878: Reply to some comments by tridge and metze:
* rename the composite helper functions from comp_* to composite_*

* Move the lsa initialization to wb_connect_lsa.c

* Equip smb_composite_connect with a fallback_to_anonymous

The latter two simplify wb_init_domain.c quite a bit.

Volker
2007-10-10 13:39:39 -05:00
Volker Lendecke
66c90483b4 r10859: Make the flow a bit clearer 2007-10-10 13:39:37 -05:00
Volker Lendecke
512ae49270 r10853: Convert wbinfo -n to properly init the domain.
Volker
2007-10-10 13:39:36 -05:00
Volker Lendecke
3e69fdc07c r10852: Continuation-based programming can become a bit spaghetti...
Initialize a domain structure properly. Excerpt from wb_init_domain.c:

/*
 * Initialize a domain:
 *
 * - With schannel credentials, try to open the SMB connection with the machine
 *   creds. Fall back to anonymous.
 *
 * - If we have schannel creds, do the auth2 and open the schannel'ed netlogon
 *   pipe.
 *
 * - Open LSA. If we have machine creds, try to open with ntlmssp. Fall back
 *   to schannel and then to anon bind.
 *
 * - With queryinfopolicy, verify that we're talking to the right domain
 *
 * A bit complex, but with all the combinations I think it's the best we can
 * get. NT4, W2k3SP1 and W2k all have different combinations, but in the end we
 * have a signed&sealed lsa connection on all of them.
 *
 * Is this overkill? In particular the authenticated SMB connection seems a
 * bit overkill, given that we do schannel for netlogon and ntlmssp for
 * lsa later on w2k3, the others don't do this anyway.
 */

Thanks to Jeremy for his detective work, and to the Samba4 team for providing
such a great infrastructure.

Next step is to connect to SAM. Do it via LDAP if we can, fall back to samr
with all we have.

Volker
2007-10-10 13:39:36 -05:00