From 15505103ac67f872e9396134c1b8cf17e8814387 Mon Sep 17 00:00:00 2001 From: David Schmitt Date: Mon, 25 Sep 2017 10:19:43 +0100 Subject: [PATCH] Copy subkey fix from original provider --- lib/puppet/provider/apt_key2/apt_key2.rb | 2 ++ .../puppet/provider/apt_key2/apt_key2_spec.rb | 36 ++++++++++--------- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/lib/puppet/provider/apt_key2/apt_key2.rb b/lib/puppet/provider/apt_key2/apt_key2.rb index ad5d762..4fe4692 100644 --- a/lib/puppet/provider/apt_key2/apt_key2.rb +++ b/lib/puppet/provider/apt_key2/apt_key2.rb @@ -51,6 +51,8 @@ class Puppet::Provider::AptKey2::AptKey2 key_list_lines.map { |line| if line.start_with?('pub') pub_line = line + # reset fpr_line, to skip any previous subkeys which were collected + fpr_line = nil elsif line.start_with?('fpr') fpr_line = line end diff --git a/spec/unit/puppet/provider/apt_key2/apt_key2_spec.rb b/spec/unit/puppet/provider/apt_key2/apt_key2_spec.rb index 619541c..bc984c3 100644 --- a/spec/unit/puppet/provider/apt_key2/apt_key2_spec.rb +++ b/spec/unit/puppet/provider/apt_key2/apt_key2_spec.rb @@ -12,18 +12,20 @@ RSpec.describe Puppet::Provider::AptKey2::AptKey2 do <::::::::::0: +sub:-:4096:1:AA8E81B4331F7F50:1495478513:1747766513:::::s::::::23: +fpr:::::::::379483D8B60160B155B372DDAA8E81B4331F7F50: pub:-:4096:1:7638D0442B90D010:1416603673:1668891673::-:::scSC::::::: rvk:::1::::::309911BEA966D0613053045711B4E5FF15B0FD82:80: rvk:::1::::::FBFABDB541B5DC955BD9BA6EDB16CF5BB12525C4:80: rvk:::1::::::80E976F14A508A48E9CA3FE9BC372252CA1CF964:80: fpr:::::::::126C0D24BD8A2942CC7DF8AC7638D0442B90D010: uid:-::::1416603673::15C761B84F0C9C293316B30F007E34BE74546B48::Debian Archive Automatic Signing Key (8/jessie) : -pub:-:4096:1:9D6D8F6BC857C906:1416604417:1668892417::-:::scSC::::::: -rvk:::1::::::FBFABDB541B5DC955BD9BA6EDB16CF5BB12525C4:80: -rvk:::1::::::309911BEA966D0613053045711B4E5FF15B0FD82:80: -rvk:::1::::::80E976F14A508A48E9CA3FE9BC372252CA1CF964:80: -fpr:::::::::D21169141CECD440F2EB8DDA9D6D8F6BC857C906: -uid:-::::1416604417::088FA6B00E33BCC6F6EB4DFEFAC591F9940E06F0::Debian Security Archive Automatic Signing Key (8/jessie) : EOS end @@ -97,6 +99,17 @@ EOS # expect(io).to receive(:stdout).and_return(stdout) expect(provider).to receive(:`).with('apt-key adv --list-keys --with-colons --fingerprint --fixed-list-mode 2>/dev/null').and_return(stdout) # rubocop:disable RSpec/SubjectStub expect(provider.get(context)).to eq [ + { ensure: 'present', + name: '6ED6F5CB5FA6FB2F460AE88EEDA0D2388AE22BA9', + id: '6ED6F5CB5FA6FB2F460AE88EEDA0D2388AE22BA9', + fingerprint: '6ED6F5CB5FA6FB2F460AE88EEDA0D2388AE22BA9', + long: 'EDA0D2388AE22BA9', + short: '8AE22BA9', + size: 4096, + type: :rsa, + created: '2017-05-22 19:41:53 +0100', + expiry: '2025-05-20 19:41:53 +0100', + expired: false }, { ensure: 'present', name: '126C0D24BD8A2942CC7DF8AC7638D0442B90D010', id: '126C0D24BD8A2942CC7DF8AC7638D0442B90D010', @@ -108,17 +121,6 @@ EOS created: '2014-11-21 21:01:13 +0000', expiry: '2022-11-19 21:01:13 +0000', expired: false }, - { ensure: 'present', - name: 'D21169141CECD440F2EB8DDA9D6D8F6BC857C906', - id: 'D21169141CECD440F2EB8DDA9D6D8F6BC857C906', - fingerprint: 'D21169141CECD440F2EB8DDA9D6D8F6BC857C906', - long: '9D6D8F6BC857C906', - short: 'C857C906', - size: 4096, - type: :rsa, - created: '2014-11-21 21:13:37 +0000', - expiry: '2022-11-19 21:13:37 +0000', - expired: false }, ] end end -- 2.45.2