summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorazul <azul@riseup.net>2016-10-17 09:09:59 +0000
committerazul <azul@riseup.net>2016-10-17 09:09:59 +0000
commit4159b6dd0df8e370fe95ca0c173552dd311cac3a (patch)
treef9f7fc37f18465a635ef957a0d78fa24c3b34e2b
parent5dae257996c480c3f7b5a220fcaf97812a560466 (diff)
parent968c6304e01b89cb6e5c62e8f067cf371c12dca4 (diff)
Merge branch 'release/0.9' into 'master'
Release 0.9 Version 0.9.0 Allow queries by fingerprint (using keyservers to reply) and support key lookup from other nickservers. This is a major rewrite both in terms of our dependencies and our architecture. We moved the server and http_client from eventmachine to Celluloid based libraries. This allows for a more concise syntax and proper https handling. In addition we now support ruby 2.3, use a Logger instead of stdout and handle network errors properly See merge request !7
-rw-r--r--.gitignore1
-rw-r--r--CHANGES.md18
-rw-r--r--Gemfile.lock74
-rw-r--r--doc/sequence-diagrams/request-response.pngbin0 -> 37705 bytes
-rw-r--r--doc/sequence-diagrams/request-response.seq22
-rw-r--r--lib/nickserver/version.rb2
6 files changed, 115 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 22d0d82..d966f01 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
vendor
+.byebug_history
diff --git a/CHANGES.md b/CHANGES.md
index 15a505b..7433c3a 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,9 +1,25 @@
+### version 0.9.0
+
+* isolate http adapter
+* seperate EM-Server from generic server
+* replace EM with celluloid based server and http client
+* implement key lookup by fingerprint from hkp servers
+* support for lookup from other keyservers
+* use gitlab ci
+* handle network errors properly
+* separate logging from stdout
+* support ruby version 2.3 in addition to 2.1
+
+### version 0.8.0
+
+duplicate of version 0.3.0 to catch up with leap platform version scheme
+
### version 0.3.0
* ruby version 2.1.5
* use travis CI
* bind nickserver only to localhost
-* `kkp_ca_file` config option
+* `hkp_ca_file` config option
### version 0.2.2
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..c29ba65
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,74 @@
+PATH
+ remote: .
+ specs:
+ nickserver (0.9.0)
+ http
+ reel
+
+GEM
+ remote: https://rubygems.org/
+ specs:
+ addressable (2.4.0)
+ byebug (9.0.5)
+ celluloid (0.17.3)
+ celluloid-essentials
+ celluloid-extras
+ celluloid-fsm
+ celluloid-pool
+ celluloid-supervision
+ timers (>= 4.1.1)
+ celluloid-essentials (0.20.5)
+ timers (>= 4.1.1)
+ celluloid-extras (0.20.5)
+ timers (>= 4.1.1)
+ celluloid-fsm (0.20.5)
+ timers (>= 4.1.1)
+ celluloid-io (0.17.3)
+ celluloid (>= 0.17.2)
+ nio4r (>= 1.1)
+ timers (>= 4.1.1)
+ celluloid-pool (0.20.5)
+ timers (>= 4.1.1)
+ celluloid-supervision (0.20.6)
+ timers (>= 4.1.1)
+ domain_name (0.5.20160826)
+ unf (>= 0.0.5, < 1.0.0)
+ hitimes (1.2.4)
+ http (2.0.3)
+ addressable (~> 2.3)
+ http-cookie (~> 1.0)
+ http-form_data (~> 1.0.1)
+ http_parser.rb (~> 0.6.0)
+ http-cookie (1.0.2)
+ domain_name (~> 0.5)
+ http-form_data (1.0.1)
+ http_parser.rb (0.6.0)
+ minitest (5.9.0)
+ nio4r (1.2.1)
+ rake (11.2.2)
+ reel (0.6.1)
+ celluloid (>= 0.15.1)
+ celluloid-io (>= 0.15.0)
+ http (>= 0.6.0.pre)
+ http_parser.rb (>= 0.6.0)
+ websocket-driver (>= 0.5.1)
+ timers (4.1.1)
+ hitimes
+ unf (0.1.4)
+ unf_ext
+ unf_ext (0.0.7.2)
+ websocket-driver (0.6.4)
+ websocket-extensions (>= 0.1.0)
+ websocket-extensions (0.1.2)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ byebug
+ minitest
+ nickserver!
+ rake
+
+BUNDLED WITH
+ 1.12.5
diff --git a/doc/sequence-diagrams/request-response.png b/doc/sequence-diagrams/request-response.png
new file mode 100644
index 0000000..170ce7a
--- /dev/null
+++ b/doc/sequence-diagrams/request-response.png
Binary files differ
diff --git a/doc/sequence-diagrams/request-response.seq b/doc/sequence-diagrams/request-response.seq
new file mode 100644
index 0000000..9baca21
--- /dev/null
+++ b/doc/sequence-diagrams/request-response.seq
@@ -0,0 +1,22 @@
+title Nickserver Request-Response-Sequence
+
+Client-->Server: Request
+Server->*Responder: new
+Server->*Dispatcher: new(responder)
+Server->Dispatcher: respond_to(params, headers)
+# Dispatcher->*Request: new(params, headers)
+Dispatcher->*HandlerA: call(request)
+# HandlerA->Request: params
+# Request->HandlerA: address: 'mail@domain'
+note right of HandlerA: not responsible
+HandlerA-->Dispatcher: nil
+destroy HandlerA
+Dispatcher->*HandlerB: call(request)
+note right of HandlerB: responsible\nquery source and build response
+HandlerB-->Dispatcher: reponse
+destroy HandlerB
+Dispatcher->Responder: send_response(response)
+# destroy Request
+destroy Dispatcher
+Responder-->Client: Response
+destroy Responder
diff --git a/lib/nickserver/version.rb b/lib/nickserver/version.rb
index 15afa73..0598ca8 100644
--- a/lib/nickserver/version.rb
+++ b/lib/nickserver/version.rb
@@ -1,3 +1,3 @@
module Nickserver
- VERSION = "0.3.0"
+ VERSION = "0.9.0"
end