diff options
author | Jameson Rollins <jrollins@finestructure.net> | 2010-10-18 09:55:53 -0400 |
---|---|---|
committer | Jameson Rollins <jrollins@finestructure.net> | 2010-10-18 16:34:32 -0400 |
commit | df882c1e7e63fc658d0296dbd272499923fc4c69 (patch) | |
tree | e9e7e364780bc6429e09340d74e1bf7dc580be33 /src/share/m/keys_for_userid | |
parent | 7f20193196c87b2cff0bf95d5ec53b5be3bdabb8 (diff) |
Simplification/refactoring of key/file processing
This is a fairly major overhaul to greatly reduce the number of
redundant code paths. We here created a new process_keys_for_file
function that processes key from a userid for a given key file. All
the main top elevel functions now call this one function.
The main top level monkeysphere functions for updating the user's
authorized_keys and known_hosts files are now moved to their own
sourced files, which greatly reduces the amount of code sourced with
common.
monkeysphere now updates authorized_keys and known_hosts in temporary
files that are then atomically moved into place upon completion.
Finally, removed the confusing return codes in the key/file processing
functions that were based on number of valid/invalid keys processed.
It was confusing in the presence of actual errors that stopped
processing.
Diffstat (limited to 'src/share/m/keys_for_userid')
-rw-r--r-- | src/share/m/keys_for_userid | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/share/m/keys_for_userid b/src/share/m/keys_for_userid new file mode 100644 index 0000000..a65356b --- /dev/null +++ b/src/share/m/keys_for_userid @@ -0,0 +1,26 @@ +# -*-shell-script-*- +# This should be sourced by bash (though we welcome changes to make it POSIX sh compliant) + +# Monkeysphere keys-for-userid subcommand +# +# The monkeysphere scripts are written by: +# Jameson Rollins <jrollins@finestructure.net> +# Jamie McClelland <jm@mayfirst.org> +# Daniel Kahn Gillmor <dkg@fifthhorseman.net> +# +# They are Copyright 2010, and are all released under the GPL, version +# 3 or later. + +keys_for_userid() { + local tmpFile=$(msmktempfile) + + trap "rm -f $tmpFile" EXIT + + FILE_TYPE='raw' process_keys_for_file "$tmpFile" "$@" + + cat "$tmpFile" + + rm -f "$tmpFile" + + trap - EXIT +} |