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
# ... попался, ублюдок!
Продолжаем неспешно пилить чудо-программу.
С момента предыдущего поста темпы пиления упали, т.к. сказывается "эффект УМВР",
но тем не менее сделано следующее:
→ Читать дальше...
Навеяно вознёй со своим проектом, и вот этим срачем "как правильно закрывать файл" на 18 страниц.
На полноту охвата вопроса не претендую, только то что видел и использовал сам.
Будем рассматривать на примере выделения памяти для сложного ресурса,
сферичной структуры в вакууме с несколькими членами, также выделяемыми через *alloc().
Вот такой:
struct foo {
int id;
char *data1;
char *data2;
};
Сразу оговорюсь, что я считаю использование функций-аллокаторов "всего и сразу" - плохой практикой.
→ Читать дальше...
Идея "переписать fail2ban" периодически приходила в голову.
Хоть они и пишут, что "кроме питона ничего не надо", но сам по себе питон тянет уже дохрена всего.
Кроме того, на типовой роутер fail2ban вкорячить конечно можно, но места под что-либо другое уже не хватит.
→ Читать дальше...
В продолжение предыдущей части, предлагаю посмотреть как подобная же система организуется на базе bsd.
Здесь есть значительные отличия - во-первых сама система - source-based. Пакеты по дефолту собираются на самой целевой машине. Бинарные пакеты - не более чем опция, до последнего времени прилепленная достаточно сбоку.
Во-вторых, нет 2х одинаковых систем. Прежде чем переходить на обновление бинарниками, требуется привести настройки, версии системы и расположение файлов более-менее к одному виду.
В-третьих - немного другая цель. Под дебиан дефолт тебя как правило устраивает, пересобираешь выборочно и своё. Под бзд ты это делаешь, чтобы ХОТЯ БЫ ЧАСТИЧНО избавиться от гемора с обновлением и от затрат времени на него. Примеры - кольцевая зависимость apr <=> svn, perl <=> exim, icu, lzo <=> bacula-fd. Всё это при сборке руками периодически ломается.
→ Читать дальше...
Зачем оно вообще нужно? В процессе использования любого дистрибутива накапливается некий список улучшений, который ты воссоздаёшь каждый раз на новых машинах и виртуалках. Это могут быть:
- конфиги
- пакеты, которых нет в дистрибутиве
- пакеты, сборка которых не устраивает по разным причинам
- собственные проекты
Для меня актуальны последние три пункта. В четвёртом, дополнительно хочется ставить их как белый человек, а не методом слаквари.
→ Читать дальше...