/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to mandos-monitor

  • Committer: Teddy Hogeborn
  • Date: 2024-11-24 00:44:25 UTC
  • Revision ID: teddy@recompile.se-20241124004425-6k3y0ir1ksyjq3c4
mandos-keygen: Show warning about old OpenSSH versions

When generating a config file snippet on the Mandos client system
using mandos-keygen, and the default ssh-keyscan checker is used, and
if the OpenSSH version is 9.8 or later, the "checker" command
generated for the config file on the Mandos server will include the
"-q" option for ssh-keyscan.  This option did not exist on ssh-keyscan
from OpenSSH older than version 9.8.  Therefore, if the Mandos
*server* is running an older version of OpenSSH, where ssh-keyscan
does not support the "-q" option, this option must be removed from the
generated "checker" setting.  Since we cannot know if this is the case
when running mandos-keygen on the Mandos client system, we print this
information as a comment above the generated "checker" setting.

* mandos-keygen: Show warning if the new "-q" options was used with
  ssh-keyscan in the generated "checker" setting.

Show diffs side-by-side

added added

removed removed

Lines of Context:
64
64
locale.setlocale(locale.LC_ALL, "")
65
65
 
66
66
logging.getLogger("dbus.proxies").setLevel(logging.CRITICAL)
 
67
logging.getLogger("urwid").setLevel(logging.INFO)
67
68
 
68
69
# Some useful constants
69
70
domain = "se.recompile"
70
71
server_interface = domain + ".Mandos"
71
72
client_interface = domain + ".Mandos.Client"
72
 
version = "1.8.16"
 
73
version = "1.8.17"
73
74
 
74
75
try:
75
76
    dbus.OBJECT_MANAGER_IFACE
127
128
        self.property_changed_match.remove()
128
129
 
129
130
 
130
 
class MandosClientWidget(urwid.FlowWidget, MandosClientPropertyCache):
 
131
class MandosClientWidget(MandosClientPropertyCache, urwid.Widget):
131
132
    """A Mandos Client which is visible on the screen.
132
133
    """
133
134
 
 
135
    _sizing = frozenset(["flow"])
 
136
 
134
137
    def __init__(self, server_proxy_object=None, update_hook=None,
135
138
                 delete_hook=None, **kwargs):
136
139
        # Called on update
225
228
 
226
229
    def selectable(self):
227
230
        """Make this a "selectable" widget.
228
 
        This overrides the method from urwid.FlowWidget."""
 
231
        This overrides the method from urwid.Widget."""
229
232
        return True
230
233
 
231
234
    def rows(self, maxcolrow, focus=False):
232
235
        """How many rows this widget will occupy might depend on
233
236
        whether we have focus or not.
234
 
        This overrides the method from urwid.FlowWidget"""
 
237
        This overrides the method from urwid.Widget"""
235
238
        return self.current_widget(focus).rows(maxcolrow, focus=focus)
236
239
 
237
240
    def current_widget(self, focus=False):
329
332
 
330
333
    def render(self, maxcolrow, focus=False):
331
334
        """Render differently if we have focus.
332
 
        This overrides the method from urwid.FlowWidget"""
 
335
        This overrides the method from urwid.Widget"""
333
336
        return self.current_widget(focus).render(maxcolrow,
334
337
                                                 focus=focus)
335
338
 
336
339
    def keypress(self, maxcolrow, key):
337
340
        """Handle keys.
338
 
        This overrides the method from urwid.FlowWidget"""
 
341
        This overrides the method from urwid.Widget"""
339
342
        if key == "+":
340
343
            self.proxy.Set(client_interface, "Enabled",
341
344
                           dbus.Boolean(True), ignore_reply=True,