main

Отчёт о ходе разработки f2b

Sep  9 23:06:55 f2b[10753]: jail 'asterisk': new ip found -- 89.163.146.93
Sep  9 23:09:50 f2b[10753]: jail 'asterisk': new ip match -- 89.163.146.93 (2/3)
Sep  9 23:12:43 f2b[10753]: jail 'asterisk': new ip match -- 89.163.146.93 (2/3)
Sep  9 23:15:35 f2b[10753]: jail 'asterisk': new ip match -- 89.163.146.93 (2/3)
Sep  9 23:18:40 f2b[10753]: jail 'asterisk': banned ip 89.163.146.93 for 1.0hrs
# ... попался, ублюдок!

Продолжаем неспешно пилить чудо-программу.

С момента предыдущего поста темпы пиления упали, т.к. сказывается "эффект УМВР", но тем не менее сделано следующее:

→ Читать дальше...

2016-09-11

Обработка ошибок в си

Навеяно вознёй со своим проектом, и вот этим срачем "как правильно закрывать файл" на 18 страниц. На полноту охвата вопроса не претендую, только то что видел и использовал сам.

Будем рассматривать на примере выделения памяти для сложного ресурса, сферичной структуры в вакууме с несколькими членами, также выделяемыми через *alloc(). Вот такой:

struct foo {
  int id;
  char *data1;
  char *data2;
};

Сразу оговорюсь, что я считаю использование функций-аллокаторов "всего и сразу" - плохой практикой.

→ Читать дальше...

2016-09-09

Новый проект - f2b, легковесная замена fail2ban

Идея "переписать fail2ban" периодически приходила в голову. Хоть они и пишут, что "кроме питона ничего не надо", но сам по себе питон тянет уже дохрена всего.

Кроме того, на типовой роутер fail2ban вкорячить конечно можно, но места под что-либо другое уже не хватит.

→ Читать дальше...

2016-03-17

О билд системах, часть вторая

В продолжение предыдущей части, предлагаю посмотреть как подобная же система организуется на базе bsd.

Здесь есть значительные отличия - во-первых сама система - source-based. Пакеты по дефолту собираются на самой целевой машине. Бинарные пакеты - не более чем опция, до последнего времени прилепленная достаточно сбоку.

Во-вторых, нет 2х одинаковых систем. Прежде чем переходить на обновление бинарниками, требуется привести настройки, версии системы и расположение файлов более-менее к одному виду.

В-третьих - немного другая цель. Под дебиан дефолт тебя как правило устраивает, пересобираешь выборочно и своё. Под бзд ты это делаешь, чтобы ХОТЯ БЫ ЧАСТИЧНО избавиться от гемора с обновлением и от затрат времени на него. Примеры - кольцевая зависимость apr <=> svn, perl <=> exim, icu, lzo <=> bacula-fd. Всё это при сборке руками периодически ломается.

→ Читать дальше...

2014-07-04

О билд-системах и собственном репозитории

Зачем оно вообще нужно? В процессе использования любого дистрибутива накапливается некий список улучшений, который ты воссоздаёшь каждый раз на новых машинах и виртуалках. Это могут быть:

  • конфиги
  • пакеты, которых нет в дистрибутиве
  • пакеты, сборка которых не устраивает по разным причинам
  • собственные проекты

Для меня актуальны последние три пункта. В четвёртом, дополнительно хочется ставить их как белый человек, а не методом слаквари.

→ Читать дальше...

2014-07-01