Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-proton-vpn-network-manager
for openSUSE:Factory checked in at 2024-04-21 20:29:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-proton-vpn-network-manager (Old)
and
/work/SRC/openSUSE:Factory/.python-proton-vpn-network-manager.new.26366 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-proton-vpn-network-manager"
Sun Apr 21 20:29:01 2024 rev:3 rq:1169474 version:0.4.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-proton-vpn-network-manager/python-proton-vpn-network-manager.changes
2024-03-25 21:20:26.388397665 +0100
+++
/work/SRC/openSUSE:Factory/.python-proton-vpn-network-manager.new.26366/python-proton-vpn-network-manager.changes
2024-04-21 20:30:25.916860077 +0200
@@ -1,0 +2,7 @@
+Sun Apr 21 08:50:59 UTC 2024 - Dirk Müller <[email protected]>
+
+- update to 0.4.2:
+ * Update to new interface
+ * Make necessary changes to support Wireguard protocol
+
+-------------------------------------------------------------------
Old:
----
v0.4.0.tar.gz
New:
----
v0.4.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-proton-vpn-network-manager.spec ++++++
--- /var/tmp/diff_new_pack.AE9C9N/_old 2024-04-21 20:30:27.020900606 +0200
+++ /var/tmp/diff_new_pack.AE9C9N/_new 2024-04-21 20:30:27.032901047 +0200
@@ -19,7 +19,7 @@
%define skip_python2 1
%{?sle15_python_module_pythons}
Name: python-proton-vpn-network-manager
-Version: 0.4.0
+Version: 0.4.2
Release: 0
Summary: Proton VPN library for NetworkManager
License: GPL-3.0-or-later
++++++ v0.4.0.tar.gz -> v0.4.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-proton-vpn-network-manager-0.4.0/debian/changelog
new/python-proton-vpn-network-manager-0.4.2/debian/changelog
--- old/python-proton-vpn-network-manager-0.4.0/debian/changelog
2024-02-14 15:52:48.000000000 +0100
+++ new/python-proton-vpn-network-manager-0.4.2/debian/changelog
2024-03-06 10:28:24.000000000 +0100
@@ -1,3 +1,15 @@
+protonvpn-network-manager (0.4.2) unstable; urgency=medium
+
+ * Update to new interface
+
+ -- Alexandru Cheltuitor <[email protected]> Fri, 1 Mar 2024
10:00:00 +0100
+
+protonvpn-network-manager (0.4.1) unstable; urgency=medium
+
+ * Make necessary changes to support Wireguard protocol
+
+ -- Alexandru Cheltuitor <[email protected]> Tue, 27 Feb 2024
10:00:00 +0100
+
protonvpn-network-manager (0.4.0) unstable; urgency=medium
* Initialize connection with persisted parameters
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-proton-vpn-network-manager-0.4.0/debian/control
new/python-proton-vpn-network-manager-0.4.2/debian/control
--- old/python-proton-vpn-network-manager-0.4.0/debian/control 2024-02-14
15:52:48.000000000 +0100
+++ new/python-proton-vpn-network-manager-0.4.2/debian/control 2024-03-06
10:28:24.000000000 +0100
@@ -9,4 +9,5 @@
Package: python3-proton-vpn-network-manager
Architecture: all
Depends: ${python3:Depends}, ${misc:Depends}, python3-proton-core,
python3-proton-vpn-connection, network-manager, python3-gi, gir1.2-nm-1.0
+Breaks: python3-proton-vpn-network-manager-openvpn (<< 0.0.5),
python3-proton-vpn-network-manager-wireguard (<< 0.0.3)
Description: Python3 ProtonVPN Network Manager Backend
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-proton-vpn-network-manager-0.4.0/proton/vpn/backend/linux/networkmanager/core/networkmanager.py
new/python-proton-vpn-network-manager-0.4.2/proton/vpn/backend/linux/networkmanager/core/networkmanager.py
---
old/python-proton-vpn-network-manager-0.4.0/proton/vpn/backend/linux/networkmanager/core/networkmanager.py
2024-02-14 15:52:48.000000000 +0100
+++
new/python-proton-vpn-network-manager-0.4.2/proton/vpn/backend/linux/networkmanager/core/networkmanager.py
2024-03-06 10:28:24.000000000 +0100
@@ -45,6 +45,7 @@
To do this, this class needs to be extended so that the subclass
initializes the NetworkManager connection appropriately.
"""
+ SIGNAL_NAME = "vpn-state-changed"
backend = "linuxnetworkmanager"
def __init__(self, *args, nm_client: NMClient = None, **kwargs):
@@ -79,7 +80,7 @@
server_reachable = await tcpcheck.is_any_port_reachable(
self._vpnserver.server_ip,
- self._vpnserver.tcp_ports
+ self._vpnserver.openvpn_ports.tcp
)
if not server_reachable:
@@ -94,7 +95,7 @@
self._notify_subscribers(events.Disconnected(EventContext(connection=self)))
return
- future_connection = self._setup() # Creates the network manager
connection.
+ future_connection = self.setup() # Creates the network manager
connection.
loop = asyncio.get_running_loop()
try:
connection = await loop.run_in_executor(None,
future_connection.result)
@@ -123,8 +124,8 @@
)
# Start listening for vpn state changes.
vpn_connection.connect(
- "vpn-state-changed",
- self._on_vpn_state_changed
+ self.SIGNAL_NAME,
+ self._on_state_changed
)
except GLib.GError:
logger.exception("Error starting NetworkManager connection.")
@@ -166,7 +167,7 @@
await self.remove_connection()
# pylint: disable=unused-argument
- def _on_vpn_state_changed(
+ def _on_state_changed(
self, vpn_connection: NM.VpnConnection, state: int, reason: int
):
"""
@@ -307,8 +308,8 @@
)
if active_connection:
active_connection.connect(
- "vpn-state-changed",
- self._on_vpn_state_changed
+ self.SIGNAL_NAME,
+ self._on_state_changed
)
return states.Connected(context)
@@ -324,7 +325,7 @@
server_name = self._vpnserver.server_name or "Connection"
return f"ProtonVPN {server_name}"
- def _setup(self):
+ def setup(self):
"""
Every protocol derived from this class has to override this method
in order to have it working.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-proton-vpn-network-manager-0.4.0/rpmbuild/SPECS/package.spec
new/python-proton-vpn-network-manager-0.4.2/rpmbuild/SPECS/package.spec
--- old/python-proton-vpn-network-manager-0.4.0/rpmbuild/SPECS/package.spec
2024-02-14 15:52:48.000000000 +0100
+++ new/python-proton-vpn-network-manager-0.4.2/rpmbuild/SPECS/package.spec
2024-03-06 10:28:24.000000000 +0100
@@ -1,5 +1,5 @@
%define unmangled_name proton-vpn-network-manager
-%define version 0.4.0
+%define version 0.4.2
%define release 1
Prefix: %{_prefix}
@@ -33,6 +33,9 @@
Requires: python3-proton-core
Requires: python3-setuptools
+Conflicts: python3-proton-vpn-network-manager-openvpn < 0.0.5
+Conflicts: python3-proton-vpn-network-manager-wireguard < 0.0.3
+
%{?python_disable_dependency_generator}
%description
@@ -55,6 +58,12 @@
%defattr(-,root,root)
%changelog
+* Fri Mar 1 2024 Alexandru Cheltuitor <[email protected]> 0.4.2
+- Update to new interface
+
+* Tue Feb 27 2024 Alexandru Cheltuitor <[email protected]> 0.4.1
+- Make necessary changes to support Wireguard protocol
+
* Wed Feb 14 2024 Josep Llaneras <[email protected]> 0.4.0
- Initialize connection with persisted parameters
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-proton-vpn-network-manager-0.4.0/setup.py
new/python-proton-vpn-network-manager-0.4.2/setup.py
--- old/python-proton-vpn-network-manager-0.4.0/setup.py 2024-02-14
15:52:48.000000000 +0100
+++ new/python-proton-vpn-network-manager-0.4.2/setup.py 2024-03-06
10:28:24.000000000 +0100
@@ -4,7 +4,7 @@
setup(
name="proton-vpn-network-manager",
- version="0.4.0",
+ version="0.4.2",
description="Proton Technologies VPN connector for linux",
author="Proton Technologies",
author_email="[email protected]",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-proton-vpn-network-manager-0.4.0/tests/boilerplate.py
new/python-proton-vpn-network-manager-0.4.2/tests/boilerplate.py
--- old/python-proton-vpn-network-manager-0.4.0/tests/boilerplate.py
2024-02-14 15:52:48.000000000 +0100
+++ new/python-proton-vpn-network-manager-0.4.2/tests/boilerplate.py
2024-03-06 10:28:24.000000000 +0100
@@ -23,9 +23,9 @@
@dataclass
class VPNServer:
server_ip: str = None
- udp_ports: List[int] = None
- tcp_ports: List[int] = None
- wg_public_key_x25519: str = None
+ openvpn_ports: object = None
+ wireguard_ports: object = None
+ x25519pk: str = None
domain: str = None
servername: str = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-proton-vpn-network-manager-0.4.0/tests/test_networkmanager.py
new/python-proton-vpn-network-manager-0.4.2/tests/test_networkmanager.py
--- old/python-proton-vpn-network-manager-0.4.0/tests/test_networkmanager.py
2024-02-14 15:52:48.000000000 +0100
+++ new/python-proton-vpn-network-manager-0.4.2/tests/test_networkmanager.py
2024-03-06 10:28:24.000000000 +0100
@@ -31,6 +31,8 @@
from proton.vpn.backend.linux.networkmanager.core import LinuxNetworkManager
from proton.vpn.connection import states
from proton.vpn.connection import events
+from collections import namedtuple
+OpenVPNPorts = namedtuple("OpenVPNPorts", "udp tcp")
class LinuxNetworkManagerProtocol(LinuxNetworkManager):
@@ -44,7 +46,7 @@
super().__init__(*args, connection_persistence=connection_persistence,
killswitch=killswitch, **kwargs)
- def _setup(self):
+ def setup(self):
# to be mocked in tests
pass
@@ -56,7 +58,9 @@
def create_nm_protocol(nm_client_mock):
return LinuxNetworkManagerProtocol(
- VPNServer(), VPNCredentials(), Settings(), nm_client=nm_client_mock
+ VPNServer(
+ openvpn_ports=OpenVPNPorts([00], [00])
+ ), VPNCredentials(), Settings(), nm_client=nm_client_mock
)
@@ -64,11 +68,11 @@
@patch("proton.vpn.backend.linux.networkmanager.core.networkmanager.tcpcheck")
async def test_start(tcpcheck_patch, nm_client_mock):
# Mock successful TCP connection check.
- tcpcheck_patch.is_any_port_reachable = AsyncMock(return_value=True)
+ tcpcheck_patch.is_any_port_reachable = AsyncMock()
nm_protocol = create_nm_protocol(nm_client_mock)
- with patch.object(nm_protocol, "_setup") as setup_mock:
+ with patch.object(nm_protocol, "setup") as setup_mock:
start_connection_future = Future()
nm_client_mock.start_connection_async.return_value =
start_connection_future
connection_mock = setup_mock.return_value.result()
@@ -84,7 +88,7 @@
# is hooked to monitor vpn connection state changes.
connection_mock.connect.assert_called_once_with(
"vpn-state-changed",
- nm_protocol._on_vpn_state_changed
+ nm_protocol._on_state_changed
)
@@ -99,7 +103,7 @@
connection_subscriber = Mock()
nm_protocol = create_nm_protocol(nm_client_mock)
nm_protocol.register(connection_subscriber)
- with patch.object(nm_protocol, "_setup") as setup_mock:
+ with patch.object(nm_protocol, "setup") as setup_mock:
await nm_protocol.start()
setup_mock.assert_not_called()
@@ -120,7 +124,7 @@
# Mock successful TCP connection check.
tcpcheck_patch.is_any_port_reachable = AsyncMock(return_value=True)
- with patch.object(nm_protocol, "_setup") as setup_mock:
+ with patch.object(nm_protocol, "setup") as setup_mock:
# Mock error on connection setup.
setup_connection_future = Future()
setup_connection_future.set_exception(GLib.GError)
@@ -148,12 +152,12 @@
# Mock successful TCP connection check.
tcpcheck_patch.is_any_port_reachable = AsyncMock(return_value=True)
- with patch.multiple(nm_protocol, _setup=DEFAULT,
remove_connection=DEFAULT) as mocks:
+ with patch.multiple(nm_protocol, setup=DEFAULT, remove_connection=DEFAULT)
as mocks:
# Mock successful connection setup.
connection = Mock()
setup_connection_future = Future()
setup_connection_future.set_result(connection)
- mocks["_setup"].return_value = setup_connection_future
+ mocks["setup"].return_value = setup_connection_future
# Mock error on connection activation.
start_connection_future = Future()
@@ -269,10 +273,10 @@
]
)
@patch("proton.vpn.backend.linux.networkmanager.core.LinuxNetworkManager._notify_subscribers_threadsafe")
-async def test_on_vpn_state_changed(_notify_subscribers_threadsafe,
nm_client_mock, state, reason, expected_event):
+async def test_on_state_changed(_notify_subscribers_threadsafe,
nm_client_mock, state, reason, expected_event):
_notify_subscribers_threadsafe.return_value = None
nm_protocol = create_nm_protocol(nm_client_mock)
- nm_protocol._on_vpn_state_changed(None, state, reason)
+ nm_protocol._on_state_changed(None, state, reason)
# assert that the LinuxNetworkManager._notify_subscribers method was
called with the expected event
_notify_subscribers_threadsafe.assert_called_once()
@@ -303,24 +307,17 @@
async def
test_initialize_persisted_connection_determines_initial_connection_state(
active_nm_connection, inactive_nm_connection, expected_state
):
- persisted_parameters = ConnectionParameters(
- connection_id="connection-id",
- killswitch=0,
- backend=LinuxNetworkManagerProtocol.backend,
- protocol=LinuxNetworkManagerProtocol.protocol,
- server_id="server-id",
- server_name="server-name"
- )
nm_client_mock = Mock()
nm_client_mock.get_active_connection.return_value = active_nm_connection
nm_client_mock.get_connection.return_value = inactive_nm_connection
# The VPNConnection constructor calls `_initialize_persisted_connection`
- # when `persisted_parameters` are provided.
+ # when `connection_id` is provided.
nm_protocol = LinuxNetworkManagerProtocol(
server=None,
credentials=None,
- persisted_parameters=persisted_parameters,
+ settings=None,
+ connection_id="connection_id",
nm_client=nm_client_mock
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-proton-vpn-network-manager-0.4.0/tests_integration/boilerplate.py
new/python-proton-vpn-network-manager-0.4.2/tests_integration/boilerplate.py
---
old/python-proton-vpn-network-manager-0.4.0/tests_integration/boilerplate.py
2024-02-14 15:52:48.000000000 +0100
+++
new/python-proton-vpn-network-manager-0.4.2/tests_integration/boilerplate.py
2024-03-06 10:28:24.000000000 +0100
@@ -23,9 +23,9 @@
@dataclass
class VPNServer:
server_ip: str = None
- udp_ports: List[int] = None
- tcp_ports: List[int] = None
- wg_public_key_x25519: str = None
+ openvpn_ports: object = None
+ wireguard_ports: object = None
+ x25519pk: str = None
domain: str = None
servername: str = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-proton-vpn-network-manager-0.4.0/tests_integration/test_connection_up_and_down.py
new/python-proton-vpn-network-manager-0.4.2/tests_integration/test_connection_up_and_down.py
---
old/python-proton-vpn-network-manager-0.4.0/tests_integration/test_connection_up_and_down.py
2024-02-14 15:52:48.000000000 +0100
+++
new/python-proton-vpn-network-manager-0.4.2/tests_integration/test_connection_up_and_down.py
2024-03-06 10:28:24.000000000 +0100
@@ -42,8 +42,11 @@
logger.info(f"Testing against server {VPN_SERVER_NAME}.")
EXPECTED_CONNECTION_NAME = f"ProtonVPN {VPN_SERVER_NAME}"
+from collections import namedtuple
+OpenVPNPorts = namedtuple("OpenVPNPorts", "udp tcp")
+
@pytest.fixture(scope="module")
def vpn_client_config():
return get_vpn_client_config()
@@ -53,10 +56,11 @@
def vpn_server(vpn_client_config):
server = get_vpn_server_by_name(VPN_SERVER_NAME)
default_ports = vpn_client_config["OpenVPNConfig"]["DefaultPorts"]
+
return VPNServer(
server_ip=server["Servers"][0]["EntryIP"],
- udp_ports=default_ports["UDP"],
- tcp_ports=default_ports["TCP"],
+ openvpn_ports=OpenVPNPorts(default_ports["UDP"], default_ports["TCP"]),
+ wireguard_ports={},
domain=server["Domain"],
servername=server["Name"]
)