Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit 180f29f9e05e75e8ed32d010bc0c57a55ea9d843)
|
|
gettimeofday() call
and just use timeval_current() when its actually needed
(This used to be commit 236403cc4dc2924ed6a898acae0bb44cc1688dcc)
|
|
it. epoll is much more scalable than select(), but only exists on some
systems (such as Linux with the 2.6.x kernel). The code detects any
epoll system call failures at runtime and falls back to select() if
there is a problem, so it should be safe to compile this on a 2.6
kernel and run it on a 2.4.x kernel.
The speedup is quite large. It gains 20% in packet rate in the
BENCH-NBT test, on top of another 20% gain from the better timer
handling I added earlier. The really big gain will be when we are
dealing with large numbers of file descriptors. With epoll we can
handle hundreds of file descriptors all O(1), whereas with select it
is O(n).
(This used to be commit 26aa1aa69377e43da2942a42d137b95801e9fa1a)
|
|
(This used to be commit 90535bab957ddaa7bfcdf43e199581f3352bdc8a)
|
|
(This used to be commit 5f40ff0f554323ed0a806be7a4d0f1fac97e3ffb)
|
|
(This used to be commit 7be0bc93bd6757e52fd10bd3d3b3d1a8f5221452)
|
|
(This used to be commit c40fb6625d5cc6b3ddadfdc3c63d7856a45ec134)
|
|
events much more efficient (no linked lists need to be traversed, so
large numbers of timers are no problem)
(This used to be commit b45b9436d78b0ad288b27a1023579bb566ca6202)
|
|
make it possible to add optimisations to the events code such as
keeping the next timed event in a sorted list, and using epoll for
file descriptor events.
I also removed the loop events code, as it wasn't being used anywhere,
and changed timed events to always be one-shot (as adding a new timed
event in the event handler is so easy to do if needed)
(This used to be commit d7b4b6de51342a65bf46fce772d313f92f8d73d3)
|
|
(This used to be commit 0c96cc8babf222731375a59e86c64468c6dbda33)
|
|
(This used to be commit 7720d247fed3343a5bf39b2eedf34604f9203a37)
|
|
bind twice on each interface, once using the broadcast address and
once using the specific IP. We then only listen on the wildcard
address if we don't have "bind interface only" set. This also happens
to simplify the code that finds the right interface for an incoming
request.
(This used to be commit b3edf17281c5d82abb40dab817bf2de43f9f6c3f)
|
|
being treated as events that never time out, so they happened on the
next other event
(This used to be commit 2eefe4f8dea4a9060f229417777435133c684a0c)
|
|
put generated domain zone there as well
(This used to be commit f4fc885c14da517051cbcf7296b804da0f5f70b4)
|
|
NBT-REGISTER test that tests that a server correctly defends its name
against broadcast name registrations.
Jeremy, you might like to look at this. Samba3 nmbd fails to respond.
(This used to be commit bb1298a2eb192ec2cd547a299334cc82a63a5acc)
|
|
the header, and defined on the wire as a 4 byte network byte order
IP. This means the calling code doesn't have to worry about network
byte order conversions.
(This used to be commit 72048e37179dd5b9ada0c5280d2f0d8c23d1a17d)
|
|
metze
(This used to be commit cbc1f172822363e1fc4495d27248464403748cae)
|
|
metze
(This used to be commit 79e79552e62bbef61eb4f3dff104c6415c3e2ef8)
|
|
so we can use it in nbt.idl and
get a nicer debug output
metze
(This used to be commit abacbc9192646f6f3c720758ab65889b82b9ae7b)
|
|
metze
(This used to be commit c5a24792db61b688f23cf7d2509993049cad4a75)
|
|
metze
(This used to be commit 1c48c30aaf58d069cdba2f59b5c012bc4bdd3efc)
|
|
metze
(This used to be commit d8aeb69ea85cc0df89e213482c446eb8e793bc86)
|
|
metze
(This used to be commit 12b0841b30fdb6d7ba8c3dc9991c172f7fb3d31f)
|
|
metze
(This used to be commit 8507a57b88c6acce84d9ccc580e17c7f96c6d7af)
|
|
they're in hand declared
metze
(This used to be commit fcc690a274963565d13fc358edc61db57c4111b9)
|
|
metze
(This used to be commit add1c579375d08040f722946da31ee3862f9e7ac)
|
|
metze
(This used to be commit 344367cc4cdb232c394ce45ab64cc357cce4259f)
|
|
metze
(This used to be commit 670e088e94468a5311353dbbaa7e34d200999313)
|
|
- add #include "system/filesys.h" where needed
metze
(This used to be commit 6bb07a0ed8a4baaeaa1d63bde8ce773364860fd2)
|
|
metze
(This used to be commit 4cebc7a85810395a0b095127925bd88c7caddb63)
|
|
flight at a time.
(This used to be commit 2d23c665ffda7619dc9b9c2dbcbc422b0854998c)
|
|
(This used to be commit 69e97ad9c397261cd6edb6f7504021942f16c0ec)
|
|
rename the core structure to composite_context and the wait routine to
composite_wait() (suggestion from metze)
(This used to be commit cf11d05e35179c2c3e51c5ab370cd0a3fb15f24a)
|
|
event handler to trigger a free that could cause a timer to be
triggered twice. This changs fixes it properly by marking timer events
to be removed using a zero next_event time.
I also changed the default timeout for events.c to be infinite, so if
there are no events to handle then smbd will sit forever doing
nothing. That allows it to be swapped out completely when idle.
(This used to be commit 0f1fb7017ee441cbebcad45900435adb57ca1760)
|
|
(This used to be commit 984c737c1b5e9106979be95738c11f52ae6cddc2)
|
|
reporting any
name conflicts
(This used to be commit 69e6a1cd4bac665debb10601d1a3ddc0ae86e779)
|
|
event code, as elements of the callers packet structure could go away
while the queue is pending (if for example a name was de-registered
while a packet referencing that name is queued)
(This used to be commit 6726f15cf44388e5787eec223a8c9778110a508f)
|
|
using tee
(This used to be commit e73e49aaa64f6f976918f087cf196b00eecc3eb2)
|
|
against Samba4.
Also added support for the '*' wildcard name
(This used to be commit 2dd7ccf72444db668fa970c3a95de1448baea224)
|
|
broadcast name registration demands per name per interface at 1 second
intervals, then send a name overwrite request and demand. Any name
conflict replies are reported.
(This used to be commit d656fba6f1a2e9d8c03893741327e5fb59c5271e)
|
|
(This used to be commit 506e1e823cd3f652a793db9f4c43147d298b9b8b)
|
|
(This used to be commit 4c0cc5fc11241c8a19081c4944b162c29da31603)
|
|
names on the network and answers name queries. Lots of details are
still missing, but at least this now means you don't need a Samba3
nmbd to use Samba4.
missing pieces include:
- name registrations should be "shout 3 times, then demand"
- no WINS server yet
- no master browser code
(This used to be commit d7d31fdc6670f026f96b50e51a4de19f0b920e5b)
|
|
- added error checking on socket startup in nbtd
(This used to be commit 5707ebc9ecdce5c195a2788ab1e4214788a086ea)
|
|
the packets it receives, but it at least shows how the server
structure will work.
To implement it I extended the libcli/nbt/ library to allow for an
incoming packet handler to be registered. That allows the nbt client
library to be used for low level processing of the nbtd server packets.
Other changes:
- made the socket library always set SO_REUSEADDR when binding to an
interface, to ensure that restarts of a server don't have to wait
for a couple of minutes.
- made the nbt port configurable. Defaults to 137, but other ports
will be useful for testing.
(This used to be commit 2fedca6adfd4df9e85cc86896dfa79630777a917)
|
|
asn1-tied-to-blocking-sockets code into the ldap client and torture
suite, and out of the generic libs, so nobody else is tempted to use
it for any new code.
(This used to be commit 39d1ced21baeca40d1fca62ba65243ca8f15757e)
|
|
open_socket_out() as its used by the ldap client code (uggh)
(This used to be commit 95d9766be8b08b7ca52c24d4ed3313e147edb159)
|
|
destructors are used to remove pending socket events
(This used to be commit ce62105434ab02e94e38897409c3512905c48f02)
|
|
themselves are run as a single process, but run as a child of the
main process when smbd is run in the standard model, and run as part
of the main process when in the single mode.
- rewrote the winbind template code to use the new task services. Also
fixed the packet queueing
- got rid of event_context_merge() as it is no longer needed
(This used to be commit 339964a596689278d2138cff05d7d444798a3504)
|
|
these are the stream server helper functions
(This used to be commit 3c5a7650a9730d74503b759bccafbb0fa3bbce78)
|