| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All policy handles will be destroyed on pipe close. No bitmap
used, and all handles allocated/deleted in the same way.
The ugly, handle specific code in srv_lsa_hnd.c has been removed,
now each handle type can store a private data field along with
a function that will free the private data on handle close.
This means the linked list of printer handles has been removed,
as all the info has been added into the pipes_struct.
The only issue was enumerating all printers across all open
pipes on a change message receipt. This was acheived by adding
an enumerate pipes function. This will be a little difficult to
move to HEAD due to the samr changes, and probably needs a little
more testing with insure.
However, even if it turns out that handles are persistent between
NT pipes in the same smbd I can fix this by transferring the handle
linked list to another pipe of the same type on handle close if this
turns out to be the case.
Jeremy.
|
| |
|
|
|
|
| |
file descriptor allocation order is identical to the kernels.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
prompted by the interpret_security() dead code that Jean-Francois
pointed out I added a make target "finddead" that finds potentially
dead (ie. unused) code. It spat out 304 function names ...
I went through these are deleted many of them, making others static
(finddead also reports functions that are used only in the local
file).
in doing this I have almost certainly deleted some useful code. I may
have even prevented compilation with some compile options. I
apologise. I decided it was better to get rid of this code now and add
back the one or two functions that are needed than to keep all this
baggage.
So, if I have done a bit too much "destroying" then let me know. Keep
the swearing to a minimum :)
One bit I didn't do is the ubibt code. Chris, can you look at that?
Heaps of unused functions there. Can they be made static?
|
|
|
|
|
|
|
|
| |
removed most cases where a pnum is used and substituted a pipes_struct*.
in files.c I added a offset of 0x1000 to all file handles on the
wire. This makes it much less likely that bad parsing will give us the
wrong field.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
private to files.c)
It now is a doubly linked list with a bitmap for allocated file
numbers. Similarly for the fd_ptr code. I also changed the default
maximum number of open files to 4096. The static cost is 1 bit per
file.
It all seems to work, and it passes the "does Sue scream" test, but if
you see weird behaviour then please investigate. With the volume of
new code that has gone in there are bound to be one or two bugs
lurking.
note that you must do a "make clean" before building this as many data
structures have changed in size.
|
|
bitmap.c: added bitmap hanlding code in preparation for increasing the
default max open files to several thousand
|