Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit 866ef2edab91996964c8b43dbdd417f5908a00e1)
|
|
handles are not shared between open dcerpc connections, even when
those connections are on the same SMB socket. I have tested this with
w2k3, w2k and NT4. It seems that policy handles have a strict scope of
the dcerpc connection on which they were opened.
I realise that this goes against existing folk-law in the team, but it
seems that the previous testing (I'm not sure who did this?) was
wrong. Perhaps clients do send us policy handles from other
connections, but if they do then the correct thing to do is to fail
the operation with a dcerpc fault. I suspect that failing it with
exactly the right dcerpc fault code is important.
(This used to be commit 2ed24d29bafd9055d5782acdd595cd0f378a651a)
|
|
(This used to be commit 09a9b25c8d916c0467a124d959d5cd911b782dfa)
|
|
thanks to Kai for spotting this!
(This used to be commit 0fc42c33d3b0930fdf1dc71a407f4fcaac69d82d)
|
|
(This used to be commit 3f1b781c5659361d7e9cc3ab2072e1462d40df55)
|
|
send packets in bigendian format.
(This used to be commit 44df662960e662a55a9f27627f838771503a7a59)
|
|
(This used to be commit 691f9c1c4448fb54846fcfffeca43601bcd44138)
|
|
dcerpc_binding_string code
(This used to be commit 1fa68c18facfb6c96d5a274cfd9560cb4b2956f6)
|
|
option in the ncacn_* syntax
(This used to be commit 74f36d32bb14e94a80e1963cbc95f8fba3f23335)
|
|
This adds support for bigendian rpc in the client. I have installed
SUN pcnetlink locally and am using it to test the samba4 rpc
code. This allows us to easily find places where we have stuffed up
the types (such as 2 uint16 versus a uint32), as testing both
big-endian and little-endian easily shows which is correct. I have now
used this to fix several bugs like that in the samba4 IDL.
In order to make this work I also had to redefine a GUID as a true
structure, not a blob. From the pcnetlink wire it is clear that it is
indeed defined as a structure (the byte order changes). This required
changing lots of Samba code to use a GUID as a structure.
I also had to fix the if_version code in dcerpc syntax IDs, as it
turns out they are a single uint32 not two uint16s.
The big-endian support is a bit ugly at the moment, and breaks the
layering in some places. More work is needed, especially on the server
side.
(This used to be commit bb1af644a5a7b188290ce36232f255da0e5d66d2)
|
|
(This used to be commit edc67fffeaee5fe4bbbc6fbd76345d0a9d5b2093)
|
|
command line. This allows you to (for example) control signing/sealing
of smbtorture RPC sessions
(This used to be commit a73825eb496d5924012ea926fcbac8c956fe081e)
|
|
(This used to be commit f5df126c254bcb96dfb42096d7247215c7e7a89a)
|
|
time in the rpc server.
started on the framework for the dcerpc authentication server code
(This used to be commit 74041b6a0a60d792e1b220496d66ec27b9ee6c25)
|
|
implements the epm_Lookup() call, I'll add the other important calls
soon. I was rather pleased to find that epm_Lookup() worked first
time, which is particularly surprising given its complexity.
This required quite a bit of new infrastructure:
* a generic way of handling dcerpc policy handles in the rpc server
* added type checked varients of talloc. These are much less error
prone. I'd like to move to using these for nearly all uses of
talloc.
* added more dcerpc fault handling code, and translation from
NTSTATUS to a dcerpc fault code
* added data_blob_talloc_zero() for allocating an initially zero
blob
* added a endpoint enumeration hook in the dcerpc endpoint server
operations
(This used to be commit 3f85f9b782dc17417baf1ca557fcae22f5b6a83a)
|
|
IPC IO routines and the dcerpc endpoint servers.
(This used to be commit 4929c53bc8dddda8a763fdfbcf81a79776d01113)
|
|
(This used to be commit c598590a117d4281c530cded4bf9dae16ac1ee76)
|
|
(This used to be commit 5fb01b0ec0321724c25669151ea7c20e6ec182d0)
|
|
a pipe. I'm not sure how possible this will be without lots of human
intervention, but its an interesting thing to try.
(This used to be commit d5afe7c6a8651457da9438fcf0035c792701ac86)
|
|
* allow for an interface to list its endpoints in the IDL file, so we
can automatically make the server listen on the right pipes, and
can scan pipes more easily (I don't take advantage of this yet,
just putting the infrastructure in place)
(This used to be commit c8b8480244b4ab6204403dc65e92e4317b410a84)
|
|
protocol 0x1f is interesting - its ncacn_http !
(This used to be commit e3d40e3da6e15407162c1d0a29d2cbe86842228e)
|
|
uuid 82273fdc-e32a-18c3-3f78-827929dc23ea version 0x0000:0x0000 'eventlog'
24 calls available
WARNING: local IDL defines 4 calls
when all the WARNINGs are gone then we know we have all the calls :)
(This used to be commit f5821b2468a0c46d0e5590de59562926d746c349)
|
|
(This used to be commit 953ab587dc5a625d0fb557fdcac122a3b2ed0224)
|
|
* don't try to map the epmapper uuid !
* some preliminary support for alter context pdus
(This used to be commit f9857e56850cabfac06534fb33ff7a7a04346a9b)
|
|
control soon
(This used to be commit 215852116c1fb8c0d8ef559155a3dd55346f0c31)
|
|
(This used to be commit bb3bb5dc8d494afd077fa613d064767d7aad90cd)
|
|
(This used to be commit 00e0c14b76c9b001c7d7b6b18b2cb543a57fe082)
|
|
the servers endpoint mapper
(This used to be commit 4abf5376b00f580eb69196e55a792cc7eb4c9880)
|
|
(This used to be commit abbc9993b8f7eb9f57e079db1d0b170d0b9aa443)
|
|
* moved ntlmssp code into libcli/auth/, and updated to latest ntlmssp
code from samba3 (thanks Andrew! the new interface is great)
* added signing/ntlmssp support in the dcerpc code
* added a dcerpc_auth.c module for the various dcerpc auth mechanisms
(This used to be commit c18c9b5585a3e5f7868562820c14f7cb529cdbcd)
|
|
* allow rpc transport to be specified on command line in smbtorture
(This used to be commit 8a82050fd6f45bcdb31c2c365eaed5fc12599e4f)
|
|
add epm_Map calls and support the rest of the pipes
(This used to be commit 39add481582609ddb9d0b3bae45fde3226ece481)
|
|
* fixed a uninitialised variable bug in pidl (found by valgrind)
(This used to be commit 8bce61b8af6351c72c0dd84dc61b49d8aeb1fbbd)
|
|
(This used to be commit 00f9b0e12061c175334f96805ca8333f28f74d91)
|
|
test suite. The test suite dumps all of the interfaces available on
all pipes. There sure are a lot more interfaces on w2k3 than w2k !
(This used to be commit f94bc079902d725b63155d8d2de5bf408c6e7335)
|
|
according to the current IDL taking the data from a file. In
combination with a little hack to ethereal to extract data this is a
quite powerful IDL development tool.
(This used to be commit 229a325c3cf0d4dc1e910ed32e1d7391040aeba1)
|
|
I have recoded the core dcerpc packet structures (all the PDUs etc) in
terms of IDL, which means we now use pidl to generate all the code for
handling the most basic dcerpc packets. This is not normally possible
as it isn't completely valid NDR, but pidl has a number of extensions
that make it quite easy.
This also means we get the server side dcerpc
marshalling/unmarshalling code for free.
(This used to be commit 92bcad02587c3c1b31b523ee9fa46658a6cef9ff)
|
|
* fixed nested relative offsets in push functions
the spoolss torture test now passes!
(This used to be commit 60ced76160e4f4e2b511ebbeec31130c8ebcdd22)
|
|
* don't consider not doing lsa_QueryInfoPolicy level 11 a failure
(w2k3 doesn't have this level, w2k does)
* on a NDR validation failure dump the failed data at level 3
(This used to be commit 9d5078962f0f8aef3360dea4c4774cf8de1fdc26)
|
|
* added a NDR validator. The way it works is that when the
DCERPC_DEBUG_VALIDATE_* flags are set the dcerpc system will
perform NDR buffer validation. On sending a request the packet is
first marshalled, then unmarahslled, then marshalled again, and it is
confirmed that the two marshalling results are idential. This
ensures that our pull and push routines are absolutely in sync, so
that we can be very confident that if a routine works in the client
then the corresponding routine must work on the server side. A
similar validation is performed on all replies.
* a result of this change is that pidl is fussier about the [ref]
tag. You can only use it on pointers (which is the only place it
makes sense)
* fixed a basic alignment bug in the push side of the NDR code
* added server side pull/push support. Our dcerpc system is now fully
ready to be used on the server side.
* fixed the relative offset pointer list. It must be traversed in
reverse order on push
* added automatic value setting for the size parameter in outgoing
SdBuf structures.
* expanded the ndr debugging code to always give a message on any
failure
* fixed the subcontext push code
* fixed some memory leaks in smbtorture RPC tests
(This used to be commit 8ecf720206a2eef3f8ea7cbdb1f460664a5dba9a)
|
|
(This used to be commit 49c72d42766a55e2833c004e721a47115000626b)
|
|
cope with the 'samrtorturetest' user already existing in the samr test
(to cope with previously failed runs)
(This used to be commit 47128b3d50b3481175a8b2580624316a4f7677db)
|
|
(This used to be commit 274058486766f7a1094918702e7bc225aa938b2e)
|
|
(This used to be commit c32c33a791dd42676ca7fa47aae264e8d8ea8339)
|
|
(This used to be commit f8397cbc8554b721093b8ae6ac6fb26d0ee9a7cf)
|
|
(This used to be commit af07ca7fbcb4118f2415218d0c48798119b7c6b2)
|
|
cases. We fail one of the alignment tests.
(This used to be commit 5bb21e57b844e98cc8f1dc264bc45097c08329e3)
|
|
(This used to be commit 54d3cb22dc0ddc46eb114aa104e0660b3a437cb2)
|
|
interop with the opengroup dcerpc code
(This used to be commit 8d9061dcd097ed7eee8d9ec531db65b1df8ac8e6)
|
|
test user called "samrtorturetest" and then deletes it. The next step
is to do all possible user operations on that temporary user.
(This used to be commit 41fc922954bd8ec461a79a22cc903e63902c7401)
|