1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-05 20:58:40 +03:00

228 Commits

Author SHA1 Message Date
Günther Deschner
9519d95c4a Use rpccli_netr_LogonSamLogonEx in rpccli wrapping function.
Guenther
(This used to be commit 51a664cd5fc1cecc21a8a515bb959cac87296bcb)
2008-02-17 02:37:12 +01:00
Günther Deschner
9f8f9c1483 Finally let our samlogon routines call rpccli_netr_LogonSamLogon internally and
return netr_SamInfo3.

Guenther
(This used to be commit 9e5b732d451f6a2f09d2a71e5a3aec59c771db01)
2008-02-17 02:12:01 +01:00
Günther Deschner
697f8904e7 Remove unused marshalling for NET_SRV_PWSET.
Guenther
(This used to be commit e48737f04d2324b604f3290904ec6163a6242ae5)
2008-02-16 16:06:55 +01:00
Günther Deschner
26106d2e39 Remove unused marshalling for NET_REQ_CHAL and NET_AUTH2.
Guenther
(This used to be commit 2123aff75c8db431cb37d132058902287e740a85)
2008-02-16 00:05:45 +01:00
Günther Deschner
3f24ef1848 Replace DOM_CHAL with "struct netr_Credential" where we can right now.
This allows to remove some more old netlogon client calls.

Guenther
(This used to be commit c0b1a876583230a5130f5df1965d6c742961bcdc)
2008-02-15 23:57:54 +01:00
Günther Deschner
34df32446d Remove unused marshalling for NET_SAM_SYNC.
Guenther
(This used to be commit a94d93725a649c7a0ac1fcd61ea07579f65596da)
2008-02-15 14:24:31 +01:00
Günther Deschner
99f1806af9 Remove unused marshalling for NET_SAM_DELTAS.
Guenther
(This used to be commit 2dd01f07411744f1f8fec0bff7af554db08ab960)
2008-02-15 14:06:50 +01:00
Günther Deschner
d134bd3c27 Remove unused marshalling for NET_LOGON_CTRL and NET_LOGON_CTRL2.
Guenther
(This used to be commit c94538e742e469e4afc6e30d9d99951fda6dd219)
2008-02-13 23:12:42 +01:00
Günther Deschner
5da927716a Remove unused marshalling for NET_DSR_GETDCNAME.
Guenther
(This used to be commit 65c2aa344e45064cbfddd87715862d60f7ac2a8a)
2008-02-08 23:38:13 +01:00
Günther Deschner
44f1485f0b Remove unused marshalling for NET_DSR_GESITENAME.
Guenther
(This used to be commit c2682273fdbe35dce0a9caffb829c8693e3cd845)
2008-02-07 10:42:59 +01:00
Günther Deschner
f79051fe19 Remove unused marshalling for NET_GETANYDCNAME and NET_GETANYDCNAME.
Guenther
(This used to be commit a495e0e7c1eb91dd700a7d0fe9832fd0811cb2bb)
2008-02-07 10:31:09 +01:00
Günther Deschner
a6ce6c5649 Remove hand-written rpccli_netlogon_dsr_getdcnameex[2].
Guenther
(This used to be commit 3ded8b9b7eee18a3f903e264adfb7fea6a3c0c5f)
2008-01-25 21:43:55 +01:00
Volker Lendecke
533d6f617e Remove static zeros
(This used to be commit dbcc213710a9af31b6094d4741a6f68f573dcdad)
2007-12-28 17:02:34 +01:00
Günther Deschner
8ded1df767 Kill fstring in getdcname & getanydcname return.
Guenther
(This used to be commit b7383818168863a7ba43c2456f8c44e96e76707a)
2007-12-21 15:12:40 +01:00
Andrew Tridgell
5e54558c6d r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
2007-10-10 12:28:22 -05:00
Jeremy Allison
d824b98f80 r23779: Change from v2 or later to v3 or later.
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
2007-10-10 12:28:20 -05:00
Günther Deschner
1ea5dfae04 r23380: netr_getdcname returns WERROR not NTSTATUS.
Guenther
(This used to be commit 5e75ea7f2b568d76c8ced5f43171741532cc97c2)
2007-10-10 12:23:12 -05:00
Volker Lendecke
d807dec0f4 r23219: Two warnings
(This used to be commit eccd50abdaed3e4e06cc5da5473ca1beeb3fc49a)
2007-10-10 12:22:54 -05:00
Günther Deschner
d8e454664a r23210: Very funny, we thought to use netr_GetDcName (e.g. in winbind) but were using
netr_GetDcAnyName all the time (which is the correct thing to do).

