[PATCH] Cleanup - remove unused functionality. -- OpenChange break

Andrew Bartlett abartlet at samba.org
Tue Apr 18 20:19:40 UTC 2017

On Tue, 2017-04-18 at 11:18 -0700, Jeremy Allison via samba-technical
> On Tue, Apr 18, 2017 at 09:07:26PM +0300, Alexander Bokovoy wrote:
> > On ti, 18 huhti 2017, Jeremy Allison wrote:
> > > On Tue, Apr 18, 2017 at 08:46:48PM +0300, Alexander Bokovoy
> > > wrote:
> > > > 
> > > > I'm slightly worried about removal of the
> > > > lpcfg_register_defaults_hook()
> > > > and friends. Sure, Openchange seems to be dead but people still
> > > > use
> > > > Zentyal's fork which was updated a year ago.
> > > 
> > > It's a horrible external abuse of our code, which
> > > prevents us from modernizing our internals.
> > > 
> > > I want rid of these monkeys on our back.
> > 
> > All I want to see is a louder announcement that shatter is coming.
> > Without being sound how could they know it is a scheduled drop?
> > Announcing the removal under "unused functionality" cleanup is
> > living us
> > without any towel. Have you put these plans somewhere else half a
> > year
> > ago, perhaps?
> This is for 4.7+. It's not like I'm removing from
> current releases.
> I can add a note to the WHATSNEW if you like ?

That would be a good start.

> The problem is this is a one-project-private
> hack that somehow has become embedded in Samba
> code and is now a barrier to fixing real bugs
> and modernizing our code.

As hacks go, it is on par with the hacks that VFS modules, even in-
tree, do when they override smb.conf settings on load.  It is just that
in the source4 code we don't have a global loadparm context to refer

> If it's essential to Zentyal's fork they
> need to carry it as a private patch, that's
> all I'm saying. That's what a fork means
> after all. This interface isn't promised
> as a public ABI.

I don't see it as essential - nothing this particular API provides
can't be provided by an installation script (like Samba's provision)
that writes out smb.conf values.  It was added quite recently (2015) in
an attempt to make Openchange easier to install, and so more viable as
a project:

commit 782e8d6aabd6535448992f1ee69f25c71e8f2b6c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Mar 16 12:30:27 2015 +1300

    lib/param: Add hook that allows modification of default settings.
    This is useful for reducing the amount of configuration necessary for
    The hook is ideally registered from a plugin initialization function,
    so that it automatically gets used whenever the plugin is installed.
    This makes it possible for plugins to e.g. extend the default value for
    the list of enabled dcerpc endpoint services.
    Like all our interfaces, callers are expected to use this API
    responsibly. For example, OpenChange should only enable its DCE/RPC
    interface if it has been provisioned.
    Change-Id: Ic8bacdd8b4c92a2a4b97cfa1a50dc41365b78071
    Signed-Off-By: Jelmer Vernooij <jelmer at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

It wasn't added for Zentyal, they are just the last firm to have left
the OpenChange effort.  They no longer advertise it as part of their
features, and their fork has been dormant for a year also (April 4 last
year as of this writing): 

Others continue to try and keep it working, eg:


> Everyone else does the same for custom changes they
> need.

These 'horrible hacks' (there are worse interfaces exposed, like the
DCE/RPC server internals, which we keep breaking very release or so)
are the alternative to OpenChange having a full fork of Samba, or like
CTDB needing to be merged into our tree. 

All that said, do be careful what you wish for.  In Debian, I had folks
politely ask if Samba was willing to maintain OpenChange:  I declined.

Andrew Bartlett

Andrew Bartlett                       http://samba.org/~abartlet/
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba

More information about the samba-technical mailing list