Age | Commit message (Collapse) | Author | Files | Lines |
|
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().
This also requires that we start the secrets subsystem, as that is
where the reseed value is stored, for systems without /dev/urandom.
In order to aviod identical streams in forked children, the random
state is re-initialised after the fork(), at the same point were we do
that to the tdbs.
Andrew Bartlett
(This used to be commit b97d3cb2efd68310b1aea8a3ac40a64979c8cdae)
|
|
the idea is to have services as modules (smb, dcerpc, swat, ...)
the process_model don't know about the service it self anymore.
TODO:
- the smbsrv should use the smbsrv_send function
- the service subsystem init should be done like for other modules
- we need to have a generic socket subsystem, which handle stream, datagram,
and virtuell other sockets( e.g. for the ntvfs_ipc module to connect to the dcerpc server
, or for smb or dcerpc or whatever to connect to a server wide auth service)
- and other fixes...
NOTE: process model pthread seems to be broken( but also before this patch!)
metze
(This used to be commit bbe5e00715ca4013ff0dbc345aa97adc6b5c2458)
|
|
should cause DEBUG(0,(...));
metze
(This used to be commit 80851e67783a9c3c8bdd7f2b52e0b46dd7b18d05)
|
|
print
servers.
(This used to be commit 0edf17ac38b43cadb07dc0840730cd9b4e381713)
|
|
This implements gensec for Samba's server side, and brings gensec up
to the standards of a full subsystem.
This means that use of the subsystem is by gensec_* functions, not
function pointers in structures (this is internal). This causes
changes in all the existing gensec users.
Our RPC server no longer contains it's own generalised security
scheme, and now calls gensec directly.
Gensec has also taken over the role of auth/auth_ntlmssp.c
An important part of gensec, is the output of the 'session_info'
struct. This is now reference counted, so that we can correctly free
it when a pipe is closed, no matter if it was inherited, or created by
per-pipe authentication.
The schannel code is reworked, to be in the same file for client and
server.
ntlm_auth is reworked to use gensec.
The major problem with this code is the way it relies on subsystem
auto-initialisation. The primary reason for this commit now.is to
allow these problems to be looked at, and fixed.
There are problems with the new code:
- I've tested it with smbtorture, but currently don't have VMware and
valgrind working (this I'll fix soon).
- The SPNEGO code is client-only at this point.
- We still do not do kerberos.
Andrew Bartlett
(This used to be commit 07fd885fd488fd1051eacc905a2d4962f8a018ec)
|
|
(This used to be commit cf4e9080d52a5461650062f21f95b7887e3f3411)
|
|
(This used to be commit 60e48790dc7ee8a98be1914ff4a2c335d25639a8)
|
|
similar dbs.
(This used to be commit 1162e2fcff177cbbe84506efea0f79f68ecb233c)
|
|
(This used to be commit de5984c95602ca67e8ac3139c3aa4330b74266e0)
|
|
(This used to be commit 6b24ee38646f3476eaf8eda946488b46180038e2)
|
|
we should do it manualy too.
metze
(This used to be commit d3b80fd40a07575c18593523070986b7aed6de92)
|
|
But I don't know how to fix this correct,
so maybe this needs to be fixed
(tridge: can you please look at this)
metze
(This used to be commit b8b4d0d5bf037c79102709ea995ad8b8d6a9caff)
|
|
can be used here - neat!
(This used to be commit 5d0013438e6f838da44e6c7e74e4c49d477da3f1)
|
|
string looks like. I'm not sure relstrs can be shoehorned into the ndr
code as easily as adding a LIBNDR_STR flag.
(This used to be commit e216c6a707ee3927d4187962774d59828550e380)
|
|
(This used to be commit 487211f1ae105fd1972fecf521654dab81175c86)
|
|
rpcclient enumprinters prints this information OK.
Some minor cut&paste cleanups.
(This used to be commit 1c749a3a348a2df477808d4fcc5377832bffa5e9)
|
|
(This used to be commit e21f324937df2fe70b693112bd0b6fe6575d70ed)
|
|
(This used to be commit a5e3a26fc9a7e2c616302ed3b4a021f5755a4a13)
|
|
of things.
(This used to be commit 3e79a6219eca3b96fe04d66b6cdfb11400c1771d)
|
|
of a bogus WERROR.
(This used to be commit 261531ce0a7f33eda5358319312877dc85386edb)
|
|
Doesn't do much at the moment except compile.
(This used to be commit ed9c4d7d70041879fa5005222f6cf84af558abef)
|
|
(This used to be commit 9b397356ae1daa7bc1984e196020ea62725f542c)
|
|
STATUS_BUFFER_OVERFLOW when more data is present.
(This used to be commit 0e557fe85748558affd20a58455c4b75fee69e27)
|
|
- 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)
|
|
(This used to be commit cb3d3b5e51dc9d52854c922b0c50686284ac8f1b)
|
|
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)
|
|
(This used to be commit 4eac7340d8d7a109bed8fe7bb7cf663d6e7f0a56)
|
|
- 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)
|
|
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)
|
|
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)
|
|
metze
(This used to be commit 6f8b51e290d44a7c4e039dc6e93c7911a0316009)
|
|
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)
|
|
(This used to be commit 5a90187c2cb7521cb7931355e5cf2f11d55a4ad0)
|
|
every backend must implement all functions!
metze
(This used to be commit d62c0661f9234418478873dfc9ba244bdf5c36c0)
|
|
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)
|
|
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)
|
|
rpc server backend
(This used to be commit 536aa86aa92e3cf9fb99d5939cdceff637c72668)
|
|
- 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)
|
|
(This used to be commit 4daab1eaec633d97974d7d02f5c1a9e908392a7a)
|
|
(This used to be commit 2ac79dfba0e64056a680f21d7dd0c007f79d4a70)
|
|
(This used to be commit ee6c17f3735381568d38e6c2df80bec687d00fbb)
|
|
Andrew Bartlett
(This used to be commit 0d2ae66d3a82134d86084f63c05214e03dfcb48b)
|
|
(This used to be commit b7fe73613acf5423b77fd91c56849351bf386960)
|
|
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)
|
|
metze
(This used to be commit d1ab26b907f1eb2be31fe6946ffa5b8255fc6ac9)
|
|
- move to a centralised way of handling talloc/ldb interaction
(This used to be commit 2b9b752875ba5e03e82f40e31f26bc1f245b3825)
|
|
metze can have a look. Not tested yet, as I'm still writing the server
side schannel code.
(This used to be commit 768cc0193a1267274f297c47a36bef4acd391e83)
|
|
in rpc server code!
add missing ZERO_STRUCT(r->out.info);
in samr_GetDomPwInfo
metze
(This used to be commit e21f8a343022424097ff53cd8d5e16ac46fff772)
|
|
fix type 'cyrpto' -> 'crypto'
metze
(This used to be commit 90f4777dfcb141b646063128c82f4c03bd176413)
|
|
This includes the netlogon pipe, for the machine account password
change system.
Andrew Bartlett
(This used to be commit 49d545a82057ee8b60d50aa55e908efe59875150)
|