diff options
author | Azul <azul@riseup.net> | 2017-09-23 15:10:11 +0200 |
---|---|---|
committer | Azul <azul@riseup.net> | 2017-09-23 16:53:27 +0200 |
commit | b2543051d0629ab11adae1a64a1aed2105a1b9d9 (patch) | |
tree | 855e042cdac61296e2386ff1f7643174ecbdafbb /lib/nickserver/hkp/parse_key_info.rb | |
parent | f40ef14010af08c49810c0a6a2349072948170e6 (diff) |
refactor: move error detection into key_info
Still needs something better than all these elsifs though
Diffstat (limited to 'lib/nickserver/hkp/parse_key_info.rb')
-rw-r--r-- | lib/nickserver/hkp/parse_key_info.rb | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/lib/nickserver/hkp/parse_key_info.rb b/lib/nickserver/hkp/parse_key_info.rb index c23751b..a6f170c 100644 --- a/lib/nickserver/hkp/parse_key_info.rb +++ b/lib/nickserver/hkp/parse_key_info.rb @@ -39,7 +39,7 @@ module Nickserver::Hkp protected def keys(uid) - key_infos(uid).reject { |key| error_for_key(key) } + key_infos(uid).reject(&:error) end def msg(uid) @@ -62,13 +62,12 @@ module Nickserver::Hkp end def errors(uid) - key_infos(uid).map { |key| error_for_key(key) }.compact + key_infos(uid).map(&:error).compact end def error_messages(uid) key_infos(uid).map do |key| - err = error_for_key(key) - error_message(uid, key, err) + error_message(uid, key) end.compact end @@ -90,22 +89,8 @@ module Nickserver::Hkp status == 200 end - def error_message(uid, key, err) - "Ignoring key #{key.keyid} for #{uid}: #{err}" if err - end - - def error_for_key(key) - if key.keylen < 2048 - 'key length is too short.' - elsif key.expired? - 'key expired.' - elsif key.revoked? - 'key revoked.' - elsif key.disabled? - 'key disabled.' - elsif key.expirationdate && key.expirationdate < Time.now - 'key expired' - end + def error_message(uid, key) + "Ignoring key #{key.keyid} for #{uid}: #{key.error}" if key.error end end end |