summaryrefslogtreecommitdiff
path: root/lib/nickserver/hkp/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/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/key_info.rb')
-rw-r--r--lib/nickserver/hkp/key_info.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/nickserver/hkp/key_info.rb b/lib/nickserver/hkp/key_info.rb
index 5c8b845..568a798 100644
--- a/lib/nickserver/hkp/key_info.rb
+++ b/lib/nickserver/hkp/key_info.rb
@@ -21,6 +21,20 @@ module Nickserver::Hkp
@uids = extract_uids(uid_lines)
end
+ def error
+ if keylen < 2048
+ 'key length is too short.'
+ elsif expired?
+ 'key expired.'
+ elsif revoked?
+ 'key revoked.'
+ elsif disabled?
+ 'key disabled.'
+ elsif expirationdate && expirationdate < Time.now
+ 'key expired'
+ end
+ end
+
def keyid
properties.first
end