doveadm user '*' vs sssd: enumeration works only once

Aki Tuomi aki.tuomi at open-xchange.com
Thu Feb 25 13:21:43 EET 2021


> On 25/02/2021 13:17 Heiko Schlittermann <hs at schlittermann.de> wrote:
> 
>  
> Aki Tuomi <aki.tuomi at open-xchange.com> (Do 25 Feb 2021 12:06:43 CET):
> > > 
> > > diff --git a/src/auth/userdb-passwd.c b/src/auth/userdb-passwd.c
> > > index 70b9969f6..4682dc873 100644
> > > --- a/src/auth/userdb-passwd.c
> > > +++ b/src/auth/userdb-passwd.c
> > > @@ -208,6 +208,7 @@ static int passwd_iterate_deinit(struct userdb_iterate_context *_ctx)
> > >                 cur_userdb_iter_to = timeout_add(0, passwd_iterate_next_timeout,
> > >                                                  NULL);
> > >         }
> > > +       endpwent();
> > >         return ret;
> > >  }
> > > 
> > > 
> > > -- 
> > > Heiko
> > 
> > Hi!
> > We'll look into it, might be that we are missing endpwent() there indeed.
> 
> I'm not sure about the semantics of setpwent()/endpwent(), mayb the nss
> plugin (here sssd) should gracefully handle a missing endwent() if it
> sees a new setpwent(). But I think, it can't harm to call endpwent() on
> the dovecot side.
> 
> I deployed a debian package with the above patch added onto my system,
> and it seems to work.
> 
> So, should I file a bug report against dovecot?
> 
>     Best regards from Dresden/Germany
>     Viele Grüße aus Dresden
>     Heiko Schlittermann

You can consider it being filed.

Aki


More information about the dovecot mailing list