Fix the naming and opcode mixup in all branches.

Guenther
(This used to be commit def6464c872a5939f0028837254f2c019d2d71c8)
2007-10-10 12:22:54 -05:00
Günther Deschner
94e4a468f0 r23127: Fill in some more netlogon dsgetdcname flavours (netr_DsRGetDCNameEx,
netr_DsRGetDCNameEx2) and add new ds request and reply flags, also add some
more WERROR codes.

Guenther
(This used to be commit 37ae7f419702c563bcd0d9c27c02bde7efd34dd7)
2007-10-10 12:22:48 -05:00
Volker Lendecke
2945490a0f r23091: Add rpccli_netlogon_sam_network_logon_ex, fix its parsing. This does not
use the credential chain and only works over netlogon, but it would
allow multiple outstanding auth requests for a single workstation
account.
(This used to be commit 123290d0947191abca4a3b3d81718c823c1bc4a0)
2007-10-10 12:22:44 -05:00
Günther Deschner
aeb834036d r20970: Allow to define workstation for samlogon in rpcclient (for testing).
Guenther
(This used to be commit 5d4747fdf2e5874cb5d2238ee62e4fcac1676134)
2007-10-10 12:17:22 -05:00
Günther Deschner
7b84b133fe r19161: Add NET_GETANYDCNAME (getdcname only gives the PDC while getanydcname
gives just any DC), also make sure to set timeouts in rpcclient
accordingly so that we actually get the DC's reply.

Guenther
(This used to be commit 6091c8152a3998d2503cb0911a217ee904509633)
2007-10-10 12:15:18 -05:00
Günther Deschner
adc299bd08 r19143: getdcname on the NETLOGON pipe returns WERROR, not NTSTATUS.
Guenther
(This used to be commit 44e228ac796fca2db8509915067511ed705032bf)
2007-10-10 12:15:16 -05:00
Jelmer Vernooij
4e7d11449a r18654: Rename "struct uuid" => "struct GUID" for consistency.
(This used to be commit 5de76767e857e9d159ea46e2ded612ccd6d6bf19)
2007-10-10 11:52:19 -05:00
Jelmer Vernooij
995205fc60 r18188: merge 3.0-libndr branch
(This used to be commit 1115745caed3093c25d6be01ffee21819fb0a675)
2007-10-10 11:43:56 -05:00
Günther Deschner
fd5ecef41c r13639: Never overwrite the acct_flags in rpccli_netlogon_sam_network_logon().
Guenther
(This used to be commit c201e51de387d3d49880ed519eb9d825df92f5af)
2007-10-10 11:10:20 -05:00
Jeremy Allison
39a572e010 r13539: Add 128 bit creds processing client and server. Thanks to Andrew Bartlett's
Samba4 code.
Jeremy.
(This used to be commit a2fb436fc5dd536cfe860be93f55f9cb58139a0e)
2007-10-10 11:10:11 -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
Günther Deschner
54b1c585bb r12853: Fix segfault in "net rpc vampire|samdump" (Bugzilla ).
The session key, after beeing set, was zeroed later on by the prs_init
in the CLI_DO_RPC macro.

Guenther
(This used to be commit eaaeaa767e86151886964dcdd9f3186f0b31ed53)
2007-10-10 11:06:04 -05:00
Günther Deschner
63addcb4d7 r11853: Add Dsr_GetSiteName (handy for experimenting with GPOs).
Guenther
(This used to be commit c54430a7b5e40d3bdf8afdc813eb722c0a3b861e)
2007-10-10 11:05:30 -05:00
Volker Lendecke
32cf16f3cf r11706: Implement dsr_getdcname client code. It's handy: It not only gives you the IP
address but also the fqdn of the remote dc and site info.

