Age | Commit message (Collapse) | Author | Files | Lines |
|
various data types:
Add ndr_flags argument to all ndr push/pull scalar functions
(This used to be commit ab490c0c882bb13de190546c50a0631ecb8255ad)
|
|
(This used to be commit 949f31ad2865699da0f3a9e827606abd762b10b7)
|
|
(This used to be commit e65741159d8578d629ccfcd863f034fda895f9fe)
|
|
for the swig wrappers.
(This used to be commit edb32b9b5175f720bce110bf2bb4cf136ed47142)
|
|
(This used to be commit 7f54c8a339f36aa43c9340be70ab7f0067593ef2)
|
|
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 5f40ff0f554323ed0a806be7a4d0f1fac97e3ffb)
|
|
(This used to be commit c40fb6625d5cc6b3ddadfdc3c63d7856a45ec134)
|
|
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 4cebc7a85810395a0b095127925bd88c7caddb63)
|
|
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)
|
|
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)
|
|
servers in smbd. The old code still contained a fairly bit of legacy
from the time when smbd was only handling SMB connection. The new code
gets rid of all of the smb_server specific code in smbd/, and creates
a much simpler infrastructures for new server code.
Major changes include:
- simplified the process model code a lot.
- got rid of the top level server and service structures
completely. The top level context is now the event_context. This
got rid of service.h and server.h completely (they were the most
confusing parts of the old code)
- added service_stream.[ch] for the helper functions that are
specific to stream type services (services that handle streams, and
use a logically separate process per connection)
- got rid of the builtin idle_handler code in the service logic, as
none of the servers were using it, and it can easily be handled by
a server in future by adding its own timed_event to the event
context.
- fixed some major memory leaks in the rpc server code.
- added registration of servers, rather than hard coding our list of
possible servers. This allows for servers as modules in the future.
- temporarily disabled the winbind code until I add the helper
functions for that type of server
- added error checking on service startup. If a configured server
fails to startup then smbd doesn't startup.
- cleaned up the command line handling in smbd, removing unused options
(This used to be commit cf6a46c3cbde7b1eb1b86bd3882b953a2de3a42e)
|
|
- nmblookup and net are generic, not torture programs.
- Add ntlm_auth
Andrew Bartlett
(This used to be commit a2a49d1be00bdf33f941890399d6cbdf46968d9b)
|
|
metze, can you look at automating this when you get time? We really
need a flag in config.mk for "BINARY::" sections for the install
location, something like:
[BINARY::nmblookup]
OBJ_FILES = \
utils/nmblookup.o
INSTALL_IN = bin
(This used to be commit a69c1a91307dc5bd13db94fdbb7cbaba90b074aa)
|
|
(This used to be commit a1c98101e4ebdcc4a9504d401a9d34c88c797e6e)
|
|
structure mapping features instead of doing it all ourselves.
This basically works, but has broken all the existing checked in Python
code.
Sample:
pipe = dcerpc.pipe_connect(binding,
dcerpc.DCERPC_SAMR_UUID, int(dcerpc.DCERPC_SAMR_VERSION),
domain, username, password)
r = dcerpc.samr_Connect2()
r.data_in.system_name = 'foo'
r.data_in.access_mask = 0x02000000
result = dcerpc.dcerpc_samr_Connect2(pipe, r)
(This used to be commit c2996ad910a24c977b4c0a1925118d36454514f7)
|
|
this out)
(This used to be commit 7bd4ced313592310475b7403b87c7606afb1b7c1)
|
|
(This used to be commit f9e56d39c943a3edd6a13b6d29fe4e614c32d289)
|
|
metze
(This used to be commit 030bfd8d7feb16fd6d5117d17913b77b1468a507)
|
|
around broken solaris headers some other way.
(This used to be commit 1333522a6beea8d474aa36390acbd265b63413d3)
|
|
(This used to be commit 11277ddb4ca8a2917565f4e211816cbba431b90d)
|
|
(This used to be commit d9c1bf10608ecc3d6a4aace44fb0dce3547c5f53)
|
|
(This used to be commit dd67a5d833d7e44ff0ec1ba9f5c55c2b1e121b9a)
|
|
(This used to be commit 1d1a9c11ee681540ef8a1029409bb24fc26f976c)
|
|
files don't need to match the type names in the generated headers
- with this type mapping we no longer need definitions for the
deprecated "int32", "uint8" etc form of types. We can now force
everyone to use the standard types int32_t, uint8_t etc.
- fixed all the code that used the deprecated types
- converted the IDL types "int64" and "uint64" to "dlong" and
"udlong". These are the 4 byte aligned 64 bit integers that
Microsoft internally define as two 32 bit integers in a
structure. After discussions with Ronnie Sahlberg we decided that
calling these "int64" was confusing, as it implied a true 8 byte
aligned type
- fixed all the cases where we incorrectly used things like
"NTTIME_hyper" in our C code. The generated API now uses a NTTIME for
those. The fact that it is hyper-aligned on the wire is not relevant
to the API, and should remain just a IDL property
(This used to be commit f86521677d7ff16bdc4815f9524e5286026f10f3)
|
|
This is all done in the lorikeet/ethereal Makefile now.
(This used to be commit 5ec9fad5cfc9c6010550aa1890e9d213030db55d)
|
|
(This used to be commit dc8c7cb85cf87d5976573ea6e9de43c0c9d5f44a)
|
|
(This used to be commit 425b988541fa669e7f2905fe959522f2d2d50da1)
|
|
(This used to be commit c252a286efcb9ca2024c8d234c8a65855522fb25)
|
|
build system. This still generates bogus targets (i.e
bin/swig_dcerpc.so.0.0.1) and the subsystem initialisation needs to be
done by hand but it is less of a hack.
(This used to be commit e9b69d19a84b31966fb6e66e9d8682b0f9b40a47)
|
|
(This used to be commit a38db33713348e8a07d3fc932865b2f649dc962f)
|
|
(This used to be commit 8ca1e3aa3b5007f9da3e951e15e0380ae170a1cf)
|
|
(This used to be commit 493ba2da6bb93d080ff92c50d920df8c858f3010)
|
|
structure names if they started with those strings.
(This used to be commit e983de6ead6ed23b51c2df70e69586b1e7be5a60)
|
|
well but needs to be stuck in a subtree.
(This used to be commit a34212247b5dfb87d87c1ce12aab1835c88a0651)
|
|
Start work on supporting bitmaps.
(This used to be commit 6f418f14267291bf8637e5dcd7e8ceca4e430314)
|
|
(This used to be commit 4640d3371eb57de90d972719e8550fea65831f74)
|
|
(This used to be commit edaf81b6395e1af06e9546027f9a9c3c4975c4b4)
|
|
just yet. More testing required.
(This used to be commit c2664bb365e31a160b72e6eecfdfce9921e913f0)
|
|
I can only get something useful happening by using the BINARY keyword
as nothing else seems to generate dependency lists that can be used
when linking the swig shared libraries. Anyway this is a lot nicer
than having lots of junk in makefile.pm.
(This used to be commit 71a22f5206086c5ab7315d38934d65483aff7a70)
|
|
a dissector for. A hand written dissector needs to be added to eparser.c
for the plugin to link.
(This used to be commit d4f7f6b0b41cb572320a5aeaf771c5af2b7bf13d)
|
|
(This used to be commit 362151788bed06d934f111459abe7f6491362906)
|
|
structures
- added "nopull" and "nopush" flags, to allow for externally written parsers for sub-structures
(This used to be commit f65f239978425de795a0e188aaad3d5d1167da32)
|
|
(This used to be commit 852ad354b481f130f80213f2924ad44d10340b21)
|
|
used to be called something like "Level, R->out.info" but now is called
"Lsa PolicyInformation".
(This used to be commit be2bb36856bee1c2882e063beb7c04ac5e5889de)
|
|
the last fix worked at all)
(This used to be commit 99cef2e5a0412ede455cb1579541550efa49502a)
|
|
(This used to be commit d2946dfabbc727633cdb17c3956fc120e214140c)
|
|
the hex display window highlights the part of the buffer occupied by
the structure. Cool!
(This used to be commit b5c13fc6b8fe3f8dfa5ada73d33bd13cd607ebc4)
|
|
(This used to be commit 40d49d6279431bf1af343e3eb22038ef9d8b39e6)
|