Age | Commit message (Collapse) | Author | Files | Lines |
|
interface. More development will come on top of this. Remove the
"mangled map" parameter.
Jeremy.
(This used to be commit dee8beba7a92b8a3f68bbcc59fd0a827f68c7736)
|
|
This adds the two functions talloc_stackframe() and talloc_tos().
* When a new talloc stackframe is allocated with talloc_stackframe(), then
* the TALLOC_CTX returned with talloc_tos() is reset to that new
* frame. Whenever that stack frame is TALLOC_FREE()'ed, then the reverse
* happens: The previous talloc_tos() is restored.
*
* This API is designed to be robust in the sense that if someone forgets to
* TALLOC_FREE() a stackframe, then the next outer one correctly cleans up and
* resets the talloc_tos().
The original motivation for this patch was to get rid of the
sid_string_static & friends buffers. Explicitly passing talloc context
everywhere clutters code too much for my taste, so an implicit
talloc_tos() is introduced here. Many of these static buffers are
replaced by a single static pointer.
The intended use would thus be that low-level functions can rather
freely push stuff to talloc_tos, the upper layers clean up by freeing
the stackframe. The more of these stackframes are used and correctly
freed the more exact the memory cleanup happens.
This patch removes the main_loop_talloc_ctx, tmp_talloc_ctx and
lp_talloc_ctx (did I forget any?)
So, never do a
tmp_ctx = talloc_init("foo");
anymore, instead, use
tmp_ctx = talloc_stackframe()
:-)
Volker
(This used to be commit 6585ea2cb7f417e14540495b9c7380fe9c8c717b)
|
|
(This used to be commit 17df313db42199e26d7d2044f6a1d845aacd1a90)
|
|
(This used to be commit c5caea43af154671448df82881efe09a5c982386)
|
|
Jeremy.
(This used to be commit 43ddfb8c918bd27e2efd3b54077db815da80a53a)
|
|
to ERRDOS, ERRfilexists for NTCreateX and NTTransCreate.
Jeremy.
(This used to be commit 5b2316d1734765ef6c31ff09beea974d9629d17f)
|
|
(This used to be commit 42b07a52b9f4fe147426e9156958cb4d33691678)
|
|
(This used to be commit a6400ca6e2301d1cfc1d6a513dc7809ed99d7b58)
|
|
(This used to be commit 489436a65632c4e6c1001a23dd33c896e9d7dfde)
|
|
(This used to be commit be67bb50eef88f4d56f48e785c1e5865616f5f33)
|
|
(This used to be commit 607b3ab8bc6052770f0324b57f3db6e1c11a7005)
|
|
(This used to be commit 189876a664efcfb601a8b14c21f272ed7d9f6b41)
|
|
(This used to be commit 4cb60abd4c7f32a51f0e9be0d226fe09c794bed8)
|
|
(This used to be commit 0e47a6643e9b3f546e1905e5152d3abe2511bcd9)
|
|
(This used to be commit f44e0aac2b47ea377c2ce701426e57ee15c42fe7)
|
|
(This used to be commit 925ed1e186da594b5c40d3abbad885060ca87fd0)
|
|
(This used to be commit 8e6485e0782e9ab31b07dd9f662bd845f58faf4a)
|
|
(This used to be commit 73392485f4c3bf8b4138b500b4882c492bf96358)
|
|
(This used to be commit ca18ba96be84ed12003af84c53cc5f2e92fcc984)
|
|
Not pretty, but necessary to convert the calls one by one
(This used to be commit 523a463be427da0c3dbe01399e87b82b9f759512)
|
|
(This used to be commit 8b5e51c2668799890d033a371e5b9a57b8f086c6)
|
|
(This used to be commit d97a2e91d3c44ad39e6a1ee369e1e906d98707f5)
|
|
(This used to be commit b2ac1a3ec59f7c804521e5a478916fba16f4b3d4)
|
|
(This used to be commit 197c2310792965f94d66ad7c8016a1594945bdf8)
|
|
(This used to be commit 9ab87e644e4dc54ebbcb8ad300fe338f4a809ba9)
|
|
(This used to be commit 8a910d37ccc767eb8ab25ef2af3a136ad874346f)
|
|
metze
(This used to be commit 34d821daf0af6ef1e51dfd5cd99741f426d6956e)
|
|
metze
(This used to be commit 7a98e09f2e4d5eff074e2d71dd1ff2f019a4547a)
|
|
The really pure bugfix would have replaced pparam by *pparam, but we pulled
the fid anyway.
Metze, in line 2421 the FSP_BELONGS_CONN is commented out, is that intended?
The FSCTL_CREATE_OR_GET_OBJECT_ID ioctl did not have it.
Volker
(This used to be commit 2c1376225b98a9325dfc2d00bad1722e63cf522b)
|
|
(This used to be commit 34a00d8aa9af167c65baf7fc24de3c8e192f5ec0)
|
|
This is in preparation of the trans2 conversion: srvstr_push should not
look at inbuf directly.
(This used to be commit 5fd7e6a3821bea26d352e3edc23b7a216b1200e5)
|
|
This removes the buf==NULL condition in file_fsp(), but wherever it is called
we do have a buffer anyway.
Volker
(This used to be commit d70a1f82fed64fa332f16407bea7c6671f48c59a)
|
|
(This used to be commit 6e5f39379f60e30cd0445a049df619ec8f65fc01)
|
|
(This used to be commit 08acadae56e0b603ccac7dc21f89d5071a33b255)
|
|
nt_open_pipe_new() is a copy of nt_open_pipe(). It will stick for a bit
until do_nt_transact_create_pipe is converted as well.
(This used to be commit 247d6baaed6f017328de6688e6daa15aa6aaa18e)
|
|
The routines called will follow
(This used to be commit 28025fc17efa033515cef94789e518a6615e141f)
|
|
In particular, check if we have enough parameters
(This used to be commit 7a19b3071e1d5d5002013a67794261bf6be0c81d)
|
|
InBuffer/OutBuffer
The complete history of this patch can be found under
http://www.samba.org/~vlendec/inbuf-checkin/.
Jeremy, Jerry: If possible I would like to see this in 3.2.0. I'm only
checking into 3_2 at the moment, as it currently will slow down operations for
all non-converted (i.e. all at this moment) operations, as it will copy the
talloc'ed inbuf over the global InBuffer. It will need quite a bit of effort
to convert everything necessary for the normal operations an XP box does.
I have patches for negprot, session setup, tcon_and_X, open_and_X, close. More
to come, but I would appreciate some help here.
Volker
(This used to be commit 5594af2b208c860d3f4b453af6a649d9e4295d1c)
|
|
max_param or return NT_STATUS_OK.
Jeremy.
(This used to be commit ab4af60d1ab4583fd27deb63b3f7baa1ede3473d)
|
|
(This used to be commit c06bc91085c24bf6cc4491448ba12c5c2f1c7937)
|
|
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
|
|
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
|
|
this is really not worth globals.
Jeremy, please check for 3.0.26.
(This used to be commit 6e655500c05f2584094329a95ad5791160147fd9)
|
|
(This used to be commit a3e5fe1693a3e1830561d60254d6a3bfc0c30686)
|
|
(This used to be commit 3b5422c9a401321788d824c68da31a39d85aece1)
|
|
The function name reduce_name is misleading, making the user believe it
changes an argument.
(This used to be commit 68234f0bc6fb4d6d99ae94ff067db118c60804aa)
|
|
(This used to be commit c38c31afb770350e47713bf1025c23fd774607ab)
|
|
Next step is to remove the bug that in the trans2 code we use the inbuf
as the base pointer to decide whether we need ucs2 alignment where we
need to use the beginning of the params buffer
Jeremy, last one for today to reviw :-)
(This used to be commit 18078b9faa3820fb34604063c9079c1ebe3ad47f)
|
|
checkin will pull this up to srvstr_get_path. At that point we can get more
independent of the inbuf, the base_ptr in pull_string will only be used
to satisfy UCS2 alignment constraints.
(This used to be commit 836782b07bf133e9b2598c4a089f1c810e4c7754)
|
|
that contains some of the fields from the SMB header, removing the need
to access inbuf directly. This right now is used only in the open file
code & friends, and creating that header is only done when needed. This
needs more work, but it is a start.
Jeremy, I'm only checking this into 3_0, please review before I merge it
to _26.
Volker
(This used to be commit ca988f4e79e977160d82e86486972afd15d4acf5)
|