← All posts tagged Unix

ArkanoiD

СЯУ, что есть в баше LC_COLLATE стоит юникодный, то он реально творит хуйню
[ark@seth ~]$ echo $LC_COLLATE

[ark@seth ~]$ echo $LANG
en_US.utf8

[ark@seth ~]$ echo [a-z]*
Desktop Documents Downloads Dropbox fixes.reg Music Parallels Pictures Public Templates trunk unison.log Videos Work
[ark@seth ~]$ export LC_COLLATE=C
[ark@seth ~]$ echo [a-z]*
fixes.reg trunk unison.log

ArkanoiD

Идиоцкий вопрос: gnome-terminal сам обрабатывает кнопки pgup/pgdn и скроллит по ним. как ему сказать, чтобы он отдавал их приложению которое в нем запущено? в настройках нихуя, в ктулхупротивном gconf тоже.

ArkanoiD

есть смешная задачка: сделать функцию int generic_tunnel(int client_socket, int server_socket, int dynport_min, int dynport_max, int server_port, int nat) , которая бы открывала с помощью произвольного ядреного пакетного фильтра туннель, который бы ловил все приходящее с peername(client_socket) на некий порт на sockname(client_socket) в заданном динамическом диапазоне и перенаправлял на server_port на peername(server_socket). Ну и возвращала этот номер порта. Если с параметром NAT, то с адресной трансляцией на sockname(server_socket), если без, то без нее.

В чем засада: пакетный фильтр может быть произвольным: iptables, ipfilter, pf, ipfw, whatever.

Если вы знаете частное решение для какой-то реализации, ткните в него пальцем. Если вас читают люди, которые знают — порекомендуйте. Что все описано в соответствующих API я в курсе, просто не хочется вникать подробно в каждый конкретный случай, я так неделю провожусь со всеми виртуалками.

Призовая игра: придумайте, как реализовать коллбэк для сбора статистики по переданным байтам, когда соединение закроется (или отвалится по таймауту, если там UDP, например)