summaryrefslogtreecommitdiff
path: root/lib/nickserver/hkp
AgeCommit message (Collapse)Author
2017-11-04refactor: turn Hkp::Response into KeyResponserefactor/clarify-responseAzul
We now also use it from wkd and it seems like a generally useful kind of response.
2017-11-03fix: no expiration date means not outdatedAzul
We were using Time.at(expirationdate) even if it was nil which led to using the Time.at(0). Instead an unset expirationdate is meant to not expire the key at all. Our tests did not catch this because the assertions were in blocks that did not get run at all. (at least in the HKP integration test).
2017-09-23style: avoid endless elsif in KeyInfo#errorAzul
using an array of symbols representing the different checks now.
2017-09-23refactor: move error detection into key_infoAzul
Still needs something better than all these elsifs though
2017-09-23style: more rubocop fixesAzul
2017-09-23style: rubocop mostly auto-correctAzul
2016-09-22return nil on 404 in hkp sourceAzul
This way the other RequestHandlers can give it a try. If none handles it we'll get a 404 anyway. But maybe there's been an exception before so a 502 should be send.
2016-07-13[FEATURE] fetch key by fingerprintZara Gebru
- add fingerprint unit tests - add integration test - implement by_fingerprint
2016-07-02refactor: turn EmailAddress into a class, cleanupAzul
2016-07-02refactor: replace blocks/yields with returnsAzul
This became possible because we now use celluloid. Celluloid handles asynchronity without the need for callbacks or blocks.
2016-06-30Trying to replace EM base server with reelAzul
some tests are still broken. But at least they are running now.
2016-06-20add Nickserver::Source as superclassAzul
2016-06-15we don't need FetchKeyInfo anymore including in SourceAzul
2016-06-14introduce Hkp::ClientAzul
wraps the hkp protocol
2016-06-14use adapter for FetchKeyInfoAzul
2016-06-11use the adapter not EM in hkp sourceAzul
2016-06-10turn Hkp::FetchKey into Hkp::SourceAzul
The source was really just an empty shell now that we pushed the em specific stuff further down.
2016-06-09refactor: remove EM specific stuff from Hkp::FetchKey interfaceAzul
2016-06-09add Hkp::Source with same interface as CouchDB::SourceAzul
2016-06-09refactor: introduce Hkp::ResponseAzul
2016-05-25simplify KeyInfo. remove unneeded accessorsAzul
2016-05-25copy over all files from rewritten attemptAzul
I started a nickserver from scratch to implement the things that are independent of our choice of stack (eventmachine or other). This commit copies them over and tests both things in parallel.
2016-05-25rubocop: initialize and use ruby 1.9 hash syntaxAzul
2016-04-10minor tweaks to hkp response parsingAzul
Only parse responses that have status code 200 (OK). Simplify status code handling a bit Also profiled it to see if duplicate calculations matter. They don't (2ms for validating 12 keys)
2016-04-10bugfix: 404 if no key matches, fixes #6789Azul
I also separated the parsing of the hkp response from FetchKeyInfo. This way FetchKeyInfo has the EM specific code that has sideeffects and the logic is in a class without sideeffects and (almost) without state. The only state we keep is the KeyInfo array that contains all the information the server returns. This way we avoid parsing the response multiple times.
2013-08-06fix crash when fetched key is rejected (e.g. too short, etc), report errors ↵elijah
in the request, prevent most crashes by catching exceptions.
2013-05-15add CouchDB support.elijah
2013-05-13s/sks_url/hkp_urlelijah
2012-12-24initial commitelijah