Age | Commit message (Collapse) | Author | Files | Lines |
|
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 f9e56d39c943a3edd6a13b6d29fe4e614c32d289)
|
|
This is all done in the lorikeet/ethereal Makefile now.
(This used to be commit 5ec9fad5cfc9c6010550aa1890e9d213030db55d)
|
|
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)
|
|
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)
|
|
(This used to be commit 1fc9448ccb0c2038c128e13535fce83d32f39058)
|
|
platforms. The problem is that some loaders (for example the IRIX 6.5
machine us4 in the build farm) must have libs listed after object
files that depend on them on the link line. If you put the libs first
then all the symbols in the libs remain unresolved.
I think the correct fix for this is to separate xxx_LINK_LIBS out from
the current xxx_LINK_FLAGS, and use xxx_LINK_FLAGS followed by
xxx_LINK_LIST followed by xxx_LINK_LIBS. I'm hoping metze or jelmer,
as our build wizards, might take a look at this when they get time.
This interim fix should work fine, but its rather ugly, as it lists
the flags and libs twice in each link.
(This used to be commit db7d43fbb95748c85316b41ad3dc4eb967ed8a08)
|
|
if you need Dumper for debugging (and it is damn useful!) then please
use the require trick in MyDumper() from pidl so we don't end up
depending on it. Too many systems don't have it.
(This used to be commit b9f32d2812bde0a4389971487006f9c553b5e3c1)
|
|
- this creates a new task and then starts a process_model "single"
with service "winbind_task"
- that means with -M single everything is in one process
with - M standard winbind is a seperate process but didn't fork for each connection
with -M thread winbind is a seperate thread but didn't thread for each connection
- the dummy server listen s on /tmp/.winbind/echo
and for better testing with telnet also on 127.0.255.1 port 55555
metze
(This used to be commit 5190f60dedc4076d94fbf77e02eb3b5312d953ec)
|
|
important
change was in the ldb_msg_add_*() routines, which now use the msg as a context,
and thus it needs to be a talloc ptr)
(This used to be commit 1a4713bfd0e519f3eb7b3241121ff914a6eeef18)
|
|
outside the tree, instead defined _SAMBA_BUILD_ inside the Samba
build. This makes it easier to pull code out of Samba for external
use.
(This used to be commit 09e98c8745cca7ccb1ad7134c0c09b8e4c0f4f06)
|
|
the idea is to have a directory service db layer
which will be used by the ldap server, samr server, drsuapi server
authentification...
I plan to make different implementations of this interface possible
- current default will be the current samdb code with sam.ldb
- a compat implementation for samba3 (if someone wants to write one)
- a new dsdb implementation which:
- understands naming contexts (directory parrtitions)
- do schema and acl checking checking
- maintain objectGUID, timestamps and USN number,
maybe linked attributes ('member' and 'memberOf' attributes)
- store metadata on a attribute=value combination...
metze
(This used to be commit 893a8b8bca2f020fbbe6f469aaa8dd4478249eb8)
|
|
- move dom_sid, security_descriptor, security_* funtions to one place
and rename some of them
metze
(This used to be commit b620bdd672cfdf0e009492e648b0709e6b6d8596)
|
|
metze
(This used to be commit 461ff03ce38c6bf6b90f95029287c6e6b01fc1e0)
|
|
(This used to be commit 9929aa94ef01eba64ccf41f4b22df0cdbe3e96b3)
|
|
(This used to be commit f28638628a10fbb42276517527d681bd0b3f6217)
|
|
modules
(This used to be commit c7757dd9adc18549fa3f908c2714624ec3f91394)
|
|
so while this does compile, it does not work yet.
(This used to be commit 3d885562c9f83d60c5d4957b067e35387dfa50dd)
|
|
(This used to be commit a7c3c8cb6256acf672996fc6bf6128865a9ba0a9)
|
|
(This used to be commit 2a38b77a1d8674b46028214896e37747c4082f13)
|
|
some machines)
(This used to be commit 9e65718102da901bbe07213c6cb16d837ccc3127)
|
|
- Re-disable tdbtool (it was building fine on my Debian box but other
machines were having problems)
(This used to be commit 0d7bb2c40b7a9ed59df3f8944133ea562697e814)
|
|
can use installed.
(This used to be commit 359a3570f32902db0e9f59f168af464e8c652cea)
|
|
this support, run SUBSYSTEM_OUTPUT_TYPE=STATIC_LIBRARY ./config.status
I haven't enabled this by default because there are some circular dependencies
in the makefile that have to be resolved first (LIBRPC depends on LIBSMB
and LIBSMB depends on LIBRPC..)
(This used to be commit fc0432069bf3569a47a7c32f4bf789cec2ca44db)
|
|
- Use .mk files directly (no need for a SMB_*_MK() macro when adding a new SUBSYSTEM, MODULE or BINARY). This allows addition of new modules and subsystems without running configure
- Add support for generating .dot files with the Samba4 dependency tree (as used by the graphviz and springgraph utilities)
(This used to be commit 64826da834e26ee0488674e27a0eae36491ee179)
|
|
the hierarchy in the init functions is correct now
will also make it easier to implement some other features
(This used to be commit cbe819a75568403ac8850ea4d344c607a46d61c2)
|
|
(This used to be commit e32f87fdea3070ea715ef547f2a406aa63ab775f)
|
|
(This used to be commit dab264b78cdf709f1e2618b2b52b0e4aa2ad85b7)
|
|
files
(This used to be commit fb849a309b823296a31bbf0b5b683760119c615c)
|
|
(This used to be commit 975f06b626a3cc25e69bbe95dcfa04dc78e3dc92)
|
|
rather then using "cat"
(This used to be commit 4d018b2b701faa56d7e3bb7634729296b53e0acb)
|
|
This allows us to call 'make eparser_idl', generate the files required
by the ethereal pidl plugin, and put them in the right place. (See
lorikeet/ethereal)
Andrew Bartlett
(This used to be commit bd9497b092335b2646a1955ea7c55ad33eb7d538)
|
|
(This used to be commit 0cf3978714cbe7ee49f5ab182ed007fcdf94b33b)
|
|
(This used to be commit 358f6410639f4843a2781094fb102952f9dc8639)
|
|
Both subsystems and modules can now have init functions, which can be
specified in .mk files (INIT_FUNCTION = ...)
The build system will define :
- SUBSYSTEM_init_static_modules that calls the init functions of all statically compiled modules. Failing to load will generate an error which is not fatal
- BINARY_init_subsystems that calls the init functions (if defined) for the subsystems the binary depends on
This removes the hack with the "static bool Initialised = " and the
"lazy_init" functions
(This used to be commit 7a8244761bfdfdfb48f8264d76951ebdfbf7bd8a)
|
|
modular headers confine the warnings, and everwhere else we need them.
Use the gcc option to suppress the silly strftime warning.
Andrew Bartlett
(This used to be commit 0bf3c245902da7e2e1a6b03c410d49c79f43edc7)
|
|
the usage of external libraries.
(works currently only with the pkg-config detected libs)
metze
(This used to be commit 2640f2f57a4d56e07d946d7bb48d2a0ea110d06e)
|
|
(This used to be commit f9038ee62f623ea07ca4c320b979e876464dcc96)
|
|
metze
(This used to be commit e12595a750ea3f5ccc1ca8e628b707c0753394d7)
|
|
(This used to be commit f4c04fcf8f185b966c4ceb455aef4e9e54a98897)
|
|
auto-prototype objects, using
SMB_SUBSYSTEM_NOPROTO()
(This used to be commit e6b69183de785641144f9abb1853cab73c70073e)
|
|
(This used to be commit 5dcb300fca592cc62d325c47c857b046c90e7b42)
|
|
(This used to be commit cc3f71c4658de6bb8216905d7657f6217dc55ba0)
|
|
Examples of binding strings are :
ncalrpc:[EPMAPPER]
ncacn_unix_stream:[/tmp/epmapper]
N.B. The unix socket support in lib/socket/ appears to close and remove the
socket it is listening on after the first client disconnects so until
that has been fixed, it is only possible to do one ncalrpc: or ncacn_unix_stream: request per instance of smbd :-)
Support for looking up NCALRPC names via the endpoint mapper will be added later.
(This used to be commit 426f3e63cae3d306dcdc13ee4b655eed30057ff8)
|
|
transports.
ncalrpc uses the new config option "ncalrpc dir" for creating unix sockets.
(This used to be commit b15cfbe2512961a199ecb069730d9a19787579f5)
|