Age | Commit message (Collapse) | Author | Files | Lines |
|
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 0c1f54461cea633dbacb9692925b8c971a34a831)
|
|
(This used to be commit c01c176da640c012e1e6c9f0553b5075ef0e93bf)
|
|
rafal
(This used to be commit cd89cf991923ee1184af41be4d48b372ca963062)
|
|
rafal
(This used to be commit 265b1ab0cc2597d277630c56553a1c6243f6994b)
|
|
This makes more clear where the functions belong to. Also
the rule will be that lowercased function names are not
part of "official" libnet API (though it doesn't mean one
absolutely cannot use them).
rafal
(This used to be commit f6ef7b882acc6ee07422944a417a8d9013c9d8d2)
|
|
rafal
(This used to be commit 53ad20d46ba0db6a0a5dad78f996db8c0385d4f2)
|
|
CreateUser call. It serves one level of call by now. Once any
more is needed it can be placed, of course.
rafal
(This used to be commit 80e2f04ce154338fb0208c60b5fab4e96253bb04)
|
|
it based on composite functions. Moving to fully async CreateUser
on the way...
rafal
(This used to be commit 240409bc3cfa1426db15fc0537fcf0841f51ede0)
|
|
rafal
(This used to be commit 03a228477ea525dbe19d9661cd7c027e594f0fe1)
|
|
rafal
(This used to be commit aea6d8c6946fcd5e0fd4f3b496f19cf1af728531)
|
|
rafal
(This used to be commit be3b283b20af0b17d8c9711f362b63b881ffbc1c)
|
|
rafal
(This used to be commit aa4cd8f9870b80954801ee588a36fdf286f59f0a)
|
|
libnet context.
rafal
(This used to be commit 702a4dd2dcb776e18acb294c87b8f460516d1383)
|
|
NT4 apparently returns this.
Andrew Bartlett
(This used to be commit 06b1416c3162a525eac9626957dd3e4adf1d257e)
|
|
Andrew Bartlett
(This used to be commit 27257170f4ad08c1a86be9c2a5edfa0b3da0b7a0)
|
|
Original patch provided by Gregory Leocadie <gleocadie@idealx.com>
rafal
(This used to be commit eb83a8210a939a0512f505a283148898ba6eceb1)
|
|
seem to need them at the moment. Functions completely untested so assumed
broken.
Original patch submitted by Gregory Leocadie <gleocadie@idealx.com>
My apologies if I have written your name incorrectly.
rafal
(This used to be commit 83460e01ee98267c1ae5f5cfca52ca8df4b30b0a)
|
|
(This used to be commit b896daf11c3efb1b3ca939575da9dab82b395777)
|
|
the Samba4 'net samdump'.
Andrew Bartlett
(This used to be commit b7eeea53b2f0e7b3a25a739e6b4774e2505735d3)
|
|
the decryption seperate to the callback functions.
Andrew Bartlett
(This used to be commit 4209f813add258bf7d805494fc0220696880a0b0)
|
|
(This used to be commit 14510a0ce9edeabbff99c234fd6fee8e2635a805)
|
|
rafal
(This used to be commit a784c46dd40ee2ea00fb67caeb358e76cdc0712f)
|
|
rafal
(This used to be commit b3fce5b94be2f9491a53673b1baecf0c8fe5b7c4)
|
|
(This used to be commit 7417f6fa8be637ccf04f8608e67174d6d5624662)
|
|
any possibility to pass such pointer from calling function... :)
rafal
(This used to be commit 08a8878436f3ba21666f43e9abafb27055a02e8a)
|
|
composite call.
rafal
(This used to be commit 227c9fb45bdba5ac795ee14f7e51ccaa18a2a0e1)
|
|
callback interface, so we can start dumping into more than just stdout
soon.
Also use the enums instead of uint32 where possible and valid.
Andrew Bartlett
(This used to be commit f0c67a4a24dbd7fc32fc864d61a21eeee587178e)
|
|
This brings in a compatability layer for Samba3 in Samba4 - where we
will start to define file formats and similar details.
The 'net samdump' command uses 'password server = ' for now, and
performs a similar task to Samba3's 'net rpc samsync'.
Andrew Bartlett
(This used to be commit 550f17f9924fe783917318753de7d1a388423908)
|
|
Andrew Bartlett
(This used to be commit 7c8a0d86d4c486198ed2cf52fad2a878ed635c8b)
|
|
a host and connect to its services prior to doing administrative tasks
via rpc calls.
rafal
(This used to be commit 84f5836d9012fb66c8aa5706a57af575711693cf)
|
|
rafal
(This used to be commit 96c3838d51c71318fdda3d1691552eba1feafb7d)
|
|
rafal
(This used to be commit de3409d6e5f7d199654e0511ed61a4b0808bf48d)
|
|
rafal
(This used to be commit 25dd10cedb7247ec90dface59df8704c97e667b8)
|
|
gets deleted.
rafal
(This used to be commit f78d1e4b35c7cb3d983da0bcb2717627b787d9f9)
|
|
want it to hang around not commited.
rafal
(This used to be commit 98d98b9bc7437e744e1e730fa8005b43fb1b672b)
|
|
rafal
(This used to be commit d40a6703f5b1987c08cf47f83ca0079dfcb4b151)
|
|
rafal
(This used to be commit ebf151ca6e740fb7939161de14a0adfc47f80010)
|
|
rafal
(This used to be commit c40e754700ff4068569ed2d3f8a8117d5d2f281c)
|
|
rafal
(This used to be commit 7f3aafca07126f2c42670041020b2b7dfb17fa5f)
|
|
- 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)
|
|
rafal
(This used to be commit 01cbed98b32c2050a665aec51a99288e4afb29c1)
|
|
secrets system, and not the old system from Samba3.
This allowed the code from auth_domain to be shared - we now only
lookup the secrets.ldb in lib/credentials.c.
In order to link the resultant binary, samdb_search() has been moved
from deep inside rpc_server into lib/gendb.c, along with the existing
gendb_search_v(). The vast majority of this patch is the simple
rename that followed,
(Depending on the whole SAMDB for just this function seemed pointless,
and brought in futher dependencies, such as smbencrypt.c).
Andrew Bartlett
(This used to be commit e13c671619bd290a8b3cae8555cb281a9a185ee0)
|
|
This adds the auth_domain module to the auth subsystem, and cleans up
some small details around the join process (ensuring all the right
info is in the DB).
Andrew Bartlett
(This used to be commit 858cbfb8210239aa85a01da95e5beb9546a998a5)
|
|
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)
|
|
- gtk+ (returned by GtkHostBindingDialog as well now)
- torture/
- librpc/
- lib/com/dcom/
(This used to be commit ccefd782335e01e8e6ecb2bcd28a4f999c53b1a6)
|
|
(This used to be commit e5bc6f4f1716568ae7022d61b5b35ee047b58414)
|
|
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)
|
|
uses for trusted domain records) in the secrets join records.
Andrew Bartlett
(This used to be commit a6c502832c4ef471bd423b795f210abf3bb96ca5)
|
|
used to be)
Add oxid mapping table support in DCOM
(This used to be commit e193555f0eec2dda8c8760e9668181200fef0a1e)
|