@@ -220,6 +220,34 @@ async def get_config(self, name: str) -> Any:
220220 async def set_config (self , name : str , table : Any ) -> dict :
221221 return await self .call (const .SET_CONFIG , {"name" : name , "table" : table })
222222
223+ async def get_inner_server_config (self ) -> Any :
224+ """Return the ``InnerServer`` config table (Telnet, SSH, FTP, ...)."""
225+ return await self .get_config ("InnerServer" )
226+
227+ async def set_telnet (self , enable : bool = True ) -> dict :
228+ """Enable or disable the built-in telnet server (``InnerServer.Telnet``).
229+
230+ Read-modify-write so other ``InnerServer`` subkeys (SSH, FTP, …) are
231+ preserved.
232+ """
233+ table = await self .get_inner_server_config ()
234+ if isinstance (table , dict ):
235+ sub = table .get ("Telnet" )
236+ if not isinstance (sub , dict ):
237+ sub = {}
238+ table ["Telnet" ] = sub
239+ sub ["Enable" ] = enable
240+ else :
241+ table = {"Telnet" : {"Enable" : enable }}
242+ return await self .set_config ("InnerServer" , table )
243+
244+ async def telnet_enabled (self ) -> bool :
245+ """Return ``True`` if the built-in telnet server is enabled."""
246+ table = await self .get_inner_server_config ()
247+ if isinstance (table , dict ):
248+ return bool (table .get ("Telnet" , {}).get ("Enable" , False ))
249+ return False
250+
223251 # -- users --------------------------------------------------------------
224252 async def get_users (self ) -> list :
225253 params = await self .call (const .GET_USERS )
0 commit comments