1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-25 06:04:04 +03:00

145 Commits

Author SHA1 Message Date
Tim Potter
77c5719864 r1208: Return some dummy printer information for the EnumPrinters RPC.
rpcclient enumprinters prints this information OK.

Some minor cut&paste cleanups.
(This used to be commit 1c749a3a348a2df477808d4fcc5377832bffa5e9)
2007-10-10 12:56:45 -05:00
Tim Potter
766d7dd202 r1205: Whoops - this should fix the build.
(This used to be commit e21f324937df2fe70b693112bd0b6fe6575d70ed)
2007-10-10 12:56:45 -05:00
Tim Potter
62aabf5630 r1204: decrpc -> dcerpc
(This used to be commit a5e3a26fc9a7e2c616302ed3b4a021f5755a4a13)
2007-10-10 12:56:45 -05:00
Tim Potter
f1eef54ba8 r1201: Skeleton versions of OpenPrinterEx() and ClosePrinter() to get the hang
of things.
(This used to be commit 3e79a6219eca3b96fe04d66b6cdfb11400c1771d)
2007-10-10 12:56:44 -05:00
Tim Potter
4e4c3d4bea r1188: Use generated pidl template for this file and return DCESRV_FAULT instead
of a bogus WERROR.
(This used to be commit 261531ce0a7f33eda5358319312877dc85386edb)
2007-10-10 12:56:44 -05:00
Tim Potter
84a52084c2 r1185: Hey look an endpoint for the spoolss pipe!
Doesn't do much at the moment except compile.
(This used to be commit ed9c4d7d70041879fa5005222f6cf84af558abef)
2007-10-10 12:56:43 -05:00
Andrew Tridgell
2130a1bbe7 r1168: fixed a little-endian/big-endian mixup in the rpc server code
(This used to be commit 9b397356ae1daa7bc1984e196020ea62725f542c)
2007-10-10 12:56:43 -05:00
Andrew Tridgell
b00103dac1 r1165: fixed handling of SMBtrans replies that should return STATUS_BUFFER_OVERFLOW when more data is present.
(This used to be commit 0e557fe85748558affd20a58455c4b75fee69e27)
2007-10-10 12:56:42 -05:00
Andrew Tridgell
5b044b30ca r1150: - fixed interactive sam logon in the rpc server
- added a torture test for interactive login in smbtorture

These changes allow winxp to perform an interactive login (a login on
the winxp console) against a Samba4 DC. Our netlogon server code is
still filling in many of the fields incorrectly, but it fills in
enough that winxp can login.
(This used to be commit db9ea488b047b5f0f7538fd75fb7dde8277eb06b)
2007-10-10 12:56:41 -05:00
Andrew Tridgell
ef34f4de25 r1145: added server support for logon level 5 in sam logon
(This used to be commit cb3d3b5e51dc9d52854c922b0c50686284ac8f1b)
2007-10-10 12:56:40 -05:00
Andrew Tridgell
7ae1735798 r1141: - consolidated the netr_SamInfo structures using a netr_SamBaseInfo
structure (andrew, this is the type of structure consolidation I think
  you were asking about. It's possible here in NDR as it isn't in the
  top level fn code)

- added validation level 6 in sam logon

With these changes I can successfully authentication smbclient to a
winxp server, with the winxp server using a Samba4 ADS DC for account
auth
(This used to be commit 705205083a6e2430c420f44436a1d1ff8826bc73)
2007-10-10 12:56:40 -05:00
Andrew Tridgell
a384d2f1a1 r1139: added IDL and server code for netr_LogonSamLogonWithFlags()
(This used to be commit 4eac7340d8d7a109bed8fe7bb7cf663d6e7f0a56)
2007-10-10 12:56:40 -05:00
Andrew Tridgell
bccac81d87 r1136: - added IDL for netr_LogonGetDomainInfo()
- added workstation to auth_session_info in rpc servers

- added session key fetch hook in crypto backends in dcesrv

- store and fetch seed as well as a session key in schannel ldb

- when a client uses schannel to setup a netlogon pipe connection we
  also need to setup the credentials from the schannel negotiation so
  credentials chaining works

