Problem z Courier-IMAP

Paweł Muszyński pmuch w zamek.szczecin.pl
Wto, 29 Sty 2008, 14:41:05 CET


Bartosz Świątek pisze:
> 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.

No niestety nie działa - nic nie zmienia.

Może to wina mojej konfiguracji, w sumie wszystkich użytkowników poczty 
mam wirtualnych, chodzących na jednym użytkowniku systemowym, mogę 
zrobić chgrp wszystkich skrzynek, tylko przyznam szczerze, że nie wiem, 
na jaką grupę mam zmienić, żeby Courier się nie awanturował.

Paweł


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