|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alex Semenyaka 2:461/640 08 May 2003 23:21:14 To : Nick A. Leuta Subject : ftpd: обработка OOB -------------------------------------------------------------------------------- 27 Apr 03 02:45, you wrote to all: NL> if (recvurg) NL> goto got_oob; NL> static void NL> sigurg(int signo) NL> { NL> recvurg = 1; NL> } NL> В итоге передача данных, насколько я понял, прервется при любой NL> активности на управляющем соединении. Сорри, в код не полез, но неужно по управляющему соединению всё ходит в виде OOB? Крайне сомнительно. По-видимому, авторы полагают, что приход oob-данных - достаточное событие для срочного разрыва соединения (иначе кой чёрт они oob?). NL> В принципе, легко исправить, вернув обратно myoob() роль обработчика NL> SIGURG, как это и было изначально, только вот непонятно, зачем было NL> огород-то городить (разве для того, чтобы было одинаково с OpenBSD - NL> там то же самое)? Обработку сигнала лучше сделать максимально компактной. Лучше и проще всего - выставить флаг, который проверить в безопасном месте. Опять же, если не вдаваться в специфику, общее впечатление - что люди следуют этому принципу. Почему - из-за реальных граблей или просто безопасное программирование - навскидку не скажешь, а у меня голова уже не варит сегодня :) Alex --- IMHO в последней инстанции * Origin: ...можжевеловых... (2:461/640) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/18273ebaaf67.html, оценка из 5, голосов 10
|