diaspora-vines 0.1.27 → 0.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 87d2b07cbe2ab258cc25dbcea4fb8429feebd806
4
- data.tar.gz: 35994b6743c62749b50002ba80ea354dbe5d6116
3
+ metadata.gz: 91735ca9844a9e2ae693c71d37e6394a4e658bfe
4
+ data.tar.gz: 942a2546e5dfee69ac9c8ca7eb186125e363e0b1
5
5
  SHA512:
6
- metadata.gz: 33bcb7a97e8af3a83576adea4ef702a80276505ea2970b58b02a52265d8fd2be25158b8dc86b77da6234b78b1f703a084824f0b8830de5db0fc051f78b51c10e
7
- data.tar.gz: 42dbc10e518ac5238b399d97c714b169fee8cf72ba61ff58b73c8d4d3e7440d723e54cc95b9b17ca1076a58ecaf0f8c78412e3e16d2ce2490b831c55e5003ad4
6
+ metadata.gz: c263a68d998e4fe7c3855d613a49d405a63c25a63fa306cedbe99d8e92178fc9c4c0e89200d5500be334f4e3dec33da815d9f342106e0ab4132774713412b4fc
7
+ data.tar.gz: 3c5b14198a6c2f20065b70133e8b0455b18bb3e11da9f1579414daacae694c4fc4d4965b451f4fcd7c52a99ef3f8b76b097f3d91c2a030711554e812fb6ee9e0
@@ -100,6 +100,7 @@ end
100
100
  vines/stanza/iq/session
101
101
  vines/stanza/iq/vcard
102
102
  vines/stanza/iq/version
103
+ vines/stanza/dialback
103
104
  vines/stanza/message
104
105
  vines/stanza/presence
105
106
  vines/stanza/presence/error
@@ -0,0 +1,27 @@
1
+ # encoding: UTF-8
2
+
3
+ module Vines
4
+ class Stanza
5
+ class Dialback < Stanza
6
+ VALID_TYPE, INVALID_TYPE = %w[valid invalid].map {|t| t.freeze }
7
+ NS = NAMESPACES[:legacy_dialback]
8
+
9
+ register "/db:verify", 'db' => NS
10
+
11
+ def process
12
+ id, from, to = %w[id from to].map {|a| @node[a] }
13
+ key = @node.text
14
+
15
+ outbound_stream = router.stream_by_id(id)
16
+ unless outbound_stream && outbound_stream.state.is_a?(Stream::Server::Outbound::AuthDialbackResult)
17
+ @stream.write(%Q{<db:verify from="#{to}" to="#{from}" id="#{id}" type="error"><error type="cancel"><item-not-found xmlns="#{NAMESPACES[:stanzas]}"/></error></db:verify>})
18
+ return
19
+ end
20
+
21
+ secret = outbound_stream.state.dialback_secret
22
+ type = Kit.dialback_key(secret, from, to, id) == key ? VALID_TYPE : INVALID_TYPE
23
+ @stream.write(%Q{<db:verify from="#{to}" to="#{from}" id="#{id}" type="#{type}"/>})
24
+ end
25
+ end
26
+ end
27
+ end
@@ -43,6 +43,7 @@ module Vines
43
43
  begin
44
44
  Vines::Stream::Server.start(stream.config, node[FROM], node[TO], true) do |authoritative|
45
45
  if authoritative
46
+ # will be closed in outbound/authoritative.rb
46
47
  authoritative.write("<db:verify from='#{node[TO]}' id='#{stream.id}' to='#{node[FROM]}'>#{node.text}</db:verify>")
47
48
  end
48
49
  end
@@ -21,10 +21,6 @@ module Vines
21
21
  @success = Authoritative
22
22
  stream.callback!
23
23
  advance
24
- elsif tls?(node)
25
- @success = TLSResult
26
- stream.write("<starttls xmlns='#{NAMESPACES[:tls]}'/>")
27
- advance
28
24
  elsif dialback?(node)
29
25
  secret = Kit.auth_token
30
26
  dialback_key = Kit.dialback_key(secret, stream.remote_domain, stream.domain, stream.id)
@@ -33,6 +29,10 @@ module Vines
33
29
  advance
34
30
  stream.router << stream # We need to be discoverable for the dialback connection
35
31
  stream.state.dialback_secret = secret
32
+ elsif tls?(node)
33
+ @success = TLSResult
34
+ stream.write("<starttls xmlns='#{NAMESPACES[:tls]}'/>")
35
+ advance
36
36
  else
37
37
  raise StreamErrors::NotAuthorized
38
38
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Vines
4
4
  # vines forked version 0.4.10
5
- VERSION = '0.1.27'
5
+ VERSION = '0.1.28'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diaspora-vines
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.27
4
+ version: 0.1.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Graham
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-02-24 00:00:00.000000000 Z
12
+ date: 2015-08-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bcrypt
@@ -135,14 +135,14 @@ dependencies:
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '5.3'
138
+ version: '5.8'
139
139
  type: :development
140
140
  prerelease: false
141
141
  version_requirements: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '5.3'
145
+ version: '5.8'
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: rake
148
148
  requirement: !ruby/object:Gem::Requirement
@@ -201,6 +201,7 @@ files:
201
201
  - lib/vines/node.rb
202
202
  - lib/vines/router.rb
203
203
  - lib/vines/stanza.rb
204
+ - lib/vines/stanza/dialback.rb
204
205
  - lib/vines/stanza/iq.rb
205
206
  - lib/vines/stanza/iq/auth.rb
206
207
  - lib/vines/stanza/iq/disco_info.rb
@@ -364,70 +365,70 @@ required_rubygems_version: !ruby/object:Gem::Requirement
364
365
  version: '0'
