Just happened to be surfing the docs and saw this. This is beyond awesome: https://wiki2.dovecot.org/AuthDatabase/Lua Any words of wisdom on using it? I'd be putting a bunch of mysql logic in it. Any horrible gotchas there? When it says 'blocking', should I assume that means that a auth worker process will *not* accept any new auth lookups until both auth_passdb_lookup() and auth_userdb_lookup() have completed (in which I'd be doing several mysql calls)? If that's the case, I assume that the number of auth workers should be bumped up. And is a 2.3 release fairly imminent?
> On November 29, 2017 at 4:37 AM Mark Moseley <moseleymark at gmail.com> wrote: > > > Just happened to be surfing the docs and saw this. This is beyond awesome: > > https://wiki2.dovecot.org/AuthDatabase/Lua > > Any words of wisdom on using it? I'd be putting a bunch of mysql logic in > it. Any horrible gotchas there? When it says 'blocking', should I assume > that means that a auth worker process will *not* accept any new auth > lookups until both auth_passdb_lookup() and auth_userdb_lookup() have > completed (in which I'd be doing several mysql calls)? If that's the case, > I assume that the number of auth workers should be bumped up. > > And is a 2.3 release fairly imminent?Hi! This feature was added very recently, and there is very little operational experience on it. As the docs should say, blocking=yes means that an auth worker is used, and yes, it will block each auth worker during authentication, but what we tried, it should perform rather nicely. The most important gotcha is to always test your lua code rigorously, because there is not much we can do to save you. It should be present in master branch, so if someone feels like trying it out, please let us know if you find any bugs or strangeness. It's not present in nightlies yet. We are planning on releasing 2.3.0 this year. Aki
Op 29-11-2017 om 6:17 schreef Aki Tuomi:>> On November 29, 2017 at 4:37 AM Mark Moseley <moseleymark at gmail.com> wrote: >> >> >> Just happened to be surfing the docs and saw this. This is beyond awesome: >> >> https://wiki2.dovecot.org/AuthDatabase/Lua >> >> Any words of wisdom on using it? I'd be putting a bunch of mysql logic in >> it. Any horrible gotchas there? When it says 'blocking', should I assume >> that means that a auth worker process will *not* accept any new auth >> lookups until both auth_passdb_lookup() and auth_userdb_lookup() have >> completed (in which I'd be doing several mysql calls)? If that's the case, >> I assume that the number of auth workers should be bumped up. >> >> And is a 2.3 release fairly imminent? > Hi! > > This feature was added very recently, and there is very little operational experience on it. As the docs should say, blocking=yes means that an auth worker is used, and yes, it will block each auth worker during authentication, but what we tried, it should perform rather nicely. > > The most important gotcha is to always test your lua code rigorously, because there is not much we can do to save you. > > It should be present in master branch, so if someone feels like trying it out, please let us know if you find any bugs or strangeness. It's not present in nightlies yet. > > We are planning on releasing 2.3.0 this year.The Xi package builder has this feature enabled since yesterday. It is available in the dovecot-lua package; the first Xi package that doesn't have an official Debian equivalent (yet anyway). Regards, Stephan.