Age | Commit message (Collapse) | Author | Files | Lines |
|
rafal
(This used to be commit 3cb517f7c134ee18eb9af79c486c85bed0ef4f81)
|
|
text-based, after recent discussion with both Andrews :)
Basic test seems to work (at least it doesn't fail now).
rafal
(This used to be commit 1bc3162e9441aeae1d8c4b4f03b5b75eb848f4bf)
|
|
rafal
(This used to be commit 5be8479d5cf119bcda4046bf1c5d7c3b876e718d)
|
|
rafal
(This used to be commit 266aaacf0be955096d53e2a967bdaa5d0c5558ed)
|
|
both account name and full name.
rafal
(This used to be commit 1a779f8643c43677c62fed6ec4bfb54b08647f5b)
|
|
rafal
(This used to be commit 19f5ea9c9c2a46c110e5946605432116cb2ad7b3)
|
|
metze
(This used to be commit e601042c07d7b6eed0dc34e5b136d9266b8a0f81)
|
|
rafal
(This used to be commit cca6d792945477b86b2dd91f3c90152b69ee2a15)
|
|
rafal
(This used to be commit 0209fc67adae9d2003f06c826557306c2141a6a8)
|
|
rafal
(This used to be commit 1815a6af06aa791bfecb4aee8742701975d35318)
|
|
rafal
(This used to be commit e7870156dacb2e0346e24f8490bfd90e8b21ea96)
|
|
(This used to be commit 616f54015ff8c7b25fa500cb03d025a9950ed6cf)
|
|
(This used to be commit 8d43eb5b9790a6b24c792919386cac5c0b8ea7ac)
|
|
don't like to bother with netbios type names when looking for common
types: hosts (servers) and domain controllers. Also, apropriate tests
rafal
(This used to be commit 50cd94be0f876a3463aa58b7e0898e6b3340c4c2)
|
|
rafal
(This used to be commit 4655881fac37dbf26a5d60385e5f0a70b8c1c775)
|
|
event_context for the socket_connect() call, so that when things that
use dcerpc are running alongside anything else it doesn't block the
whole process during a connect.
Then of course I needed to change any code that created a dcerpc
connection (such as the auth code) to also take an event context, and
anything that called that and so on .... thus the size of the patch.
There were 3 places where I punted:
- abartlet wanted me to add a gensec_set_event_context() call
instead of adding it to the gensec init calls. Andrew, my
apologies for not doing this. I didn't do it as adding a new
parameter allowed me to catch all the callers with the
compiler. Now that its done, we could go back and use
gensec_set_event_context()
- the ejs code calls auth initialisation, which means it should pass
in the event context from the web server. I punted on that. Needs fixing.
- I used a NULL event context in dcom_get_pipe(). This is equivalent
to what we did already, but should be fixed to use a callers event
context. Jelmer, can you think of a clean way to do that?
I also cleaned up a couple of things:
- libnet_context_destroy() makes no sense. I removed it.
- removed some unused vars in various places
(This used to be commit 3a3025485bdb8f600ab528c0b4b4eef0c65e3fc9)
|
|
(This used to be commit b2529307aaf1e47ce74632b4e516494ac71fe8d1)
|
|
rafal
(This used to be commit d54bf09701b1085451479a32569849998c53c811)
|
|
Fix the build and get some sleep...
rafal
(This used to be commit 966d148ecaa66987832df6dc8da4c53bfb04d18d)
|
|
(This used to be commit aa3dd5e8cf21d3502e10686ce94c802ebaa41ee8)
|
|
rafal
(This used to be commit 482ff6a78078b62041ba69947048ed96dee13144)
|
|
(This used to be commit 448795607f271bb00d5f9e1c5a6cad8df75c8b6a)
|
|
- make message handling functions static.
rafal
(This used to be commit 96446e5e1e53eb519cbfeb64d0dd2f4052d75b0f)
|
|
(This used to be commit c2c563bf985a8fdd28beacb3dbdf650c11af2fa7)
|
|
rafal
(This used to be commit 4ac3c145fccc203323e3bf8772bccd290a82cf63)
|
|
with Richard and Andrew.
rafal
(This used to be commit 400f6d5f87c7a0b49bfd289521a3cf4af2586235)
|
|
deleted last time running the test.
rafal
(This used to be commit 91df25a795b3754c9445af6ade53cbc89ec4a545)
|
|
lp_workgroup parameter as domain name to operate on.
rafal
(This used to be commit ea251d4f79c96145b4c14074d258aeb07c742f41)
|
|
simulate real conditions of calling the function.
rafal
(This used to be commit 2518122c9e230639db253ff02de1843cb3448198)
|
|
with user del function.
rafal
(This used to be commit a6b191188294c447fc4942c632fe905984048834)
|
|
rafal
(This used to be commit 76fb84c1ee2896f762278b0c5592ab418d6cf87c)
|
|
rafal
(This used to be commit 7539397240414a736bd581b85821635837d16a2e)
|
|
- talloc should always be done in the right context. For example, when creating
the userinfo_state structure, place it inside the composite
structure, not directly on the pipe. If this isn't done then
correct cleanup can't happen on errors (as cleanup destroys the top
level composite context only)
- define private structures like userinfo_state in the userinfo.c
code, not in the public header
- only keep the parameters we need in the state structure. For
example, the domain_handle is only needed in the first call, so we
don't need to keep it around in the state structure, but the level is
needed in later calls, so we need to keep it
- always initialise [out,ref] parameters in RPC calls. The [ref] part
means that the call assumes the pointer it has been given is
valid. If you don't initialise it then you will get a segv on
recv. This is why the code was dying.
- don't use internal strucrure elements like the pipe
pipe->conn->pending outside of the internal rpc implementation. That
is an internal list, trying to use it from external code will cause crashes.
- rpc calls assume that rpc call strucrures remain valid for the
duration of the call. This means you need to keep the structures
(such as "struct samr_Close") in the userinfo_state strucrure,
otherwise it will go out of scope during the async processing
- need to remember to change c->state to SMBCLI_REQUEST_DONE when the
request has finished in the close handler, otherwise it will loop
forever trying to close
Mimir, please look at the diff carefully for more detailed info on the fixes
(This used to be commit 01ea1e7762e214e87e74d6f28d6efeb6cdea9736)
|
|
metze needs a working tree...
The main volume of this patch was what I started working on today:
- Cleans up memory handling around DCE/RPC pipes, to have a parent talloc context.
- Uses sepereate inner loops for some of the DCE/RPC tests
The other and more important part of this patch fixes issues
surrounding the new credentials framwork:
This makes the struct cli_credentials always a talloc() structure,
rather than on the stack. Parts of the cli_credentials code already
assumed this.
There were other issues, particularly in the DCERPC over SMB handling,
as well as little things that had to be tidied up before test_w2k3.sh
would start to pass.
Andrew Bartlett
(This used to be commit 0453f9d05d2e336fba1f85dbf2718d01fa2bf778)
|
|
I wanted to add a simple 'workstation' argument to the DCERPC
authenticated binding calls, but this patch kind of grew from there.
With SCHANNEL, the 'workstation' name (the netbios name of the client)
matters, as this is what ties the session between the NETLOGON ops and
the SCHANNEL bind. This changes a lot of files, and these will again
be changed when jelmer does the credentials work.
I also correct some schannel IDL to distinguish between workstation
names and account names. The distinction matters for domain trust
accounts.
Issues in handling this (issues with lifetime of talloc pointers)
caused me to change the 'creds_CredentialsState' and 'struct
dcerpc_binding' pointers to always be talloc()ed pointers.
In the schannel DB, we now store both the domain and computername, and
query on both. This should ensure we fault correctly when the domain
is specified incorrectly in the SCHANNEL bind.
In the RPC-SCHANNEL test, I finally fixed a bug that vl pointed out,
where the comment claimed we re-used a connection, but in fact we made
a new connection.
This was achived by breaking apart some of the
dcerpc_secondary_connection() logic.
The addition of workstation handling was also propogated to NTLMSSP
and GENSEC, for completeness.
The RPC-SAMSYNC test has been cleaned up a little, using a loop over
usernames/passwords rather than manually expanded tests. This will be
expanded further (the code in #if 0 in this patch) to use a newly
created user account for testing.
In making this test pass test_rpc.sh, I found a bug in the RPC-ECHO
server, caused by the removal of [ref] and the assoicated pointer from
the IDL. This has been re-added, until the underlying pidl issues are
solved.
(This used to be commit 824289dcc20908ddec957a4a892a103eec2da9b9)
|
|
metze
(This used to be commit bb2622a0c94127a31855adc41d90289219a1ddd7)
|
|
btw proves the function is completely broken but that's what
tests are for)
rafal
(This used to be commit 7278c7d8370d52fed1e6a7dfc848a3efa06ccd61)
|
|
array can now only be :
type *name[];
rather then :
type *name;
which was supported in the past. Warnings will be given when the first
syntax is used. Reasons for this change in behaviour include improved
readability and the fact that the second format makes dealing with multiple
levels of pointers harder.
(This used to be commit a416de5825c540fd3741731c4be05e9a659a6fdb)
|
|
main torture binary.
rafal
(This used to be commit 94955e5325ceddd35673da74afb19d1676b5b23c)
|
|
doesn't break anything at the moment.
rafal
(This used to be commit eb13c1bcfc330b046b76563c4eeb9d1ae438d37b)
|