X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/blobdiff_plain/fd42a1e558d856a1933385d7ed60e5fbe490f413..b7e1e18b57c30555f65a2548e0f1f186200c0ea8:/keys/tripe-keys.in diff --git a/keys/tripe-keys.in b/keys/tripe-keys.in index 1e56282b..b0dbf945 100644 --- a/keys/tripe-keys.in +++ b/keys/tripe-keys.in @@ -30,7 +30,7 @@ import catacomb as C import os as OS import sys as SYS -import sre as RX +import re as RX import getopt as O import shutil as SH import filecmp as FC @@ -143,6 +143,7 @@ def run(args): nargs += a[1:].split() args = nargs print '+ %s' % ' '.join(args) + SYS.stdout.flush() rc = OS.spawnvp(OS.P_WAIT, args[0], args) if rc != 0: raise SubprocessError, rc @@ -473,6 +474,30 @@ def cmd_clean(args): zap(i) ###-------------------------------------------------------------------------- +### Commands: mtu + +def cmd_mtu(args): + mtu, = (lambda mtu = '1500': (mtu,))(*args) + mtu = int(mtu) + + blksz = C.gcciphers[conf['cipher']].blksz + + index = conf['mac'].find('/') + if index == -1: + tagsz = C.gcmacs[conf['mac']].tagsz + else: + tagsz = int(conf['mac'][index + 1:])/8 + + mtu -= 20 # Minimum IP header + mtu -= 8 # UDP header + mtu -= 1 # TrIPE packet type octet + mtu -= tagsz # MAC tag + mtu -= 4 # Sequence number + mtu -= blksz # Initialization vector + + print mtu + +###-------------------------------------------------------------------------- ### Main driver. ## Exceptions. @@ -484,6 +509,7 @@ commands = {'help': (cmd_help, 0, 1, ''), 'upload': (cmd_upload, 0, 0, ''), 'update': (cmd_update, 0, 0, ''), 'clean': (cmd_clean, 0, 0, ''), + 'mtu': (cmd_mtu, 0, 1, '[PATH-MTU]'), 'generate': (cmd_generate, 1, 1, 'TAG'), 'rebuild': (cmd_rebuild, 0, 0, '')}