summaryrefslogtreecommitdiff
path: root/lib/nickserver/hkp/parse_key_info.rb
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2017-09-23 15:10:11 +0200
committerAzul <azul@riseup.net>2017-09-23 16:53:27 +0200
commitb2543051d0629ab11adae1a64a1aed2105a1b9d9 (patch)
tree855e042cdac61296e2386ff1f7643174ecbdafbb /lib/nickserver/hkp/parse_key_info.rb
parentf40ef14010af08c49810c0a6a2349072948170e6 (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.rb25
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