[SSSD] Embedding Lua into SSSD

Simo Sorce simo at redhat.com
Tue Aug 25 17:48:16 UTC 2015


On Tue, 2015-08-25 at 16:14 +0300, Nikolai Kondrashov wrote:
> Hi Pavel,
> 
> On 08/24/2015 11:54 AM, Pavel Březina wrote:
> > On 08/21/2015 07:01 PM, Nikolai Kondrashov wrote:
> >> I might be in a strange and careless mood today, but here is something I
> >> wanted to suggest since the time I saw the amount of logic that goes into
> >> SSSD and is implemented in C.
> >>
> >> What if we implement some of the complicated logic inside SSSD in Lua [1]?
> >
> > can you tell us what features of Lua do you like and might help simplify
> > SSSD? I don't know the language, just fast scrolled over the manual and seen
> > few examples. It seems to be similar to javascript.
> 
> Most of all, I like its simplicity, then flexibility. And then how easy it is
> to embed. The latter comes from simplicity, first of all.
> 
> I listed the features I think will help us in the other message in this
> thread, but here they are again and then some:
> 
>      * exception handling
>        (somewhat rudimentary, but workable)

This may be interesting, but we are pretty diligent I think, thanks to
the tevent_req design pattern, at surfacing error

>      * automatic memory management
>        (incremental mark-and-sweep with good controls, customizable allocator)

This is not really interesting as we already have talloc that does a
great job at keeping track of memory allocations and cleanups (esp if we
stop using the anti-pattern of allocating on NULL as discussed a few
times already).

>      * easier data massaging
>        (string operations, built-in (limited) regexes, etc.)

We do some limited string manipulation but not really much, what other
kind of data massaging does Lua provide that makes it worth ?

>      * brevity
>        (implicit dynamic typing, syntax sugar)

brevity is good for long-winded functions indeed.

>      * OOP support
>        (there are several libraries to choose from)

This may be good or bad, it all depends on what you need to do.

How does Lua work with asynchronous operations ? We have a ton of that
and unless Lua has native support it would be a huge mismatch.

> I don't know enough JavaScript to really compare, but to me knowing that it
> has two pairs of equality operators [1] is quite off-putting.

I hope it doesn't compare much because javascript is awful, especially
for anything security oriented.

> There is, however, a seemingly good comparison, which should give the general
> idea:
> 
>      http://stackoverflow.com/a/1022683/1161045

To be honest a Javascript to Lua comparison doesn't really help much
understanding if Lua could be an asset for SSSD or not.

See above questions.

Simo.

> Nick
> 
> [1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference#Equality_operators
> _______________________________________________
> sssd-devel mailing list
> sssd-devel at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/sssd-devel


-- 
Simo Sorce * Red Hat, Inc * New York




More information about the sssd-devel mailing list