summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancois Deppierraz <francois@ctrlaltdel.ch>2008-09-27 18:44:13 +0200
committerJames Turnbull <james@lovedthanlost.net>2008-10-07 00:24:02 +1100
commit990e8e3caadf488b5dd1d6b3bcb30df492f99647 (patch)
tree446e4ce828466a74d054660ffa87ea9cf89cd99a
parent06edac4a23b7d0c27e471c837fa34432dbc5f806 (diff)
downloadpuppet-990e8e3caadf488b5dd1d6b3bcb30df492f99647.tar.gz
puppet-990e8e3caadf488b5dd1d6b3bcb30df492f99647.tar.xz
puppet-990e8e3caadf488b5dd1d6b3bcb30df492f99647.zip
Fix #1530: Correctly parse ssh type 1 keys
This doesn't implies that puppet can managed SSH type 1 keys, it only ignores them.
-rw-r--r--lib/puppet/provider/ssh_authorized_key/parsed.rb6
-rw-r--r--test/data/providers/ssh_authorized_key/parsed/authorized_keys13
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/puppet/provider/ssh_authorized_key/parsed.rb b/lib/puppet/provider/ssh_authorized_key/parsed.rb
index 602e6dd1b..5411a1fb8 100644
--- a/lib/puppet/provider/ssh_authorized_key/parsed.rb
+++ b/lib/puppet/provider/ssh_authorized_key/parsed.rb
@@ -30,6 +30,12 @@ Puppet::Type.type(:ssh_authorized_key).provide(:parsed,
end
}
+ record_line :key_v1,
+ :fields => %w{options bits exponent modulus name},
+ :optional => %w{options},
+ :rts => /^\s+/,
+ :match => /^(?:(.+) )?(\d+) (\d+) (\d+)(?: (.+))?$/
+
def prefetch
# This was done in the type class but path expansion was failing for
# not yet existing users, the only workaround I found was to move that
diff --git a/test/data/providers/ssh_authorized_key/parsed/authorized_keys1 b/test/data/providers/ssh_authorized_key/parsed/authorized_keys1
new file mode 100644
index 000000000..7aa0647ca
--- /dev/null
+++ b/test/data/providers/ssh_authorized_key/parsed/authorized_keys1
@@ -0,0 +1,3 @@
+1024 35 167576894966720957580065952882142495543043407324667405194097438434880798807651864847570827148390962746149410384891026772700627764845955493549511618975091512997118590589399665757714186775228807376424903966072778732134483862302766419277581465932186641863495699668069439475320990051723279127881281145164415361627 francois@korn
+2048 35 27332429396020032283276339339051507284036000350350092862949624519871013308460312287866673933080560923221560798334008554200019645416448528663000202951887890525621015333936122655294782671001073795264378070156670395703161543893088138531854776737799752600933431638059304355933305878665812555436198516842364330938321746086651639330436648850787370397302524667456837036413634152938122227368132322078811602953517461933179827432019932348409533535942749570969101453655028606209719023224268890314608444789012688070463327764203306501923404494017305972543000091038543051645924928018568725584728655193415567703220002707737714942757 francois@korn
+from="192.168.1.1",command="/bin/false",no-pty,no-port-forwarding 2048 35 27332429396020032283276339339051507284036000350350092862949624519871013308460312287866673933080560923221560798334008554200019645416448528663000202951887890525621015333936122655294782671001073795264378070156670395703161543893088138531854776737799752600933431638059304355933305878665812555436198516842364330938321746086651639330436648850787370397302524667456837036413634152938122227368132322078811602953517461933179827432019932348409533535942749570969101453655028606209719023224268890314608444789012688070463327764203306501923404494017305972543000091038543051645924928018568725584728655193415567703220002707737714942757 francois@korn