diff --git a/splitgpg2/__init__.py b/splitgpg2/__init__.py index 0305925..7403786 100755 --- a/splitgpg2/__init__.py +++ b/splitgpg2/__init__.py @@ -569,6 +569,7 @@ def default_commands(self) -> Dict[bytes, 'NoneCallback']: @staticmethod def default_options() -> Dict[bytes, Tuple[OptionHandlingType, Optional[bytes]]]: return { + b'xauthority': (OptionHandlingType.fake, b'OK'), b'ttyname': (OptionHandlingType.fake, b'OK'), b'ttytype': (OptionHandlingType.fake, b'OK'), b'display': (OptionHandlingType.fake, b'OK'), diff --git a/splitgpg2/test_server.py b/splitgpg2/test_server.py index 517c542..7893a9e 100644 --- a/splitgpg2/test_server.py +++ b/splitgpg2/test_server.py @@ -590,6 +590,17 @@ async def go() -> None: await writer.wait_closed() self.loop.run_until_complete(go()) + def test_014_option_xauthority_allowed(self) -> None: + async def go() -> None: + reader, writer = await asyncio.open_unix_connection(self.socket_path) + self.assertEqual((await reader.readline()).rstrip(b'\n').split(b' ')[0], b'OK') + writer.write(b'OPTION xauthority=/run/flatpak/Xauthority\n') + self.assertEqual(await reader.readline(), b'OK\n') + writer.close() + await writer.wait_closed() + self.loop.run_until_complete(go()) + + class TC_Config(TestCase): key_uid = 'user@localhost'