23-летний кодер изгнал призраков, вселившихся в Firefox более 20 лет назад

23-летний кодер изгнал призраков, вселившихся в Firefox более 20 лет назад

23-летний кодер изгнал призраков, вселившихся в Firefox более 20 лет назад

В начале прошлого месяца в код Firefox, отвечающий за всплывающие подсказки ссылки, были внесены изменения с целью устранения бага, известного с 2002 года. Фикс включен в сборку 119 браузера, выпуск которой намечен на 24 октября.

Проблему, которой был присвоен ID 148624, зарегистрировал в Bugzilla пользователь Juneappal (Adam Price), владелец macOS-компьютера с установленным браузером Mozilla. Прайсу надоели tooltip-подсказки, появлявшиеся при наведении курсора на закладку и подвисавшие при переходе в окно другого приложения.

 

Избавиться от них можно было, лишь сдвинув курсор и вернувшись в браузер. Впоследствии этот же баг пытались зарегистрировать и другие пользователи Firefox; иногда он проявлялся также на Windows- и Linux-платформах.

Поскольку фантомные подсказки не нарушали работу Firefox, а только вызывали раздражение, решение проблемы каждый раз откладывалось. Когда с ней столкнулся 23-летний выпускник Стэнфорда И Фань Чжу (Yifan Zhu), оказалось, что они почти ровесники.

Молодой человек был заинтригован и решил попробовать исправить ситуацию, благо лето и впереди куча свободного времени. Программированию Чжу был обучен, но никогда не имел дело с такими сложными проектами, как Firefox.

Первый блин оказался комом, хотя новичку-энтузиасту помогли детализировать патч и оформить коммит. Вторая попытка, тоже с посторонним участием, оказалась более удачной. Предложение Чжу было принято, соответствующие исправления внесены в код Firefox 119, который сейчас проходит бета-тестирование.

В соцсетях по этому поводу появились восторженные отзывы. Некоторые начали отпускать шутки вроде «а Bugzilla-то постарше бага будет, ей в августе стукнуло 25» и «фикс отнял добычу у ботов, собравшихся удалить неисправленный баг за давностью». Один комментатор описал жизненный путь борца за чистоту кода следующим образом:

«Наверно, он столкнулся с багом, еще когда был ребенком. Это задело его за живое, он пошел в университет, чтобы научиться программированию, окончил его, создал аккаунт и все пофиксил. Цель жизни исчерпана».

Подпишитесь на новости

VPN через VK, MAX и DNS: Rawline собрал разные туннели в одном клиенте

Когда один способ подключения перестаёт работать, начинается перебор приложений: здесь VLESS, там DNS-туннель, отдельно — транспорт через звонки. Разработчик Rawline решил собрать этот набор в одном клиенте для Android, Windows, Linux и macOS. За основу взяты Throne и сетевые ядра sing-box и Xray.

Как устроен проект и какие проблемы безопасности пришлось решать, автор рассказал на Хабре.

Помимо привычных VPN-протоколов, Rawline поддерживает нестандартные транспорты через звонки VK и MAX, WebRTC, DNS и S3. Все подключения представлены обычными профилями, их можно импортировать по ссылке или QR-коду, проверять пинг, объединять в цепочки и настраивать маршрутизацию по приложениям и доменам. Работоспособность конкретного способа при ограничениях придётся проверять на своей сети.


Отдельный акцент — защита от приложений, исключённых из VPN. По словам автора, через незащищённый локальный прокси или прямое обращение к интерфейсу туннеля они могут отправить запрос через VPN и узнать адрес сервера.


В Rawline разработчик убрал лишние прокси-входы, защитил внутренние соединения случайными паролями и добавил проверку принадлежности трафика приложениям. Последняя защита включена по умолчанию на Android 10 и новее.

При проверке также обнаружилась проблема в нескольких транспортных мостах: постороннее приложение могло первым отправить UDP-пакет и перехватить канал. Автор сообщает, что исправил её и добавил тесты. Код и сборки опубликованы на GitHub.

RSS: Новости на портале Anti-Malware.ru