Samba DEBUG in OpenChange

Jeremy Allison jra at
Sun Dec 13 01:51:05 UTC 2015

On Sat, Dec 12, 2015 at 04:35:28PM +0000, Jelmer Vernooij wrote:
> On Wed, Dec 09, 2015 at 06:43:53AM +0100, Volker Lendecke wrote:
> > On Wed, Dec 09, 2015 at 02:13:00AM +0000, Jelmer Vernooij wrote:
> > > Sorry, but the point of this e-mail thread escapes me. You asked
> > > us what we need to fix compatibility with newer versions of Samba, and
> > > now you don't like the answer you're telling us we should just fork
> > > and go away?
> > 
> > Initially I thought the issue is mainly about debug. During the thread I
> > realized that the integration goes a lot further, OpenChange has a much
> > deeper dependency on Samba iternals than I had initially realized. Today
> > it's about debug, tomorrow it will be some libndr aspect and next week
> > it will be something else. I am just worried that we will break your
> > builds in the future without knowing again and again. This is what led
> > me to think a fork is your best bet.
> OpenChange only depends on two or three dozen functions in Samba,
> exposed through various libraries. We're trying to get it down to just DCE/RPC/NDR.
> At the moment we use:
>  * DEBUG, as it's inherently tied to the rest of Samba
>  * DCE/RPC client and server libraries
>   + NDR
>   + pidl
>  * LoadParm (mostly lpcfg_parm_{string,bool})
>  * Service registration in the daemon
> We have concrete plans to migrate away from both DEBUG and LoadParm, but
> for that the DCE/RPC and NDR libraries in Samba that we use will need
> to be able to work without DEBUG.

So as far as I can see it's the DEBUGXXX() functions
inside ndr_print_debug_XXX() functions that are causing
the problem - yes ?

Why not just replace these functions calls with
ones that go through a global vector that can be

On startup Samba writes in the functions it uses
(dbgtext() and friends) and OpenChange writes in
it's functions.

Is that a plan ?

More information about the samba-technical mailing list