main

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

Jan  4 19:52:33 f2b[4090]: jail 'portknock': restored ban of ip 85.121.165.15 (23.9hrs remain)
Jan  4 19:52:33 f2b[4090]: jail 'portknock': restored ban of ip 95.154.82.19 (23.9hrs remain)
Jan  4 19:52:33 f2b[4090]: jail 'portknock': restored ban of ip 78.171.148.130 (24.0hrs remain)
Jan  4 19:52:33 f2b[4090]: jail 'portknock': restored ban of ip 221.194.47.224 (24.0hrs remain)
# ... сидеть, обезьяны, срок ещё не вышел!

С момента предыдущего отчёта сделано следующее:

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

2017-01-04

Отчёт о ходе разработки 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