Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: ftpd и euid   Eugene Grosbein   26 Apr 2004 21:07:06 
 Re: ftpd и euid   Eugene Grosbein   06 May 2004 20:35:57 
Архивное /ru.unix.bsd/26093e271ccb4.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional