Мои выходные были каким-то марафоном невероятных багов.
Есть у меня 30 кг тонких клиентов на VIA Eden (32-бит x86 из 2008). Решил задействовать их под что-то полезное, для чего нужен Linux, а из-за ограниченного количества флеш и ориентированности проекта на сеть — OpenWrt.
👇👇
Жмем кнопку — ОС запускается, затем останавливается на 10 секунд, после опять бегут буквы. Thermal-подсистема ACPI отдаёт температуру с большой задержкой. Решение максимально простое — отключаем её, благо есть отдельный драйвер под температурные датчики процессора.
👇
Потребовалось подключиться к SSH через Tor. Так как ни в Dropbear, ни в OpenSSH нет поддержки прокси, но есть поддержка работы через пайп сторонней программы, используют netcat-bsd или ncat. В OpenWrt есть только последний. Пробую — работает 1 раз из 5. Баг старой версии ncat.
👇
Патчим ncat, подключаемся — в виртуалке всё работает, а на тонком клиенте Tor не может подключиться к .onion-сайтам, обычные сайты открываются. Череда отладок разницы между ВМ и железом привела к драйверу ускорения шифрования VIA Padlock. Только посмотрите на эти ошибки!
👇
Нужно, думаю, протестировать всё на последних версиях Tor и OpenSSL. Ставлю Debian Bookworm (testing), настраиваю Padlock: Tor сразу падает. Отключаюсь от SSH тонкого клиента, подключиться обратно не могу — SSHd падает. Ошибка в последней «стабильной» версии OpenSSL 3.0.7.
👇
Решил протестировать работу в боевых условиях. На VPN-сервере установлен miniupnpd, открываю порт через upnpc, чтобы поднять веб-сервер и раздать файл прошивки, а в UPnP-ответе ерунда, версия ядра вместо IP-адреса. Ошибка сборочного скрипта Fedora: забыли %s, sprintf "уехал".
👇
(да, у меня до сих пор есть контейнеры с Fedora 22 на CentOS 6 с патченным-перепатченным ядром 2.6.32)
К концу дня садится беспроводная клавиатура. Ставлю на зарядку, снимаю через несколько часов — мигает красный индикатор. Жму разные кнопки, включаю-выключаю, ставлю на зарядку — не выходит. Проблема распространена, нужно разобрать клавиатуру и переткнуть коннектор.
👇
Успел поправить ошибки в пакетах OpenWrt тут и там, но еще ничего не приняли.
Оно скачало, расшифровало, но не смогло распарсить. Нужно будет найти и исправить причину проблемы. Хоть бы это была не порча памяти в OpenSSL.
Подключаюсь к тонкому клиенту по SSH+tmux, каждый раз появляется странный текст с версией терминала. Существует проприетарная ANSI Escape-последовательность, при которой некоторые терминалы идентифицируют себя. Из-за большого пинга tmux её не скрывает.
echo $'\033[>q'
Вот вам telnet fingerprinting, новая модная тема
telnet telnetid.valdikss.org.ru
Само-собой, я не упоминаю таких банальных вещей, как эпизодическое «мигание» некоторых элементов окон с OpenGL-сурфейсом, падение KDE Plasma, появление диалога выбора Wi-Fi-сети вертикально по центру, а не в правом нижнем углу. Это уже «стандартные» баги, которые я не замечаю.
Сколько здесь latency, секунд 8? Так и работаю.
Разобрался с неработающим Tor'ом. Проблема OpenSSL, в котором C-код VIA Padlock частично переписали на ассемблер, еще в 2011, и никто его ни разу и не запускал.
github.com/openssl/openss…
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.