Рубрика «Разработка под Linux» - 16

Ядерный шелл поверх ICMP - 1

TL;DR: пишу модуль ядра, который будет читать команды из пейлоада ICMP и выполнять их на сервере даже в том случае, если у вас упал SSH. Для самых нетерпеливых весь код на github.

Осторожно! Опытные программисты на C рискуют разрыдаться кровавыми слезами! Я могу ошибаться даже в терминологии, но любая критика приветствуются. Пост рассчитан на тех, кто имеет самое приблизительное представление о программировании на C и хочет заглянуть во внутренности Linux.

В комментариях к моей первой статье упомянули SoftEther VPN, который умеет мимикрировать под некоторые «обычные» протоколы, в частности, HTTPS, ICMP и даже DNS. Я представляю себе работу только первого из них, так как хорошо знаком с HTTP(S), а туннелирование поверх ICMP и DNS пришлось изучать.Читать полностью »

Вышел Linux 5.8 — один из величайших. Более подробный обзор - 1


В начале августа Линус Торвальдс представил новую версии ядра Linux. Согласно давней традиции сам релизы крупнейшего проекта с открытым исходным кодом происходит вполне буднично, создатель пишет электронное письмо в рассылку коллегам по цеху с кратким резюме по новой стабильной версии кернела.Читать полностью »

Paragon открыла свой драйвер NTFS для Linux, предложив включить его в ядро - 1

Компания Paragon Software опубликовала набор патчей с полноценной реализаций файловой системы NTFS, открыв код драйвера под лицензией GPL. Драйвер поддерживает работу как в режиме чтения, так и в режиме записи.

По словам разработчиков, эта реализация поддерживает все возможности версии NTFS 3.1.Сейчас в драйвере используется урезанная реализация журнала NTFS. Но в будущем Paragon Software добавит поддержку полного журналирования поверх уже встроенного в ядро универсального блочного устройства JBD, на базе которого организовано журналирование в ext3, ext4, OCFS2.
Читать полностью »

Linux Kernel 5.8: что нового в ядре с самым большим количеством изменений за всю историю - 1

Линус Торвальдс наконец-то представил релиз ядра Linux 5.8. О планируемых новшествах мы писали задолго до этого события, но теперь планы стали реальностью, так что изменения можно обсудить. Размер патча составил 65 МБ, затронуто 16180 файлов, плюс добавлено 1043240 строк кода.

Наиболее заметными и ожидаемыми нововведениями стали:

  • детектор состояний гонки KCSAN;
  • универсальный механизм доставки уведомлений в пространство пользователя;
  • поддержка оборудования inline-шифрования;
  • расширенные механизмы защиты для ARM64;
  • возможность раздельного монтирования экземпляров procfs;
  • реализация для ARM64 механизмов защиты Shadow Call Stack и BTI.

Еще ядро поддерживает российский процессор Baikal-T1.

Теперь подробнее об изменениях.
Читать полностью »

IBM открыла инструмент полностью гомоморфного шифрования для Linux - 1

Компания IBM опубликовала на GitHub исходный код набора инструментов FHE для Linux. Утилиты работают на платформах IBM Z и x86, поддерживаются Ubuntu, Fedora и CentOS.

Полностью гомоморфное шифрование (FHE) долгое время считалось чем-то вроде чаши святого Грааля в криптографии. Задача действительно казалась нереальной. Тип шифрования FHE предполагает манипуляции зашифрованными данными третьей стороной без возможности расшифровки самих данных или результата манипуляций.

Как такое возможно?
Читать полностью »

Как можно и как нельзя использовать нулевой указатель в С++ - 1

Некоторым этот банальный вопрос уже набил оскомину, но мы взяли 7 примеров и попытались объяснить их поведение при помощи стандарта:

struct A {
    int data_mem;
    void non_static_mem_fn() {}
    static void static_mem_fn() {}
};

void foo(int) {}

A* p{nullptr};

/*1*/ *p;
/*2*/ foo((*p, 5));                     
/*3*/ A a{*p};
/*4*/ p->data_mem;
/*5*/ int b{p->data_mem};
/*6*/ p->non_static_mem_fn();
/*7*/ p->static_mem_fn();

Читать полностью »

Материал, перевод которого мы публикуем сегодня, подготовили Крис Селлз из Google и представитель компании Canonical Кен ВанДин.

Компания Google, в том, что касается Flutter, всегда стремилась к тому, чтобы сделать этот фреймворк универсальным инструментом, позволяющим создавать привлекательные интерфейсы, работающие на любых платформах так же быстро, как интерфейсы «родных» приложений этих платформ. Чтобы убедиться в том, что это возможно, мы начали с того, что сосредоточили усилия на мобильных платформах — Android и iOS. В результате в Google Play оказалось опубликовано более 80000 быстрых и красивых Flutter-приложений.

Альфа-версия Flutter для Linux и разработка настольных приложений - 1

Мы, опираясь на достигнутые успехи, вот уже более года заняты расширением возможностей Flutter на настольные платформы — на macOS, Windows и Linux. Это касается и веб-приложений, и традиционных настольных проектов. В частности, мы заняты серьёзным рефакторингом движка. Рефакторинг направлен на поддержку работы с мышью и клавиатурой в том стиле, в котором это принято в настольных системах, а так же на поддержку окон, размер которых можно менять. Сюда входят и новые возможности пользовательских интерфейсов, которые хорошо подходят для настольных платформ. Это, например, поддержка Material Density и NavigationRail. Сюда же относятся и эксперименты по глубокой интеграции с настольными операционными системами благодаря Dart:FFI, и работа с системными меню и со стандартными диалоговыми окнами. Всё это делалось для того чтобы убедиться в том, что Flutter подходит не только для создания мобильных проектов, но и готов к тому, чтобы на его основе можно было бы разрабатывать настоящие настольные приложения.
Читать полностью »

Сравниваем подсистемы WSL 1 и WSL 2. Стоит ли переходить? - 1

В этой заметке в стиле «мысли вслух» автор хотел бы сравнить WSL первой и второй версии, благо опыт общения имеется.Читать полностью »

Теплое ламповое интернет-радио - 1


Это самая долгосрочная поделка в моей жизни. От идеи до конечной реализации, так чтобы ей можно было пользоваться, прошло 12 лет! За это время произошло колоссальное количество событий: переезды, рождения, смерти, но идея была со мной и ни смотря ни на что, я её доделал. И хочу рассказать о путях, терниях, чаяниях, которые сопровождали данную поделку и что из этого в результате получилось.Читать полностью »

Как слепой разработчик в одиночку создала синтезатор речи - 1


Мы все, так или иначе, сталкивались с пользователями, имеющими проблемы зрения. Отвечающие за UI, не важно сайта, мобильного приложения или любого другого софта, скорее всего, знают про необходимость учитывать потребности таких людей и поэтому делали режимы повышенной контрастности, увеличенные шрифты и так далее.

А что, если пользователь совсем слепой и все эти режимы никак не упрощают его жизнь? Здесь на арену выходят программы для чтения экрана и синтезаторы звука, без которых им не обойтись. И вот про один из них я бы хотел вам сегодня рассказать.

Называется от RhVoice и упоминался в нескольких публикациях на Хабре. Но знаете-ли вы, что многие считают его лучшим бесплатным синтезатором русской (и не только) речи, а написан он в одиночку полностью слепым разработчиком — Ольгой Яковлевой?

Сегодня восстанавливаем историческую справедливость и немного узнаем про сам синтезатор вообще, и Ольгу в частности.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js