|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Oleg Koreshkov 2:5020/400 26 Apr 2004 16:39:27 To : Eugene Grosbein Subject : Re: ftpd и euid -------------------------------------------------------------------------------- "Eugene Grosbein" <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote in message news:746683647@www.svzserv.kemerovo.su... > 26 апр 2004, понедельник, в 14:10 KRAST, Oleg Koreshkov написал(а): > > >> bind(), похоже, совсем непричем. А причем, похоже, совсем даже socket()... > >> А ему привилегии вовсе и не нужны рутовые. Вот с этим патчем > >> все работает-то как надо. Интересно, почему это изначально не так? > OK> Гм... я сталкивался со следующим: > OK> Если сокет создан не рутом, то под нагрузкой получишь > OK> EADDRINUSE при попытке bind() на 20 порт. > OK> Если нагрузка маленькая или если сокет создан рутом, > OK> то нормально биндиться... > > Давно ты сталкивался? Потому что лишь относительно недавно > ftpd стал использовать setsockopt для REUSE. Вообще надо потестировать... > Код в ftpd.c:getdatasock(): if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *) &on, sizeof(on)) < 0) goto bad; есть в CVS FreeBSD под номером ревизии 1.1 (Видимо из 4.2BSD) Этому коду уже столько лет... --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/65775a83531e.html, оценка из 5, голосов 10
|