Улучшения dht-bootstrap

Что: cd14c3c1c7593ddb7095892a088d7b6034b0357e

Когда: 2022-11-11 21:52:43+03:00

Темы: bittorrent bsd

Улучшения dht-bootstrap

http://www.git.stargrave.org/?p=dht-bootstrap.git;a=summary
Всё не могу успокоиться играться с правкой dht-bootstrap демона
(aa2617fbedd389ae134e81f8b3461f495c8cb6ef).


  сокращает код, плюс не требует явной работы с файлами (чтения из
  /dev/urandom). Более того, в glibc arc4random уже тоже добавили

  процесса. И stdout/логи не загромождает, и посмотреть можно легко

  происходящего


Всё это ещё было портабельным. Но очень хотелось использовать Capsicum.
Обломался, так как посылка UDP пакета на адрес к которому прежде не было
connect-а -- невозможна в Capsicum, который ограничивает доступ к global
namespace, к которому относятся и IP-адреса. Сделал в итоге privilege
separated решение: отдельный процесс который занимается только отправкой
UDP пакетов, принимая данные из заранее связанного сокета. Основной же
демон, который принимает пакеты, парсит их -- под Capsicum sandbox-ом
работает.

А раз всё равно я это уже перевёл на FreeBSD из-за Capsicum, то и смысла
держать poll() нету. Перевёл на использование kqueue(). Происходит из-за
этого дополнительное копирование содержимого исходящих пакетов, для их
отсылки через сокет дочернему процессу -- но да и ладно, ибо нагрузка и
так смехотворная.

оставить комментарий

Сгенерирован: SGBlog 0.34.0