Анонсирован релиз сетевого конфигуратора ConnMan 1.0, ориентированного для использования во встраиваемых Linux-системах, отличающегося низким потреблением системных ресурсов и наличием гибких средств для расширения функциональности через плагины. Изначально проект был основан компаниями Intel и Nokia в процессе разработки платформы MeeGo, позднее система конфигурации сети на базе ConnMan была использована в платформе Tizen и некоторых специализированных дистрибутивах и проектах, таких как GeeXBoX, Aldebaran Robotics и Nest. Код проекта распространяется под лицензией GPLv2.
Выпуск ConnMan 1.0 ознаменовал собой стабилизацию программных интерфейсов и будущую неизменность D-Bus API на протяжении ветки 1.x, в рамках которой API будет только расширяться с сохранением полной обратной совместимости. Таким образом приложения использующие API ConnMan 1.0 смогут без изменения работать и с будущими выпусками ConnMan 1.x. Сообщается, что в развитии проекта ConnMan приняло участие 80 разработчиков.
Ключевым компонентом ConnMan является фоновый процесс connmand, управляющий сетевыми соединениями. Взаимодействие и настройка различных типов сетевых подсистем производится через плагины. Например, доступны плагины для Ethernet, WiFi, Bluetooth, WiMAX, VPN (Openconnect, OpenVPN, vpnc) и PolicyKit. Для взаимодействия с устройствами используется подсистема ядра Linux netlink, для связи с другими приложениями команды передаются поверх D-Bus. Для конечных пользователей подготовлен GUI-интерфейс meego-panel-networks, оформленный в виде апплета на GTK+. Так как пользовательский интерфейс и логика управления полностью разделены, используя базовый D-Bus API могут быть разработаны и сторонние GUI-интерфейсы для управления работой ConnMan.
Код составных частей ConnMan с самого начала написан с оглядкой на минимальное потребление памяти и процессорных ресурсов, поэтому проект идеально подходит для использования на встраиваемых системах и мобильных платформах. Система полностью модульная, что позволяет значительно упростить обеспечение поддержки новых типов проводного и беспроводного сетевого оборудования. Кроме непосредственного взаимодействия с оборудованием, ConnMan отвечает также за выполнение сопутствующих операций, таких как получение адреса по DHCP, работа через прокси-серверы, настройка DNS-резолвера, накопление статистики, организация работы в роли точки доступа к сети, которые также реализованы в виде плагинов.
Технологии, поддерживаемые в ConnMan из коробки:
- Ethernet;
- WiFi с поддержкой WEP40/WEP128 и WPA/WPA2 (используется wpa_supplicant);
- Bluetooth (используется BlueZ);
- GSM, UMTS, CDMA и LTE (используется oFono);
- IPv4, IPv4-LL (link-local) и DHCP;
- Туннелинг IPv6, DHCPv6 и 6to4;
- Расширенная маршрутизация и конфигурация DNS;
- Встроенный DNS-прокси и система кэширвоания DNS-ответов;
- Встроенная система обнаружения параметров входа и web-порталов аутентификации для точек беспроводного доступа (WISPr hotspot);
- Настройка времени и часового пояса (ручная или через NTP);
- Управление работой через прокси (ручное или через WPAD);
- Средства для обеспечения связи других пользователей через текущую системы (Connection Sharing/Tethering). Режим Tethering позволяет организовать для внешних систем выход в сеть через текущее устройтсво, при этом соединение выглядит как виртуальный Ethernet. Поддерживается создание канала связи через USB, Bluetooth и WiFi;
- Накопление подробной статистики расхода трафика, в том числе с раздельным учётом работы в домашней сети и в режиме руминга.