- added server side netr_LogonGetDomainInfo() call
(This used to be commit a35459387de3b6a422c5af6f658338fc7e4314b0)
2007-10-10 12:56:39 -05:00
Andrew Bartlett
f3826432fb r1080: Make sure to initialise all the returned elements in the SamLogon
reply also initialise the LM session key, when we have it (was failing
because the auth code was setting it's length wrong).

Andrew Bartlett
(This used to be commit de97d9df224f769953e850a276515923a830839c)
2007-10-10 12:56:37 -05:00
Stefan Metzmacher
b717b40235 r1078: the dxesrv_crypto_* implementations should now explicit set
the dce_conn->auth_state.session_info
( the ntlmssp one works fine, but the schannel one isn't implemented yet)

this is also set by the ntvfs_ipc backend on the endpoint connect.

metze
(This used to be commit ad3dd1789e9f124493519cb4731d9f5a563fd051)
2007-10-10 12:56:37 -05:00
Stefan Metzmacher
f75210ff9f r1066: fix compiler warning
metze
(This used to be commit 6f8b51e290d44a7c4e039dc6e93c7911a0316009)
2007-10-10 12:56:36 -05:00
Andrew Bartlett
46c88d561f r1061: The start of the SamLogon call for the NETLOGON pipe.
Changes:

- Check for a valid 'pipe_state' in netr_ServerAuthenticate3 before
  we dereference it

- removes the expansionroom[7] in the netr_SamInfo* structs to 7
individual elements.
- renames netr_SamInfo -> netr_SamInfo2
          netr_SamInfo2 -> netr_SamInfo3
  - Having the thing we always called an 'info3' being 'netr_SamInfo2'
    was just too confusing.

- Expand and fill in extra details about users from the SAM, into
  the server_info, for processing into the SamLogon reply.

- Add a dum_sid_dup() function to duplicate a struct dom_sid

The SamLogon code currently does not return supplementary groups, and is
only tested with Samba4 smbtorture.

Andrew Bartlett
(This used to be commit 6c92563b7961f15fc74b02601e105d5e1d04f04d)
2007-10-10 12:56:35 -05:00
Andrew Tridgell
bd40d94a05 r1060: check for an invalid session key in samr_set_password()
(This used to be commit 5a90187c2cb7521cb7931355e5cf2f11d55a4ad0)
2007-10-10 12:56:35 -05:00
Stefan Metzmacher
6d5a47aa9b r1059: add dcesrv_crypto_schannel_session_info() dummy function.
every backend must implement all functions!

metze
(This used to be commit d62c0661f9234418478873dfc9ba244bdf5c36c0)
2007-10-10 12:56:35 -05:00
Andrew Bartlett
bcac502d44 r1058: The start of work on the SamLogon call for NETLOGON.
This starts to store information about the user in the server_info
struct - like the account name, the full name etc.

Also, continue to make the names of the structure elements in the
logon reply more consistant with those in the SAMR pipe.

Andrew Bartlett
(This used to be commit 3ccd96bd945e0fd95e42c69ad8ff07055af2e62b)
2007-10-10 12:56:35 -05:00
Andrew Tridgell
f5108651ee r1057: added rpc packet logging for packets that generate rpc faults. This
makes it much easier to develop the IDL for new requests, especially
for sealed pipes, where ethereal cannot easily extract the data.
(This used to be commit 0cde043592d2d2439cf0cd8bf113545e78be5dfd)
2007-10-10 12:56:35 -05:00
Andrew Tridgell
0cb60c618a r1056: fixed a comment on handling of the initial challenge in the ntlmssp rpc server backend
(This used to be commit 536aa86aa92e3cf9fb99d5939cdceff637c72668)
2007-10-10 12:56:35 -05:00
Andrew Tridgell
42eadaf3d9 r1048: - moved the schannel definitions into a separate schannel.idl
- added server side support for schannel type 23. This allows WinXP to establish a schannel connection
  to Samba4 as an ADS DC

- added client side support for schannel type 23, but disabled it as currently the client
  code has now way of getting the fully qualified domain name (which is needed)

- report dcerpc faults in the server code in the log
(This used to be commit 55e0b014fe14ca8811b55887208a1c3147ddb0d2)
2007-10-10 12:56:34 -05:00
Andrew Tridgell
ae444c03ea r1046: initialise a structure element caught by valgrind
(This used to be commit 4daab1eaec633d97974d7d02f5c1a9e908392a7a)
2007-10-10 12:56:34 -05:00
Andrew Tridgell
5341ad20e1 r1030: added server side schannel support
(This used to be commit 2ac79dfba0e64056a680f21d7dd0c007f79d4a70)
2007-10-10 12:56:30 -05:00
Andrew Tridgell
4c6f04d83f r1029: cope wiith samdb_result_passwords() returning a null machine password
(This used to be commit ee6c17f3735381568d38e6c2df80bec687d00fbb)
2007-10-10 12:56:30 -05:00
Andrew Bartlett
c455b0a935 r1028: More consistancy fixes, which should also fix the build.
Andrew Bartlett
(This used to be commit 0d2ae66d3a82134d86084f63c05214e03dfcb48b)
2007-10-10 12:56:30 -05:00
Tim Potter
21aaa719b5 r1026: Spelling.
(This used to be commit b7fe73613acf5423b77fd91c56849351bf386960)
2007-10-10 12:56:30 -05:00
Andrew Bartlett
5b04ca8080 r1025: Rename (across the samr and netlogon pipes, so far)
pwd -> password
passwd -> password

username -> account_name

Also work on consistant structure feild names between these two pipes,
and fix up some callers to use samr_Password for the netlogon
credential code.

Andrew Bartlett
(This used to be commit 4e35418c2776f7b79be5b358ffd077754685d1ac)
2007-10-10 12:56:30 -05:00
Stefan Metzmacher
a851ab6fdb r1022: add the session_info() call to the dcerpc server auth backends
metze
(This used to be commit d1ab26b907f1eb2be31fe6946ffa5b8255fc6ac9)
2007-10-10 12:56:28 -05:00
Andrew Tridgell
1a993b800e r1016: - store the schannel session key after it is established
- move to a centralised way of handling talloc/ldb interaction
(This used to be commit 2b9b752875ba5e03e82f40e31f26bc1f245b3825)
2007-10-10 12:56:27 -05:00
Andrew Tridgell
cd35e12c7f r1015: commit the schannel session key handling code now, so abartlet and
metze can have a look. Not tested yet, as I'm still writing the server
side schannel code.
(This used to be commit 768cc0193a1267274f297c47a36bef4acd391e83)
2007-10-10 12:56:27 -05:00
Stefan Metzmacher
0413849c3b r1013: WE NEED ALWAYS TO INIT THE OUTPUT VARS!
in rpc server code!

add missing ZERO_STRUCT(r->out.info);
in samr_GetDomPwInfo

metze
(This used to be commit e21f8a343022424097ff53cd8d5e16ac46fff772)
2007-10-10 12:56:26 -05:00
Stefan Metzmacher
2d6207add7 r1010: make the dcesrv_crypto code a bit more generic...
fix type 'cyrpto' -> 'crypto'

metze
(This used to be commit 90f4777dfcb141b646063128c82f4c03bd176413)
2007-10-10 12:56:26 -05:00
Andrew Bartlett
9eb6afb00d r1009: Make all users of NT and LM passwords use the samr_Password structure.
This includes the netlogon pipe, for the machine account password
change system.

Andrew Bartlett
(This used to be commit 49d545a82057ee8b60d50aa55e908efe59875150)
2007-10-10 12:56:26 -05:00
Stefan Metzmacher
5165fec02e r1004: continue tridge's work on dcerpc server auth/crypto code
I made it much more generic, and we should be able to add a
module interface to this code, so that other DCERPC_AUTH types can be added
via modules...

metze
(This used to be commit d09abeb686c43c62322205689273d1b417113004)
2007-10-10 12:56:25 -05:00
Stefan Metzmacher
8f84a98e29 r1001: in samba4 we don't(shouldn't) use typedef's anymore...
metze
(This used to be commit ac5f6f7e511a730448012c8a709887827aea2281)
2007-10-10 12:56:25 -05:00
Andrew Tridgell
8087d844ef r995: - renamed many of our crypto routines to use the industry standard
names rather than our crazy naming scheme. So DES is now called
  des_crypt() rather than smbhash()

- added the code from the solution of the ADS crypto challenge that
  allows Samba to correctly handle a 128 bit session key in all of the
  netr_ServerAuthenticateX() varients. A huge thanks to Luke Howard
  from PADL for solving this one!

- restructured the server side rpc authentication to allow for other
  than NTLMSSP sign and seal. This commit just adds the structure, the
  next commit will add schannel server side support.

- added 128 bit session key support to our client side code, and
  testing against w2k3 with smbtorture. Works well.
(This used to be commit 729b2f41c924a0b435d44a14209e6dacc2304cee)
2007-10-10 12:56:25 -05:00
Andrew Tridgell
6611f01050 r951: from w2k3 behaviour, the netlogon server is supposed to give back the negotiate flags it can support.
(This used to be commit 7ad56fc4db37009dc2dba376724fdfb650f65611)
2007-10-10 12:56:21 -05:00
Andrew Tridgell
6a0ce94d02 r950: - added netr_ServerAuthenticate3(). This is used by WinXP clients who try to login to Samba4, as
WinXP sees us as an ADS server.

Unfortunately WinXP also uses a set of negotiate_flags that we don't
support yet. Some crypto work needed.
(This used to be commit 2d740b65706fb5b4ebc138587472a885d680517f)
2007-10-10 12:56:21 -05:00
Andrew Tridgell
d9538e7412 r937: - added a simple QuerySecurity implementation in samr server
- moved some sec desc defines into misc.idl

 - fixed pw_len field in UserInfo26

 - made some pipes available on TCP

 - added netr_DsrEnumerateDomainTrusts() to netlogon

 - added templates for remaining netlogon IDL calls (from ethereal)

 - added a unistr_noterm vs unistr error detector in ndr basic decoder

 - added torture test for netr_DsrEnumerateDomainTrusts()
(This used to be commit ae5a5113fb83640dcb9ae4642c1b9eaf28487956)
2007-10-10 12:56:20 -05:00
Andrew Tridgell
7f3d4cc980 r919: - added lsa_QueryInfoPolicy2() to IDL, test suite and server
- added lsa_OpenPolicy2() to server

- added guid handling in samdb

- added a couple more info policy levels in lsa server

- added some DNS info in the provisioning template and script

With the above changes WinXP professional can join a Samba4 domain
(This used to be commit d6dca96352144d6061175c964069ed54d942b9c2)
2007-10-10 12:56:20 -05:00
Andrew Tridgell
7a6d86fbc9 r918: - dcerpc endpoint name are case insensitive
this fix allows samba3 to join a samba4 domain using "net rpc join"
(This used to be commit 876a6eecc3db99a137b58993ce7cf69f277e7499)
2007-10-10 12:56:19 -05:00
Andrew Tridgell
db3c011977 r917: - added the start of a LSA server to samba4.
- added start of QueryDomainInfo in samr server

"net rpc info" from samba3 now works against a samba4 server. I
suspect join will work fairly soon.
(This used to be commit 0a2c6a1062d0e364356853001f5f39bdb542f453)
2007-10-10 12:56:19 -05:00
Andrew Tridgell
39a236883e r904: - fixed account expiry testing in auth_sam
- added printf style format attribute checking to samdb varargs fns

- fix nt_time_to_unix() for zero and -1 times
(This used to be commit 41f9b144f9fe77e92f960bd11b1df397a63fd2d5)
2007-10-10 12:56:19 -05:00
Andrew Tridgell
0eb7588cc4 r903: used samdb_result_passwords() in samr_ChangePasswordUser2() and fix the error handling on a bad change.
With this change WinXP can now successfully change the password on a
Samba4 server via SAMR. After the change you can't login because the
handling of much_change_time seems to be broken in the auth code, but
that should be easy to fix.
(This used to be commit 8feeecf30377e4699df26d1c5c02d24a8ab021be)
2007-10-10 12:56:19 -05:00
Andrew Tridgell
d66c2b477d r901: w2k3 completely ignores the domain name argument to GetDomPwInfo,
always returning the info for the primary domain. I noticed this
because WinXP sends the wrong information in this field (it sends
\\server_name) and gets away with it
(This used to be commit e128bcca562960afe75bf14dd775113e1dd7b213)
2007-10-10 12:56:19 -05:00
Andrew Tridgell
406f345d88 r897: - user/group creation needs to create unique names across both the
Builtin and local domain, as some calls (notably password change
  calls) don't specify a domain name, they just specifiy an account
  name.

- added the remaining password set levels to SetUserInfo in the samr
  server. We now support all of the password set and change levels
  that we know about in SAMR.
(This used to be commit 965748cbee7853238e9e5f4a4d75780f206d492e)
2007-10-10 12:56:18 -05:00
Andrew Tridgell
36c4cf24f0 r896: - use andrews samdb_result_passwords() for the remaining password change mechanisms
- added samr_ChangePasswordUser2() (just a subset of samr_ChangePasswordUser3)
(This used to be commit b5324a4b802e793a49a40a7d57f77f7410397bb3)
2007-10-10 12:56:18 -05:00
Stefan Metzmacher
fcd718c7d8 r890: convert samba4 to use [u]int8_t instead of [u]int8
metze
(This used to be commit 2986c5f08c8f0c26a2ea7b6ce20aae025183109f)
2007-10-10 12:56:16 -05:00