Review request: DNS server implementation

Stefan (metze) Metzmacher metze at
Mon Oct 18 05:30:40 MDT 2010

Hi Simo,

>> What does removing it actually gain you? The main bin/samba binary is
>> already tiny (58 kbytes on my machine, including debug symbols). All
>> the server components are enabled/disabled using smb.conf options,
>> which allows you to "not care" about a server component by not running
>> it.
>> What would we actually gain by using dlopen() on these instead of
>> linking?
> Allows us to build samba in multiple ways. For example single binary vs
> multiple binaries becomes possible in parallel and does not require a
> rebuild. It also allows to remove a function for good by simply deleting
> the relative shared object, so that even bad configuration cannot result
> in a daemon we do not want from running.
> Easier for embedded platforms to understand what to remove, they just
> simply avoid including the libraries corresponding to the services they
> do not need.

I think we already support that, we just need a way to dynamicaly specify
what modules should be build as shared objects on the configure commandline.
(Kai and Günther were working on that for the s3 waf build)

With this diff the LDAP server gets build as bin/modules/service/

diff --git a/source4/ldap_server/wscript_build
index e72f5f8..2cc0c35 100644
--- a/source4/ldap_server/wscript_build
+++ b/source4/ldap_server/wscript_build
@@ -6,6 +6,7 @@ bld.SAMBA_MODULE('LDAP',
+       internal_module=False,
        deps='CREDENTIALS LIBCLI_LDAP SAMDB process_model gensec
LIBSAMBA-HOSTCONFIG samba_server_gensec'

and make test still works...


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the samba-technical mailing list