summaryrefslogtreecommitdiff
path: root/source4/librpc
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r1509: in order to interoperate with NT3.1 we need to ignore extra data at ↵Andrew Tridgell1-3/+7
the end of RPC PDUs. It turns out that NT3.1 adds junk onto the end of every PDU. (This used to be commit a4a89cffd85c213a4d751c24ccda438e44df4d2e)
2007-10-10r1498: (merge from 3.0)Andrew Bartlett1-1/+1
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-10r1482: today I saw DCERPC_AUTH_TYPE 16(0x10)Stefan Metzmacher1-0/+4
and it seems to be raw krb5, but I need to do some tests metze (This used to be commit 01612927902ed5e4d0109fec453307cdcb95336f)
2007-10-10r1481: add idl file and torture test dummiesStefan Metzmacher2-0/+118
for DRSUapi (the Active Directory Replication Protocol) I'll try to fill the idl file as part of a study project together with some other students... metze (This used to be commit 3fc9abcad712c4cc5c9879df0acaa5a19a3d8718)
2007-10-10r1475: More kerberos workAndrew Bartlett1-0/+7
- We can now connect to hosts that follow the SPNEGO RFC, and *do not* give us their principal name in the mechListMIC. - The client code now remembers the hostname it connects to - We now kinit for a user, if there is not valid ticket already - Re-introduce clock skew compensation TODO: - See if the username in the ccache matches the username specified - Use a private ccache, rather then the global one, for a 'new' kinit - Determine 'default' usernames. - The default for Krb5 is the one in the ccache, then $USER - For NTLMSSP, it's just $USER Andrew Bartlett (This used to be commit de5da669397db4ac87c6da08d3533ca3030da2b0)
2007-10-10r1419: spnego inside of dcerpc using alter_context/alter_context_respStefan Metzmacher6-11/+170
instead of auth3 metze (This used to be commit 19b0567ee533744a0f2778bf8549636a25d96526)
2007-10-10r1354: Make it clear that the first gensec_update takes a NULL data_blob.Andrew Bartlett1-2/+3
Andrew Bartlett (This used to be commit 842a5dfc1f313b771fef14a484be6eea8c6eedf8)
2007-10-10r1351: add derpc spengo wrapperStefan Metzmacher2-0/+80
not yet used and not working because of bugs in the gensec spnego code metze (This used to be commit b9795ed5735ad88a2ba9608d3d8804edf77e4cd4)
2007-10-10r1294: A nice, large, commit...Andrew Bartlett7-137/+377
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-10r1275: Make spoolss_PrinterInfo2 and spoolss_PrinterInfo5 public so we canTim Potter1-2/+2
use them in the enumprinters server code. (This used to be commit 5fcba0aa2019e489e3936ec13dd11a5e8d74ba9f)
2007-10-10r1274: revert -r 1239 as discussed with abartletStefan Metzmacher1-301/+0
metze (This used to be commit 52e2d038252bd745d53c687d266ad3ad62efa6fc)
2007-10-10r1269: Add a 'base' field to the ndr_ofs_list structure which is the base toTim Potter2-1/+5
which the offset applies to. In an array of structures containing relative members, the offset applies to the start of the array element being marshalled. Previously, there was no way to access the relevant structure start as by the time we have hit buffers, the head of the offset list will be the last structure being marshalled. Interestingly enough, this makes relstrs go away. I think we thought they were a special case in samba 3 but it turns out they are just regular relative elements in the idl. This makes spoolss a lot simpler than I thought it would be. I've run the samr and lsa tests and this doesn't seem to break anything. It looks like security descriptors are the only structures that contain relative members. Oh yeah, this will probably require a 'make clean && make' otherwise you will get bizzare errors. (This used to be commit d379dcdfd5f41e7cf7668354c3011b8ace190953)
2007-10-10r1264: Make sure to initialize ofs_list when creating new ndr_{push,pull}Tim Potter1-0/+2
structures. (This used to be commit 6a39b17f6d8776ae695dc5c6caa0990ab2733e3c)
2007-10-10r1239: move the old msrpc_<gen|parse>() functions to ↵Stefan Metzmacher1-0/+301
ndr_<push|pull>_format_blob() simular to ndr_<push|pull>_struct_blob() metze (This used to be commit b25dd341e0febd550a2936ca484b6fecce2ff8c2)
2007-10-10r1206: Give the spoolss pipe an endpoint.Tim Potter1-1/+2
Make PrinterInfo1 struct public so we can call the push function in spoolss_EnumPrinters(). (This used to be commit f4309f3ced337cf5d968f62e80adee1eb75201af)
2007-10-10r1200: Add 'gensec', our generic security layer.Andrew Bartlett6-319/+162
This layer is used for DCERPC security, as well as ntlm_auth at this time. It expect things like SASL and the CIFS layer to use it as well. The particular purpose of this layer is to introduce SPENGO, which needs generic access to the actual implementation mechanisms. Schannel, due to it's 'interesting' setup properties is in GENSEC, but is only in the RPC code. Andrew Bartlett (This used to be commit 902af49006fb8cfecaadd3cc0c10e2e542083fb1)
2007-10-10r1150: - fixed interactive sam logon in the rpc serverAndrew Tridgell1-11/+9
- 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-10r1144: added logon level 5 for sam logonAndrew Tridgell1-0/+1
(This used to be commit eb13fc6c3b482d49a2cfaf13d290f1e54a2f1865)
2007-10-10r1141: - consolidated the netr_SamInfo structures using a netr_SamBaseInfoAndrew Tridgell1-56/+9
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-10r1140: added IDL and test code for validation level 6 in sam logonAndrew Tridgell1-16/+40
(This used to be commit c8541098436d2cd83538375889560405ecb50034)
2007-10-10r1139: added IDL and server code for netr_LogonSamLogonWithFlags()Andrew Tridgell1-1/+14
(This used to be commit 4eac7340d8d7a109bed8fe7bb7cf663d6e7f0a56)
2007-10-10r1136: - added IDL for netr_LogonGetDomainInfo()Andrew Tridgell2-1/+101
- 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-10r1133: - add ndr_pull_ptr() as a separate call instead of ndr_pull_uint32()Andrew Tridgell1-0/+10
(useful for debugging IDL) - fixed a couple of places that auto-generate incorrect printf style arguments for ndr_pull_error() (This used to be commit ad3324a79ce030df4c5ed46408e662b46588f89f)
2007-10-10r1132: add a PRINTF_ATTRIBUTE to ndr_pull_error() to catch printf style ↵Andrew Tridgell1-1/+2
coding errors (This used to be commit f0940f19129f0f2eccc3bb5130b8d2dd0b60f83f)
2007-10-10r1077: fix segfault in schannel over ncacn_ip_tcpStefan Metzmacher2-13/+15
metze (This used to be commit 9e9a52692ebe9d47f1a08740ea1dcb8f46041211)
2007-10-10r1068: make the dcerpc client side auth/crypto code much more genericStefan Metzmacher6-282/+370
metze (This used to be commit 1706ff88a72c6578a109c2cf24f2f009812c3892)
2007-10-10r1061: The start of the SamLogon call for the NETLOGON pipe.Andrew Bartlett1-7/+19
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-10r1058: The start of work on the SamLogon call for NETLOGON.Andrew Bartlett1-17/+17
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-10r1048: - moved the schannel definitions into a separate schannel.idlAndrew Tridgell5-18/+61
- 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-10r1042: added testing of 128 bit schannel session keysAndrew Tridgell2-1/+9
(This used to be commit 96fc2b6f1e7372cc3646bd52172187b8a689c15a)
2007-10-10r1041: - pulled the domain join code out of the netlogon test and made it a ↵Andrew Tridgell3-57/+88
separate utility function, to allow multiple torture tests to temporarily join a domain - fixed a session key size problem - added a schannel test suite - allow schannel to work with ncacn_ip_tcp (This used to be commit 36f05e4d575099fcb957b8a55781c38dcd2e1177)
2007-10-10r1031: Move more code dealing with passwords to struct samr_Password.Andrew Bartlett1-3/+3
Andrew Bartlett (This used to be commit 88222b5da9a005e48477d2bfd98a488e4442b5f6)
2007-10-10r1030: added server side schannel supportAndrew Tridgell5-18/+54
(This used to be commit 2ac79dfba0e64056a680f21d7dd0c007f79d4a70)
2007-10-10r1025: Rename (across the samr and netlogon pipes, so far)Andrew Bartlett3-54/+54
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-10r1009: Make all users of NT and LM passwords use the samr_Password structure.Andrew Bartlett3-25/+21
This includes the netlogon pipe, for the machine account password change system. Andrew Bartlett (This used to be commit 49d545a82057ee8b60d50aa55e908efe59875150)
2007-10-10r995: - renamed many of our crypto routines to use the industry standardAndrew Tridgell1-1/+2
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-10r963: Tridge, according to ethereal this is an 'Acct Ctrl' field. My tests alsoVolker Lendecke1-1/+1
indicate this although I could not find any consistent pattern. I found this as 'net rpc group list local' in Samba3 sets this to 250 and only gets a fixed, but incomplete list of groups out of W2k3. I tried to correlate the results I got from w2k3 with the LDAP contents of the corresponding entries, but I could not find anything. Ethereal only decodes the lower byte, but to get all it seems necessary to have 0xffff here. If you have time, could you might want to spend some of it decoding the bits for SAMR completeness.... Volker (This used to be commit 74e59c45603a9f897a24e37fc7626cf8ffc81403)
2007-10-10r962: convert 'unsigned' and 'unsigned int' to uint_tStefan Metzmacher6-7/+7
metze (This used to be commit 57151e80eb1090281401930c8fe25b20a8cf3a38)
2007-10-10r961: convert 'uchar' to 'uint8_t'Stefan Metzmacher3-12/+12
metze (This used to be commit 9f914e4af99e18b469d4cf9d8b1514a2bd28ddec)
2007-10-10r960: convert 'unsigned int' to uint_t in the most placesStefan Metzmacher1-1/+1
metze (This used to be commit 18062d2ed9fc9224c43143c10efbf2f6f1f5bbe0)
2007-10-10r952: fixed schannel from my last commitAndrew Tridgell1-4/+10
(This used to be commit 05b69d9fff0922e2864a336f203bf2afc932d1b9)
2007-10-10r950: - added netr_ServerAuthenticate3(). This is used by WinXP clients who ↵Andrew Tridgell1-10/+18
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-10r937: - added a simple QuerySecurity implementation in samr serverAndrew Tridgell6-2/+174
- 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-10r924: got rid of the global well-known SIDs, instead using const defines in ↵Andrew Tridgell1-0/+30
misc.idl (This used to be commit ce7920a5fac0dbccb01402129c341b410a032e60)
2007-10-10r920: a placeholder lsads.idl file (lack of this is why the build farm is ↵Andrew Tridgell1-0/+16
unhappy for samba4) (This used to be commit 35dfa3e07b2e4d200d9f6ab1aea27a6471d5e546)
2007-10-10r919: - added lsa_QueryInfoPolicy2() to IDL, test suite and serverAndrew Tridgell1-1/+8
- 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-10r917: - added the start of a LSA server to samba4.Andrew Tridgell3-35/+28
- 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-10r895: use _t in base ndr fnsAndrew Tridgell1-4/+4
(This used to be commit b3c00acdf0e85563b5d5ce1f9bc86cc2e781d53e)
2007-10-10r890: convert samba4 to use [u]int8_t instead of [u]int8Stefan Metzmacher2-9/+9
metze (This used to be commit 2986c5f08c8f0c26a2ea7b6ce20aae025183109f)
2007-10-10r889: convert samba4 to use [u]int16_t instead of [u]int16Stefan Metzmacher5-19/+19
metze (This used to be commit af6f1f8a01bebbecd99bc8c066519e89966e65e3)