365
366
  requirements: []
366
367
  rubyforge_project:
367
- rubygems_version: 2.4.5
368
+ rubygems_version: 2.4.8
368
369
  signing_key:
369
370
  specification_version: 4
370
371
  summary: Diaspora-vines is a Vines fork build for diaspora integration.
371
372
  test_files:
372
- - test/error_test.rb
373
- - test/test_helper.rb
374
- - test/storage/local_test.rb
375
- - test/storage/mock_redis.rb
376
- - test/storage/sql_schema.rb
377
- - test/storage/sql_test.rb
378
- - test/storage/null_test.rb
379
- - test/storage/storage_tests.rb
380
373
  - test/ext/nokogiri.rb
374
+ - test/router_test.rb
381
375
  - test/contact_test.rb
382
- - test/store_test.rb
383
- - test/cluster/sessions_test.rb
384
- - test/cluster/publisher_test.rb
385
- - test/cluster/subscriber_test.rb
386
- - test/config_test.rb
387
- - test/stream/parser_test.rb
388
- - test/stream/client/ready_test.rb
389
- - test/stream/client/auth_test.rb
390
- - test/stream/client/session_test.rb
376
+ - test/stanza/iq_test.rb
377
+ - test/stanza/presence/subscribe_test.rb
378
+ - test/stanza/presence/probe_test.rb
379
+ - test/stanza/pubsub/unsubscribe_test.rb
380
+ - test/stanza/pubsub/subscribe_test.rb
381
+ - test/stanza/pubsub/create_test.rb
382
+ - test/stanza/pubsub/delete_test.rb
383
+ - test/stanza/pubsub/publish_test.rb
384
+ - test/stanza/message_test.rb
385
+ - test/stanza/iq/version_test.rb
386
+ - test/stanza/iq/private_storage_test.rb
387
+ - test/stanza/iq/session_test.rb
388
+ - test/stanza/iq/disco_info_test.rb
389
+ - test/stanza/iq/vcard_test.rb
390
+ - test/stanza/iq/disco_items_test.rb
391
+ - test/stanza/iq/roster_test.rb
391
392
  - test/stream/sasl_test.rb
392
- - test/stream/http/sessions_test.rb
393
+ - test/stream/parser_test.rb
393
394
  - test/stream/http/start_test.rb
395
+ - test/stream/http/sessions_test.rb
396
+ - test/stream/http/request_test.rb
394
397
  - test/stream/http/ready_test.rb
395
398
  - test/stream/http/auth_test.rb
396
- - test/stream/http/request_test.rb
397
399
  - test/stream/component/start_test.rb
398
400
  - test/stream/component/ready_test.rb
399
401
  - test/stream/component/handshake_test.rb
400
- - test/stream/server/start_test.rb
401
- - test/stream/server/ready_test.rb
402
- - test/stream/server/auth_test.rb
402
+ - test/stream/client/session_test.rb
403
+ - test/stream/client/ready_test.rb
404
+ - test/stream/client/auth_test.rb
403
405
  - test/stream/server/auth_method_test.rb
406
+ - test/stream/server/outbound/authoritative_test.rb
404
407
  - test/stream/server/outbound/start_test.rb
408
+ - test/stream/server/outbound/auth_test.rb
405
409
  - test/stream/server/outbound/auth_restart_test.rb
406
410
  - test/stream/server/outbound/auth_external_test.rb
407
- - test/stream/server/outbound/auth_test.rb
408
411
  - test/stream/server/outbound/auth_dialback_result_test.rb
409
- - test/stream/server/outbound/authoritative_test.rb
410
- - test/token_bucket_test.rb
411
- - test/router_test.rb
412
- - test/user_test.rb
413
- - test/stanza/message_test.rb
414
- - test/stanza/presence/subscribe_test.rb
415
- - test/stanza/presence/probe_test.rb
416
- - test/stanza/pubsub/publish_test.rb
417
- - test/stanza/pubsub/delete_test.rb
418
- - test/stanza/pubsub/create_test.rb
419
- - test/stanza/pubsub/unsubscribe_test.rb
420
- - test/stanza/pubsub/subscribe_test.rb
421
- - test/stanza/iq_test.rb
422
- - test/stanza/iq/roster_test.rb
423
- - test/stanza/iq/vcard_test.rb
424
- - test/stanza/iq/disco_info_test.rb
425
- - test/stanza/iq/private_storage_test.rb
426
- - test/stanza/iq/session_test.rb
427
- - test/stanza/iq/version_test.rb
428
- - test/stanza/iq/disco_items_test.rb
429
- - test/jid_test.rb
430
- - test/stanza_test.rb
412
+ - test/stream/server/start_test.rb
413
+ - test/stream/server/ready_test.rb
414
+ - test/stream/server/auth_test.rb
415
+ - test/storage/storage_tests.rb
416
+ - test/storage/sql_schema.rb
417
+ - test/storage/sql_test.rb
418
+ - test/storage/local_test.rb
419
+ - test/storage/null_test.rb
420
+ - test/storage/mock_redis.rb
431
421
  - test/config/host_test.rb
432
422
  - test/config/pubsub_test.rb
423
+ - test/token_bucket_test.rb
424
+ - test/jid_test.rb
433
425
  - test/kit_test.rb
426
+ - test/cluster/publisher_test.rb
427
+ - test/cluster/sessions_test.rb
428
+ - test/cluster/subscriber_test.rb
429
+ - test/stanza_test.rb
430
+ - test/test_helper.rb
431
+ - test/error_test.rb
432
+ - test/store_test.rb
433
+ - test/config_test.rb
434
+ - test/user_test.rb