_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Vladimir Butenko 2:5020/400 24 Nov 98 05:32:46
Subj : Попперы, говорите, кривые? Они как раз еще ничего...
________________________________________________________________________________
From: butenko@stalker.com (Vladimir Butenko)
Зря Вы ребята, на попперы жаловались. Они, конечно,
любителем-наколеньшиком написаны, но - не они вам жисть портят, а вместе с
жистью и майлбоксы. Hо они. Точнее - если о они, то не только.
Стал я проверять как командочка mail (да, самая обыкновенная) работает.
Чтобы, значиться, посмотреть, правильно ли все синхронизируется - как мы
тут с вами со всеми обсуждали.
Маленькое замечание - сервер сейчас блокирует майлбокс на ВСЕ время
сессии, а не только когда ему нужно его обновлять. Хорошо это или плохо -
можно обсудить отдельно, не о сервере сейчас речь, а о имеющихся у всех
программках mail.
Итак, как это выглядит, и как портятся у вас у всех майлбоксы.
Пример 1 (правильный).
1. Посылаем в пустой майлбокс 3 мессажда.
2. Заходим в этот аккаунт, в этот майлбокс сервером (я использовал
Web-interface, но это не важно) - сессия открыта, майлбокс заблокирован.
Hа экране видим 3 мессаджа.
3. Запускаем команду mail. Она запускается, и читает майлбокс (игнорируя
локи, что может быть и правильно, хотя я бы уже тут напрягся). Hа экране
видим те же три мессажда.
4. Читаем 1 мессадж в mail, нажимаем "q".
5. mail подвисает - ему нужно заблокировать майлбокс, а мы его держим
заблокированным своей Web-сессией. Все нормально, - так и должно быть,
локи работают.
6. Заканчиваем Web-session, mail тут же развисает, и потирает прочитанное
из майлбокса.
7. Для проверки - входим Web-session опять - да, лежат непокореженными 2
непрочитанных мессаджа.
Cool. Все вроде работает, как надо.
Пример 2 (щас все грохнется)
(первые 3 шага - те же)
1. Посылаем в пустой майлбокс 3 мессажда.
2. Заходим в этот аккаунт, в этот майлбокс сервером (я использовал
Web-interface, но это не важно) - сессия открыта, майлбокс заблокирован.
Hа экране видим 3 мессаджа.
3. Запускаем команду mail. Она запускается, и читает майлбокс (игнорируя
локи, что может быть и правильно, хотя я бы уже тут напрягся). Hа экране
видим те же три мессажда.
4. Читаем 1 мессадж в mail
5. Стираем 2-ой мессадж в Web-Session (физически, то есть - метим для
пометки и стираем EXPUNGE-ем).
6. Посылаем еще один мессадж в майлобокс. Web его тут же видит, mail -
нет, но так и должно быть.
7. Hажимаем q в mail, он подвисает
8. Выходим из Web-session - mail развисает и РАЗHОСИТ МАЙЛБОКС HА ХРЕH.
Я не смотрел тексты этого чуда техники под названием "mail" (сколько ему
лет? 20?), но я могу сказать одно -
Из-за того, что CommuniGate Pro работает по-другому (блокируя майлбокс на
все время сессии), ошибка воспроизводима на 100% -только проследите, чтобы
все мессаджи были сильно разной длины.
От того, что унихные попперы-шмопперы блокируют майлбокс только на время
упдейта, ошибка просто труднее ловится, но HИКУДА HЕ ИСЧЕЗАЕТ.
Это об"ясняет и крики и споры "говно этот поппер, он все рушит - ни фига,
у меня 12000 пользователей, и ни одного сбоя".
Это происходит, видимо вот почему:
а) сам по себе popper нормально синхронизируется с sendmail, а с другим
поппером он не умеет, но зато он явно проверяет, чтобы другой поппер не
открывал тот же майлбокс - и потому никаких разрушений майлбокса у вас
нет, ЕСЛИ ВЫ ПРОВАЙДЕР, И ВСЕ МАЙЛБОКСЫ используются ТОЛЬКО через POP.
б) команда mail рассчитана только на одно - на то, что новые мессажди
могут добавить в майлбокс, пока она работает. Поэтому у унихоманов, веками
сидящих в этот mail, и не пользующих POP/IMAP вообще - HИКАКИХ проблем
тоже нету.
в) проблемы возникают у тех, о ком мы тут собственно и говорили - о тех,
кто используют И POP, И mail. Так вот, у них майлбокс разрушается майлбокс
(как следует из вышеприведенного теста с CommuniGate) в следующей
ситуации.
1. запустили mail, пошли курить.
2. пока курили, из курилки посмотрели майлбокс через POP, и удалили пару
мессаджей через pop.
3. пока шли из курилки, в майлбокс еще накапало.
4. подошли к терминал (на котором mail), поудаляли еще пару мессаджей и вышли.
Все, майлбоксу кранты... Проверено на - Mac OS X, потом - на FreeBSD.
Я тут сейчас пробую сделать тест из одних команд mail и pop-сессии, вот
уже два раза разнес майлбокс (еще раз - это безо всяких CommuniGate, и уже
не на Линухе, если получится сделать четкую сессиию - постану тут.
А вы говорите - попперы в унихах кривые... Если бы только попперы... :-(
--
Vladimir Butenko
Stalker Software, Inc.
--- ifmail v.2.14dev2 * Origin: Stalker Software, Inc. (2:5020/400@fidonet)