chiark / gitweb /
Overhaul manual pages.
[tripe] / keys / tripe-keys.in
index 6da6eb4a0c008d346a14e647e7aa922a02b0eb7a..531e7492bad0f401beb6d3cf6917ae6cecdf989e 100644 (file)
@@ -129,12 +129,14 @@ def conf_defaults():
                ('sig-file', '${base-dir}${sig-base}'),
                ('repos-file', '${base-dir}${repos-base}'),
                ('conf-file', '${base-dir}tripe-keys.conf'),
+               ('upload-hook', ': run upload hook'),
                ('kx', 'dh'),
                ('kx-param', lambda: {'dh': '-LS -b2048 -B256',
                                      'ec': '-Cnist-p256'}[conf['kx']]),
                ('kx-expire', 'now + 1 year'),
                ('cipher', 'blowfish-cbc'),
                ('hash', 'sha256'),
+               ('master-keygen-flags', '-l'),
                ('mgf', '${hash}-mgf'),
                ('mac', lambda: '%s-hmac/%d' %
                          (conf['hash'],
@@ -182,9 +184,9 @@ Key management utility for TrIPE.
 
 Options supported:
 
--h, --help             Show this help message.
--v, --version          Show the version number.
--u, --usage            Show pointlessly short usage string.
+-h, --help              Show this help message.
+-v, --version           Show the version number.
+-u, --usage             Show pointlessly short usage string.
 
 Subcommands available:
 """
@@ -197,7 +199,7 @@ Subcommands available:
 def master_keys():
   if not OS.path.exists('master'):
     return
-  for k in C.KeyFile('master'):
+  for k in C.KeyFile('master').itervalues():
     if (k.type != 'tripe-keys-master' or
         k.expiredp or
         not k.tag.startswith('master-')):
@@ -218,7 +220,7 @@ def cmd_newmaster(args):
   seq = max_master_sequence() + 1
   run('''key -kmaster add
     -a${sig-genalg} !${sig-param}
-    -e${sig-expire} -l -tmaster-%d tripe-keys-master
+    -e${sig-expire} !${master-keygen-flags} -tmaster-%d tripe-keys-master
     sig=${sig} hash=${sig-hash}''' % seq)
   run('key -kmaster extract -f-secret repos/master.pub')
 
@@ -279,7 +281,8 @@ def cmd_upload(args):
       OS.rename(new, base)
   finally:
     OS.chdir(cwd)
-    rmtree('tmp')    
+    rmtree('tmp')
+  run('sh -c ${upload-hook}')
 
 def cmd_update(args):
   cwd = OS.getcwd()
@@ -343,7 +346,7 @@ def cmd_clean(args):
 ### Main driver
 
 class UsageError (Exception): pass
-  
+
 commands = {'help': (cmd_help, 0, 1, ''),
             'newmaster': (cmd_newmaster, 0, 0, ''),
             'setup': (cmd_setup, 0, 0, ''),