|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 26 Apr 2004 21:07:06 To : Oleg Koreshkov Subject : Re: ftpd и euid -------------------------------------------------------------------------------- >>> bind(), похоже, совсем непричем. А причем, похоже, совсем даже OK> socket()... >>> А ему привилегии вовсе и не нужны рутовые. Вот с этим патчем >>> все работает-то как надо. Интересно, почему это изначально не так? OK>> Гм... я сталкивался со следующим: OK>> Если сокет создан не рутом, то под нагрузкой получишь OK>> EADDRINUSE при попытке bind() на 20 порт. OK>> Если нагрузка маленькая или если сокет создан рутом, OK>> то нормально биндиться... >> Давно ты сталкивался? Потому что лишь относительно недавно >> ftpd стал использовать setsockopt для REUSE. Вообще надо потестировать... >> OK> Код в ftpd.c:getdatasock(): OK> if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, OK> (char *) &on, sizeof(on)) < 0) OK> goto bad; OK> есть в CVS FreeBSD под номером ревизии 1.1 (Видимо из 4.2BSD) OK> Этому коду уже столько лет... Да, это я с пассивным режимом перепутал. Ты совершенно прав, ftpd получает EADDRINUSE и ложится в спячку... Eugene -- "Люди забыли эту истину," - сказал Лис, - "но ты не забывай" --- slrn/0.9.8.0 (FreeBSD) * Origin: Svyaz Service JSC (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/26093e271ccb4.html, оценка из 5, голосов 10
|