ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: Inet-Admins
Inet-Admins mailing list archive (inet-admins@info.east.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [inet-admins] another pop3d



Hi,

> Вопрос ко всем, и к Solar Designer в частности,

Ой, я же не объективен. ;-(

> кто нить пробовал то что живёт на
> http://www.nodomainname.net/software/gnu-pop3d/ ?
> есть какие-нибудь мнения ?

Посмотрел. Именно пробовать еще рано. Оно пока в зачаточной стадии.
Там даже UIDL пока не реализован.

Разумеется, они не ставят безопасность на одно из важных мест. Хотя
вероятность серьезных дыр я оцениваю как чуть ниже, чем в UW. Группа
mail остается на все время работы (что у себя я счел неприемлемым,
и сразу рассматривал только другие варианты). О забытых APOP и shadow
паролях в address space у них нет и мысли. Обработка команд POP3 до
открытия ящика делается под root'ом.

Хвалятся RFC compliance? Можно много говорить. Но попытка соблюдать
RFC 2449, не уточнив его кривые формулировки, выглядит слегка
странно. (Ну, ничего и правда нового из этого RFC они, впрочем, так и
не реализовали.) Также, что стоит RFC compliance, если некоторые
некорректные команды их реализация воспримет как одни из корректных?

(Примеры, даже не выискивая по их коду, очевидны. RFC не говорит, что
символ NUL является разделителем команд. У меня это учтено, и он
таким не является. У них является. Команда "LIST 4294967297" не
должна работать как "LIST 1". У меня и не работает. У них будет. Все
это, разумеется, пустяки. Просто что кричать об RFC compliance, если
на самом деле это не так уж и верно.)

Хвалятся быстродействием? Ну, обогнать UW труда не составляет. Нашли
с чем сравнивать. А так, один парсинг ящика fgets()'ом по 80 символов
говорит о том, что не очень-то они беспокоились. Ну, простенький код.
Но не такой уж быстрый (хотя, конечно, во многих случаях достаточно).
Даже я, поставив быстродействие на последнее (четвертое) место среди
приоритетов при разработке, и то переложил поиск '\n' на ассемблерный
код memchr(3) в libc, и избегаю лишнего копирования через stdio.

Надежность работы? С локингом явно проблемы. Ставят лок на все время
работы. Типа, толпы procmail'ов (или что там у кого) будут ждать пока
POP3 сессия закроется (хоть через час) и они смогут положить в ящик.

Что касается качества кода, оно среднее(*). Кое-где забыли по мелочи,
проверить возврат из malloc(3). Свою реализацию daemon mode, видимо,
вообще реально не проверяли: у них там счетчик детей в ряде случаев
будет увеличиваться, но не убавляться обратно по завершении, так что
оно быстро перестанет принимать новых. Это не говоря о том, что у них
не предусмотрено ограничений на-исходный-адрес.

(*) говорю с учетом того, что явные баги будут исправлены.

Никакого смысла пробовать этот pop3d при наличии моего я не вижу. Вот
такое необъективное мнение. :-)

> а нето pop3d из imap-uw уже утомил, да и imap хочется.

Первое понять легко, второе сложнее. ;-)

Signed,
Solar Designer
=============================================================================
"inet-admins" Internet access mailing list. Maintained by East Connection ISP.
Mail "unsubscribe inet-admins" to Majordomo@info.east.ru if you want to quit.
Archive is accessible on http://info.east.ru/rus/inetadm.html



 




Copyright © Lexa Software, 1996-2009.