Description

This PR implements NetworkManager integration for Rosenpass, providing a D-Bus service that allows NetworkManager to manage Rosenpass post-quantum secure connections.

Closes #83 /claim #83

What’s Changed

New NetworkManager Plugin Package

  • Added networkmanager-plugin/ crate with full D-Bus integration
  • Implements D-Bus service at eu.rosenpass.NetworkManager
  • Supports multiple connection management via NetworkManager

Key Features

  • D-Bus Service Interface with 8 methods for complete NetworkManager control
  • Connection Management - activate, deactivate, and monitor Rosenpass connections
  • Configuration System - TOML-based per-connection configuration
  • Process Isolation - each connection runs in a separate Rosenpass process
  • State Monitoring - real-time connection state tracking with D-Bus signals
  • Systemd Integration - includes service file with security hardening

Implementation Details

D-Bus Interface Methods

  • ActivateConnection(connection_uuid: s)
  • DeactivateConnection(connection_uuid: s)
  • GetConnectionStatus(connection_uuid: s) -> (status: s)
  • ListConnections() -> (connections: as)
  • AddConnection(connection_uuid: s, config_path: s)
  • RemoveConnection(connection_uuid: s)
  • ReloadConfiguration()
  • GetVersion() -> (version: s)

D-Bus Signals

  • ConnectionStateChanged(connection_uuid: s, state: s)
  • ErrorOccurred(connection_uuid: s, error_message: s)

Testing

  • Unit tests for configuration loading and conversion
  • Integration tested with D-Bus commands

https://github.com/user-attachments/assets/531bb026-2dfe-4511-baac-5672f70198ee

Claim

Total prize pool $150
Total paid $0
Status Pending
Submitted July 28, 2025
Last updated July 28, 2025

Contributors

RI

Rishi Mondal

@MAVRICK-1

100%

Sponsors

RO

Rosenpass

@rosenpass

$150