Re: module/plugin support?

2014-03-19 Thread Willy Tarreau
Hi Patrick,

On Tue, Mar 18, 2014 at 09:14:48AM -0400, Patrick Hemmer wrote:
 I was wondering if there were ever any thoughts about adding
 module/plugin support to haproxy.
 
 The plugin would be used for adding features to haproxy that are beyond
 the scope of haproxy's core focus (fast simple load balancing).
 Reading the recent radius authentication thread surprised me. I never
 would have expected that to be something haproxy would support. But I
 think it would make sense as a plugin.

We don't want to support modules until the point where we have no other
choice. Once you support modules, you're forced to have a much more
stable internal API, and you regularly introduce bugs when changing
very minor things that make some modules silently incompatible with
your change. We did this for a project a few years ago and despite
the extreme care, we still faced such issues. By the way, when you see
how the Linux kernel has to handle the situation by signing all structs
etc... you realize what a nightmare it can become.

So instead of slowing down the development by having people spend more
time taking care of backwards compatibility with existing modules than
doing useful changes, I prefer that we avoid that for now. Not to mention
that this would add significant entropy to troubleshooting bug reports!

Note that internally we have developped a simple patch to load modules.
It's very limited but was done to allow some customers to load GPL
incompatible code (eg: think about an analyser to process protocols
obtained under NDA). And even there, backporting stable fixes is enough
to regularly break and have to recompile the modules. That's the reason
why we don't publish this patch nor even merge it (otherwise I'm quite
sure that some developers will provide their features as a combination
of this patch plus their module instead of doing the change at the right
place: in mainline).

Best regards,
Willy




module/plugin support?

2014-03-18 Thread Patrick Hemmer
I was wondering if there were ever any thoughts about adding
module/plugin support to haproxy.

The plugin would be used for adding features to haproxy that are beyond
the scope of haproxy's core focus (fast simple load balancing).
Reading the recent radius authentication thread surprised me. I never
would have expected that to be something haproxy would support. But I
think it would make sense as a plugin.

-Patrick


Re: module/plugin support?

2014-03-18 Thread Baptiste
On Tue, Mar 18, 2014 at 2:14 PM, Patrick Hemmer hapr...@stormcloud9.net wrote:
 Reading the recent radius authentication thread surprised me. I never would
 have expected that to be something haproxy would support. But I think it
 would make sense as a plugin.
 -Patrick

HAProxy does not support anything :)
I'm recycling HAProxy's flexibility to do it.
Authentication will be done outside of HAProxy.

I let Willy answer about modules ;)
But expect a negative answer here!

Baptiste