mon/tripemon.in (CryptoInfo): Make the window a bit wider.
[tripe] / mon / tripemon.in
index 1e62f03..0404e21 100644 (file)
@@ -1256,6 +1256,10 @@ statsxlate = \
    ('ip-bytes-in', xlate_bytes),
    ('ip-bytes-out', xlate_bytes)]
 
+def format_stat(format, dict):
+  if callable(format): return format(dict)
+  else: return format % dict
+
 ## How to lay out the stats dialog.  Format is (LABEL, FORMAT): LABEL is
 ## the label to give the entry box; FORMAT is the format string to write into
 ## the entry.
@@ -1264,10 +1268,22 @@ cryptolayout = \
     '%(kx-group)s '
     '(%(kx-group-order-bits)s-bit order, '
     '%(kx-group-elt-bits)s-bit elements)'),
-   ('Cipher',
-    '%(cipher)s (%(cipher-keysz)s-bit key, %(cipher-blksz)s-bit block)'),
-   ('Mac', '%(mac)s (%(mac-keysz)s-bit key, %(mac-tagsz)s-bit tag)'),
-   ('Hash', '%(hash)s (%(hash-sz)s-bit output)')]
+   ('Bulk crypto transform',
+    '%(bulk-transform)s (%(bulk-overhead)s byte overhead)'),
+   ('Data encryption', lambda d: '%s (%s; %s)' % (
+     d['cipher'],
+     '%d-bit key' % (8*int(d['cipher-keysz'])),
+     d.get('cipher-blksz', '0') == '0'
+       and 'stream cipher'
+       or '%d-bit block' % (8*int(d['cipher-blksz'])))),
+   ('Message authentication', lambda d: '%s (%s; %s)' % (
+     d['mac'],
+     d.get('mac-keysz') is None
+       and 'one-time MAC'
+       or '%d-bit key' % (8*int(d['mac-keysz'])),
+     '%d-bit tag' % (8*int(d['mac-tagsz'])))),
+   ('Hash', lambda d: '%s (%d-bit output)' %
+    (d['hash'], 8*int(d['hash-sz'])))]
 
 statslayout = \
   [('Start time', '%(start-time)s'),
@@ -1362,7 +1378,7 @@ class PeerWindow (TrivialWindow):
         stat[s] = trans(stat[s])
       stat.update(me.peer.__dict__)
       for label, format in statslayout:
-        me.e[label].set_text(format % stat)
+        me.e[label].set_text(format_stat(format, stat))
       GL.timeout_add(1000, lambda: me.cr.switch() and False)
       me.cr.parent.switch()
     me.cr = None
@@ -1412,7 +1428,7 @@ class CryptoInfo (TrivialWindow):
                (crypto['kx-group'],
                 int(crypto['kx-group-order-bits']),
                 int(crypto['kx-group-elt-bits'])),
-               len = 32)
+               len = 42)
     table.info('Data encryption',
                '%s (%d-bit key; %s)' %
                (crypto['cipher'],