Problem z Courier-IMAP

Milosz Rzeznikowski l00natyk w gazeta.pl
Wto, 29 Sty 2008, 14:58:34 CET


Dnia 2008-01-29, o godz. 13:27:34
"Bartosz Świątek" <shadzik w gmail.com> napisał(a):

> 29-01-08, Bartosz Świątek <shadzik w gmail.com> napisał(a):
> > 29-01-08, Paweł Muszyński <pmuch w zamek.szczecin.pl> napisał(a):
> > > Milosz Rzeznikowski pisze:
> > > > Dnia 2008-01-24, o godz. 12:13:17
> > > > Paweł Muszyński <pmuch w zamek.szczecin.pl> napisał(a):
> > > >
> > > >> Bartosz Świątek pisze:
> > > >>> 24-01-08, Paweł Muszyński <pmuch w zamek.szczecin.pl>
> > > >>> napisał(a):
> > > >>>> Bartosz Świątek pisze:
> > > >>>>> 24-01-08, Paweł Muszyński <pmuch w zamek.szczecin.pl>
> > > >>>>> napisał(a):
> > > >>>>>> Po upgradzie do courier-imap-4.3.1 (użytkownicy w mysql,
> > > >>>>>> postfixadmin) nie mogę się zalogować:
> > > >>>>>> "FATAL ERROR : ACCOUNT'S mailbox directory is not owned by
> > > >>>>>> the correct uid"
> > > >>>>>>
> > > >>>>>>
> > > >>>>>> Znalazłem opis tu:
> > > >>>>>>
> > > >>>>>> http://42.pl/u/y43
> > > >>>>>>
> > > >>>>>> Wygląda na bug w courier-imap
> > > >>>>>>
> > > >>>>> Nie testowałem tego bo nie używam couriera... ale spróbuj w
> > > >>>>> imap/imapd.c w linii 6394 zmienić getegid() na getgid() i
> > > >>>>> przekompilować. Jeśli to zadziała to można spatchować
> > > >>>>> couriera.
> > > >>>> Zaraz spróbuje.
> > > >>> I jak postepy?
> > > >> Nie pomogło.
> > > >
> > > >
> > > > http://www.mail-archive.com/courier-imap@lists.sourceforge.net/msg02633.html
> > >
> > > Załączam patcha rozwiązującego problem przez wyłączenie
> > > problematycznego sprawdzania. IMHO to jedyne skuteczne
> > > rozwiązanie.
> > >
> >
> > IMHO nie. Po cos to sprawdzanie jest. Ten patch po prostu odbiera, z
> > pewnoscia nie bez powodu dodane, sprawdzanie id grupy - co jest
> > evil. Do dystrybucji takie rozwiazanie wejsc nie moze - imho. Na
> > pewno da sie to poprawic inaczej - ale ze nie uzywam i mnie ten
> > problem nie dotyczy, to mnie to nie interesuje.
> >
> 
> Dobra, zeby nie byc goloslownym to takie rozwiazanie powinno byc
> lepsze:
> 
> @@ -6392,7 +6392,10 @@
> 
>                 if ( buf.st_uid != geteuid() ||
>                      buf.st_gid != getegid())
> +                    {
> +                       errno=0;
>                         write_error_exit("Account's mailbox directory
> is not owned by the correct uid or gid");
> +                    }
> 
>                 if ( (buf.st_mode & S_IRWXU) != (buf.st_mode &
> S_IRWXU)) write_error_exit("Invalid permissions on account's
> mailbox directory");
> 
> Zauwaz ze strace poprawnie wypisuje gid i uid usera, problem jest
> tylko w wywolaniu funkcji errora, ktora podaje zly numer bledu (0 -
> brak bledu)
> Sprawdz czy to zadziala.
A moim zdaniem jest jeszcze inaczej :D Z tego co doczytałem to jest
nowy sanity check a nie bug a problem ponoć jest gdy GID katalogu
nie zgadza się GID usera więc teoretycznie
można to wyłączyć wywalając '|| buf.st_gid blah blah ...' lub jeszcze
lepiej dodając opcję która to wyłącza w razie potrzeby.


Więcej informacji o liście dyskusyjnej pld-devel-pl