1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-15 23:24:37 +03:00

217 Commits

Author SHA1 Message Date
Volker Lendecke
6706ba5bb4 r1814: Fix the build.
Tridge, in rpc_epmapper.c there's a whole bunch of "return
NT_STATUS_NOT_IMPLEMENTED". You told me that's wrong, you should generate the
correct fault pdu. Or is epmapper special in that respect?

Volker
(This used to be commit 48df39c133cd08f1eb8007c7986a675f129d0cae)
2007-10-10 12:57:58 -05:00
Andrew Tridgell
e2357c67f5 r1757: much simpler (and smaller, faster etc) way of doing relative pointers
in pidl. This mechanism should be much easier to extend to the
"retrospective subcontexts" that jelmer needs.

also produced more standards complient full-pointer offsets. This
keeps ethereal happy with decoding our epmapper frames.
(This used to be commit ecb7378bbcd86727aedfa04a9e302e06b0a2ccd9)
2007-10-10 12:57:54 -05:00
Jelmer Vernooij
1f0ea81ae9 r1703: - Lots of RPC updates, adding new pipes and protocols.
- More updates/fixes to the ethereal parser generator
(This used to be commit 547f860285b117e291bf3dbaca0707dc268b214e)
2007-10-10 12:57:49 -05:00
Stefan Metzmacher
6ec9c7bd30 r1546: fix the build the function name has changed to srvsvc_NetRemoteTOD
because I implemented the idl for it

metze
(This used to be commit 76cb9966bf961383b36846627c13b562be5edf4e)
2007-10-10 12:57:41 -05:00
Andrew Tridgell
e3e5fb0889 r1519: show the ldb_errstring() value in the log for failed ldb calls
(This used to be commit 0c5a5632a8584e55a1013da634a279c6b3a9e085)
2007-10-10 12:57:38 -05:00
Stefan Metzmacher
a1748ef743 r1514: close stuff from the server_connection not in the
close_connection fn of a specific service

metze
(This used to be commit 0e1f5e66d37deb7a77ae9f545e60685428fd9d21)
2007-10-10 12:57:37 -05:00
Stefan Metzmacher
3d4879fdc9 r1513: change DEBUG level to 1
metze
(This used to be commit d7dd5347dd9414cfa604eeb24cb2f6dc5f99e703)
2007-10-10 12:57:37 -05:00
Andrew Bartlett
f607197054 r1498: (merge from 3.0)
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)
2007-10-10 12:57:35 -05:00
Stefan Metzmacher
45a85bdd35 r1486: commit the start of the generic server infastructure
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)
2007-10-10 12:57:35 -05:00
Stefan Metzmacher
b82881591c r1335: NT_STATUS_INTERNAL_DB_CORRUPTION
should cause DEBUG(0,(...));

metze
(This used to be commit 80851e67783a9c3c8bdd7f2b52e0b46dd7b18d05)
2007-10-10 12:56:50 -05:00
Tim Potter
c08a2a9e10 r1313: Split up OpenPrinterEx into functions to handle opening printers and print
servers.
(This used to be commit 0edf17ac38b43cadb07dc0840730cd9b4e381713)
2007-10-10 12:56:50 -05:00
Andrew Bartlett
dc9f55dbec r1294: A nice, large, commit...
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)
2007-10-10 12:56:49 -05:00
Tim Potter
f18fa1dfdb r1276: Return data for enumprinters level 2 and 5.
(This used to be commit cf4e9080d52a5461650062f21f95b7887e3f3411)
2007-10-10 12:56:48 -05:00
Tim Potter
674414c5b8 r1271: Return spoolss enumprinters info level1 from spoolss.ldb - woot!
(This used to be commit 60e48790dc7ee8a98be1914ff4a2c335d25639a8)
2007-10-10 12:56:47 -05:00
Tim Potter
d2ac885df0 r1270: Start to break samdb into general bits so we can share code with other
similar dbs.
(This used to be commit 1162e2fcff177cbbe84506efea0f79f68ecb233c)
2007-10-10 12:56:47 -05:00
Tim Potter
37fcf22364 r1268: varient -> variant
(This used to be commit de5984c95602ca67e8ac3139c3aa4330b74266e0)
2007-10-10 12:56:46 -05:00
Tim Potter
27f245a219 r1266: Start to split out EnumPrinters into a separate fn for each info level.
(This used to be commit 6b24ee38646f3476eaf8eda946488b46180038e2)
2007-10-10 12:56:46 -05:00
Stefan Metzmacher
db8c78c497 r1235: as the pidl code init all output data.
we should do it manualy too.

metze
(This used to be commit d3b80fd40a07575c18593523070986b7aed6de92)
2007-10-10 12:56:46 -05:00
Stefan Metzmacher
cf5fdae640 r1234: valgrind found this uninitialised var...
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)
2007-10-10 12:56:46 -05:00
Tim Potter
a38429269e r1226: Return dummy information for two printers. Note that ndr_push_array()
can be used here - neat!
(This used to be commit 5d0013438e6f838da44e6c7e74e4c49d477da3f1)
2007-10-10 12:56:45 -05:00
Tim Potter
c400f86707 r1211: Some output from rpcclient -c enumprinters to remind me what a relative
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)
2007-10-10 12:56:45 -05:00
Tim Potter
fea69453bd r1210: A skeleton spoolssdb, based on samdb.
(This used to be commit 487211f1ae105fd1972fecf521654dab81175c86)
2007-10-10 12:56:45 -05:00
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