Age | Commit message (Collapse) | Author | Files | Lines |
|
specific routines like resolving a pdc).
Also, couple of formatting fixes.
rafal
(This used to be commit b9deaa995da3a732514d5ceab0010adb58be5fe0)
|
|
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 03a228477ea525dbe19d9661cd7c027e594f0fe1)
|
|
rafal
(This used to be commit aa4cd8f9870b80954801ee588a36fdf286f59f0a)
|
|
rafal
(This used to be commit 96c3838d51c71318fdda3d1691552eba1feafb7d)
|
|
want it to hang around not commited.
rafal
(This used to be commit 98d98b9bc7437e744e1e730fa8005b43fb1b672b)
|
|
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 ec177c92266713e9a486e536c2d81af4eaa2425e)
|