summaryrefslogtreecommitdiff
path: root/lib/nickserver/hkp/source.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nickserver/hkp/source.rb')
-rw-r--r--lib/nickserver/hkp/source.rb28
1 files changed, 13 insertions, 15 deletions
diff --git a/lib/nickserver/hkp/source.rb b/lib/nickserver/hkp/source.rb
index 1af8ac9..cbff91a 100644
--- a/lib/nickserver/hkp/source.rb
+++ b/lib/nickserver/hkp/source.rb
@@ -1,5 +1,6 @@
require 'nickserver/response'
require 'nickserver/hkp/response'
+require 'nickserver/hkp/client'
#
# Fetch keys via HKP
@@ -29,11 +30,17 @@ module Nickserver; module Hkp
attr_reader :adapter
#
- # fetches ascii armored OpenPGP public key from the keyserver
+ # for now, just pick the newest key.
#
- def get_key_by_fingerprint(nick, key_id)
- params = {op: 'get', search: "0x" + key_id, exact: 'on', options: 'mr'}
- adapter.get Config.hkp_url, query: params do |status, response|
+ # in the future, we should perhaps pick the newest key
+ # that is signed by the oldest key.
+ #
+ def pick_best_key(key_info_list)
+ key_info_list.sort {|a,b| a.creationdate <=> b.creationdate}.last
+ end
+
+ def get_key_by_fingerprint(nick, fingerprint)
+ client.get_key_by_fingerprint fingerprint do |status, response|
if status == 200
yield Response.new nick, response
else
@@ -42,17 +49,8 @@ module Nickserver; module Hkp
end
end
- protected
-
- #
- # for now, just pick the newest key.
- #
- # in the future, we should perhaps pick the newest key
- # that is signed by the oldest key.
- #
- def pick_best_key(key_info_list)
- key_info_list.sort {|a,b| a.creationdate <=> b.creationdate}.last
+ def client
+ @client ||= Client.new(adapter)
end
end
-
end; end