Volker
(This used to be commit 62d01ce7e6c14971084c208ab61f379cb172cb22)
2007-10-10 11:05:24 -05:00
Jeremy Allison
fcceedd67c r11573: Adding Andrew Bartlett's patch to make machine account
logons work if the client gives the MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT
or MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT flags. This changes
the auth module interface to 2 (from 1). The effect of this is
that clients can access resources as a machine account if they
set these flags. This is the same as Windows (think of a VPN
where the vpn client authenticates itself to a VPN server
using machine account credentials - the vpn server checks
that the machine password was valid by performing a machine
account check with the PDC in the same was as it would a
user account check. I may add in a restriction (parameter)
to allow this behaviour to be turned off (as it was previously).
That may be on by default.
Andrew Bartlett please review this change carefully.
Jeremy.
(This used to be commit d1caef866326346fb191f8129d13d98379f18cd8)
2007-10-10 11:05:20 -05:00
Jeremy Allison
5678e4abb0 r11492: Fix bug (I hope). Correctly use machine_account_name
and client_name when doing netlogon credential setup.
Jeremy.
(This used to be commit 37e6ef9389041f58eada167239fd022f01c5fecb)
2007-10-10 11:05:18 -05:00
Jeremy Allison
7aecd20c00 r11338: Move knowledge of \\ needed into rpc_client/cli_netlogon
(this is the way it's been done in other functions). Instead
of moving this into the IDL, I think the best solution would
be to write a wrapper function around any call that needs
this (this is what we already do for many of the calls).
Jeremy.
(This used to be commit aeca4efa11728be53b81967bb5442b5b09d1a975)
2007-10-10 11:05:13 -05:00
Jeremy Allison
ca551d55a8 r11336: Start to get my control back :-). Volker, I think
Andrew Bartlett is right - making lsa code do it the
netlogon way, not vica-versa.
Jeremy.
(This used to be commit f313757e36215cb3dd956e4a73de6d30258a6974)
2007-10-10 11:05:13 -05:00
Volker Lendecke
3321531e74 r11320: Fix error handling for rpccli_netlogon_getdcname. Jeremy, the other functions
in cli_netlogon look similarly suspicious.

Volker
(This used to be commit 8d7713431efd80bd358daffcbbc4d715611b8b4b)
2007-10-10 11:05:11 -05:00
Jeremy Allison
8d7c886671 r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4
x86_64 box.
Jeremy.
(This used to be commit d720867a788c735e56d53d63265255830ec21208)
2007-10-10 11:05:02 -05:00
Gerald Carter
54abd2aa66 r10656: BIG merge from trunk. Features not copied over
* \PIPE\unixinfo
* winbindd's {group,alias}membership new functions
* winbindd's lookupsids() functionality
* swat (trunk changes to be reverted as per discussion with Deryck)
(This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
2007-10-10 11:04:48 -05:00
Jeremy Allison
c2e5ce1501 r10269: Server-side fix for creds change - revert jcmd's change.
Jeremy.
(This used to be commit e1c9813d63a441037bc71622a29acda099d72f71)
2007-10-10 11:03:40 -05:00
Gerald Carter
fed660877c r7415: * big change -- volker's new async winbindd from trunk
(This used to be commit a0ac9a8ffd4af31a0ebc423b4acbb2f043d865b8)
2007-10-10 10:57:08 -05:00
Volker Lendecke
f4ec52a097 r4561: This looks a lot larger than it is, this is to reduce the clutter on future
patches.

Pass down the pipe_idx down to all functions in cli_pipe where nt_pipe_fnum is
referenced. First step towards having multiple pipes on a cli_struct. The idea
is to not have a single nt_pipe_fnum but an array for the pipes we support.

Volker
(This used to be commit 93eab050201d4e55096a8820226749f001597b5d)
2007-10-10 10:53:47 -05:00
Günther Deschner
992ad28485 r4286: Give back 8 byte lm_session_key in Netrsamlogon-reply.
The old #ifdef JRATEST-block was copying 16 bytes and thus overwriting
acct_flags with bizarre values, breaking a lot of things.

This patch is successfully running in a production environment for quite
some time now and is required to finally allow Exchange 5.5 to access
another Exchange Server when both are running on NT4 in a
samba-controlled domain. This also allows Exchange Replication to take
place, Exchange Administrator to access other Servers in the network,
etc. Fixes Bugzilla .

Thanks abartlet for helping me with that one.

Guenther
(This used to be commit bd4c5125d6989cebc90152a23e113b345806c660)
2007-10-10 10:53:41 -05:00
Andrew Bartlett
9d0783bf21 r1492: Rework our random number generation system.
On systems with /dev/urandom, this avoids a change to secrets.tdb for every fork().

For other systems, we now only re-seed after a fork, and on startup.
No need to do it per-operation.  This removes the 'need_reseed'
parameter from generate_random_buffer().

Andrew Bartlett
(This used to be commit 36741d3cf53a7bd17d361251f2bb50851cdb035f)
2007-10-10 10:52:13 -05:00
Gerald Carter
9dbf2e2419 r991: Allow winbindd to use the domain trust account password
for setting up an schannel connection.  This solves the problem
of a Samba DC running winbind, trusting a native mode AD domain,
and needing to enumerate AD users via wbinfo -u.
(This used to be commit e9f109d1b38e0b0adec9b7e9a907f90a79d297ea)
2007-10-10 10:51:53 -05:00
Volker Lendecke
044c6f513d Implement NETLOGON GetDCName client side. You can ask a DC for the name of
a DC it trusts.

Volker
(This used to be commit ae6840320ff47827c2817549fe3133a57e3fe77f)
2004-04-02 12:56:18 +00:00
Andrew Bartlett
fcbfc7ad06 Changes all over the shop, but all towards:
- NTLM2 support in the server
 - KEY_EXCH support in the server
 - variable length session keys.

In detail:

 - NTLM2 is an extension of NTLMv1, that is compatible with existing
domain controllers (unlike NTLMv2, which requires a DC upgrade).

 * This is known as 'NTLMv2 session security' *

(This is not yet implemented on the RPC pipes however, so there may
well still be issues for PDC setups, particuarly around password
changes.  We do not fully understand the sign/seal implications of
NTLM2 on RPC pipes.)

This requires modifications to our authentication subsystem, as we
must handle the 'challege' input into the challenge-response algorithm
being changed.  This also needs to be turned off for
'security=server', which does not support this.

- KEY_EXCH is another 'security' mechanism, whereby the session key
actually used by the server is sent by the client, rather than being
the shared-secret directly or indirectly.

- As both these methods change the session key, the auth subsystem
needed to be changed, to 'override' session keys provided by the
backend.

- There has also been a major overhaul of the NTLMSSP subsystem, to merge the 'client' and 'server' functions, so they both operate on a single structure.  This should help the SPNEGO implementation.

- The 'names blob' in NTLMSSP is always in unicode - never in ascii.
Don't make an ascii version ever.

- The other big change is to allow variable length session keys.  We
have always assumed that session keys are 16 bytes long - and padded
to this length if shorter.  However, Kerberos session keys are 8 bytes
long, when the krb5 login uses DES.

 * This fix allows SMB signging on machines not yet running MIT KRB5 1.3.1. *

- Add better DEBUG() messages to ntlm_auth, warning administrators of
misconfigurations that prevent access to the privileged pipe.  This
should help reduce some of the 'it just doesn't work' issues.

- Fix data_blob_talloc() to behave the same way data_blob() does when
passed a NULL data pointer.  (just allocate)


REMEMBER to make clean after this commit - I have changed plenty of data structures...
(This used to be commit f3bbc87b0dac63426cda6fac7a295d3aad810ecc)
2003-11-22 13:19:38 +00:00
Andrew Bartlett
f0cd6b35e5 - Fix the kerberos downgrade problem:
- When connecting to the NETOGON pipe, we make a call to auth2, in order
   to verify our identity.  This call was being made with negotiation flags
   of 0x1ff.  This caused our account to be downgraded.  If we instead make
   the call with flags > 1ff (such as 0x701ff), then this does not occour.

 - This is *not* related to the use of kerberos for the CIFS-level connection

My theory is that Win2k has a test to see if we are sending *exactly* what
NT4 sent - setting any other flags seems to cause us to remain intact.

Also ensure that we only have 'setup schannel' code in a few places, not
scattered around cmd_netlogon too.

Andrew Bartlett
(This used to be commit e10f0529fe9d8d245b3cd001cce6a9a86896679c)
2003-08-19 20:39:32 +00:00
Herb Lewis
aa39cc37da get rid of more compiler warnings
(This used to be commit 398bd14fc6e2f8ab2f34211270e179b8928a6669)
2003-08-15 04:42:05 +00:00
Tim Potter
3f3e2a8f49 Fix out of date comment.
(This used to be commit 2e5bd1665430768b06da99beba5ac11a59c9bf07)
2003-07-23 07:14:33 +00:00