scout 5.7.1 → 5.7.2.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.markdown +5 -0
- data/lib/scout/command/run.rb +1 -1
- data/lib/scout/server.rb +2 -1
- data/lib/scout/streamer.rb +3 -2
- data/lib/scout/streamer_daemon.rb +4 -4
- data/lib/scout/version.rb +1 -1
- data/test/scout_test.rb +7 -8
- data/vendor/httpclient/README.txt +759 -0
- data/vendor/httpclient/bin/httpclient +65 -0
- data/vendor/httpclient/lib/hexdump.rb +50 -0
- data/vendor/httpclient/lib/http-access2.rb +55 -0
- data/vendor/httpclient/lib/http-access2/cookie.rb +1 -0
- data/vendor/httpclient/lib/http-access2/http.rb +1 -0
- data/vendor/httpclient/lib/httpclient.rb +1156 -0
- data/vendor/httpclient/lib/httpclient/auth.rb +899 -0
- data/vendor/httpclient/lib/httpclient/cacert.p7s +1912 -0
- data/vendor/httpclient/lib/httpclient/connection.rb +88 -0
- data/vendor/httpclient/lib/httpclient/cookie.rb +438 -0
- data/vendor/httpclient/lib/httpclient/http.rb +1046 -0
- data/vendor/httpclient/lib/httpclient/include_client.rb +83 -0
- data/vendor/httpclient/lib/httpclient/session.rb +1025 -0
- data/vendor/httpclient/lib/httpclient/ssl_config.rb +403 -0
- data/vendor/httpclient/lib/httpclient/timeout.rb +140 -0
- data/vendor/httpclient/lib/httpclient/util.rb +178 -0
- data/vendor/httpclient/lib/httpclient/version.rb +3 -0
- data/vendor/httpclient/lib/oauthclient.rb +110 -0
- data/vendor/httpclient/sample/async.rb +8 -0
- data/vendor/httpclient/sample/auth.rb +11 -0
- data/vendor/httpclient/sample/cookie.rb +18 -0
- data/vendor/httpclient/sample/dav.rb +103 -0
- data/vendor/httpclient/sample/howto.rb +49 -0
- data/vendor/httpclient/sample/oauth_buzz.rb +57 -0
- data/vendor/httpclient/sample/oauth_friendfeed.rb +59 -0
- data/vendor/httpclient/sample/oauth_salesforce_10.rb +63 -0
- data/vendor/httpclient/sample/oauth_twitter.rb +61 -0
- data/vendor/httpclient/sample/ssl/0cert.pem +22 -0
- data/vendor/httpclient/sample/ssl/0key.pem +30 -0
- data/vendor/httpclient/sample/ssl/1000cert.pem +19 -0
- data/vendor/httpclient/sample/ssl/1000key.pem +18 -0
- data/vendor/httpclient/sample/ssl/htdocs/index.html +10 -0
- data/vendor/httpclient/sample/ssl/ssl_client.rb +22 -0
- data/vendor/httpclient/sample/ssl/webrick_httpsd.rb +29 -0
- data/vendor/httpclient/sample/stream.rb +21 -0
- data/vendor/httpclient/sample/thread.rb +27 -0
- data/vendor/httpclient/sample/wcat.rb +21 -0
- data/vendor/httpclient/test/ca-chain.cert +44 -0
- data/vendor/httpclient/test/ca.cert +23 -0
- data/vendor/httpclient/test/client.cert +19 -0
- data/vendor/httpclient/test/client.key +15 -0
- data/vendor/httpclient/test/helper.rb +129 -0
- data/vendor/httpclient/test/htdigest +1 -0
- data/vendor/httpclient/test/htpasswd +2 -0
- data/vendor/httpclient/test/runner.rb +2 -0
- data/vendor/httpclient/test/server.cert +19 -0
- data/vendor/httpclient/test/server.key +15 -0
- data/vendor/httpclient/test/sslsvr.rb +65 -0
- data/vendor/httpclient/test/subca.cert +21 -0
- data/vendor/httpclient/test/test_auth.rb +321 -0
- data/vendor/httpclient/test/test_cookie.rb +391 -0
- data/vendor/httpclient/test/test_hexdump.rb +14 -0
- data/vendor/httpclient/test/test_http-access2.rb +507 -0
- data/vendor/httpclient/test/test_httpclient.rb +1783 -0
- data/vendor/httpclient/test/test_include_client.rb +52 -0
- data/vendor/httpclient/test/test_ssl.rb +235 -0
- data/vendor/multi_json/.document +5 -0
- data/vendor/multi_json/.rspec +3 -0
- data/vendor/multi_json/.travis.yml +11 -0
- data/vendor/multi_json/.yardopts +6 -0
- data/vendor/multi_json/CHANGELOG.md +169 -0
- data/vendor/multi_json/CONTRIBUTING.md +46 -0
- data/vendor/multi_json/Gemfile +31 -0
- data/vendor/multi_json/LICENSE.md +20 -0
- data/vendor/multi_json/README.md +109 -0
- data/vendor/multi_json/Rakefile +12 -0
- data/vendor/multi_json/lib/multi_json.rb +157 -0
- data/vendor/multi_json/lib/multi_json/adapter.rb +48 -0
- data/vendor/multi_json/lib/multi_json/adapters/gson.rb +19 -0
- data/vendor/multi_json/lib/multi_json/adapters/jr_jackson.rb +19 -0
- data/vendor/multi_json/lib/multi_json/adapters/json_common.rb +25 -0
- data/vendor/multi_json/lib/multi_json/adapters/json_gem.rb +11 -0
- data/vendor/multi_json/lib/multi_json/adapters/json_pure.rb +11 -0
- data/vendor/multi_json/lib/multi_json/adapters/nsjsonserialization.rb +34 -0
- data/vendor/multi_json/lib/multi_json/adapters/oj.rb +24 -0
- data/vendor/multi_json/lib/multi_json/adapters/ok_json.rb +22 -0
- data/vendor/multi_json/lib/multi_json/adapters/yajl.rb +19 -0
- data/vendor/multi_json/lib/multi_json/convertible_hash_keys.rb +43 -0
- data/vendor/multi_json/lib/multi_json/load_error.rb +11 -0
- data/vendor/multi_json/lib/multi_json/options.rb +48 -0
- data/vendor/multi_json/lib/multi_json/vendor/okjson.rb +606 -0
- data/vendor/multi_json/lib/multi_json/version.rb +20 -0
- data/vendor/multi_json/multi_json.gemspec +22 -0
- data/vendor/multi_json/spec/adapter_shared_example.rb +235 -0
- data/vendor/multi_json/spec/has_options.rb +119 -0
- data/vendor/multi_json/spec/helper.rb +35 -0
- data/vendor/multi_json/spec/json_common_shared_example.rb +30 -0
- data/vendor/multi_json/spec/multi_json_spec.rb +226 -0
- data/vendor/{signature → pusher}/.document +0 -0
- data/vendor/{json_pure/diagrams/.keep → pusher/.gemtest} +0 -0
- data/vendor/pusher/.gitignore +23 -0
- data/vendor/pusher/.travis.yml +15 -0
- data/vendor/pusher/Gemfile +2 -0
- data/vendor/{pusher-gem → pusher}/LICENSE +1 -1
- data/vendor/pusher/README.md +186 -0
- data/vendor/{pusher-gem → pusher}/Rakefile +0 -0
- data/vendor/{pusher-gem → pusher}/examples/async_message.rb +0 -0
- data/vendor/pusher/lib/pusher.rb +60 -0
- data/vendor/{pusher-gem → pusher}/lib/pusher/channel.rb +47 -54
- data/vendor/pusher/lib/pusher/client.rb +306 -0
- data/vendor/pusher/lib/pusher/request.rb +107 -0
- data/vendor/pusher/lib/pusher/resource.rb +36 -0
- data/vendor/pusher/lib/pusher/webhook.rb +110 -0
- data/vendor/{pusher-gem → pusher}/pusher.gemspec +6 -5
- data/vendor/pusher/spec/channel_spec.rb +127 -0
- data/vendor/pusher/spec/client_spec.rb +464 -0
- data/vendor/{pusher-gem → pusher}/spec/spec_helper.rb +12 -0
- data/vendor/pusher/spec/web_hook_spec.rb +117 -0
- data/vendor/signature/.travis.yml +15 -0
- data/vendor/signature/Gemfile +1 -1
- data/vendor/signature/README.md +38 -28
- data/vendor/signature/lib/signature.rb +97 -15
- data/vendor/signature/lib/signature/query_encoder.rb +47 -0
- data/vendor/signature/lib/signature/version.rb +1 -1
- data/vendor/signature/signature.gemspec +3 -2
- data/vendor/signature/spec/signature_spec.rb +164 -55
- data/vendor/signature/spec/spec_helper.rb +2 -3
- metadata +120 -145
- data/vendor/json_pure/.gitignore +0 -12
- data/vendor/json_pure/.travis.yml +0 -20
- data/vendor/json_pure/CHANGES +0 -282
- data/vendor/json_pure/COPYING +0 -58
- data/vendor/json_pure/COPYING-json-jruby +0 -57
- data/vendor/json_pure/GPL +0 -340
- data/vendor/json_pure/Gemfile +0 -11
- data/vendor/json_pure/README-json-jruby.markdown +0 -33
- data/vendor/json_pure/README.rdoc +0 -358
- data/vendor/json_pure/Rakefile +0 -412
- data/vendor/json_pure/TODO +0 -1
- data/vendor/json_pure/VERSION +0 -1
- data/vendor/json_pure/data/example.json +0 -1
- data/vendor/json_pure/data/index.html +0 -38
- data/vendor/json_pure/data/prototype.js +0 -4184
- data/vendor/json_pure/ext/json/ext/fbuffer/fbuffer.h +0 -181
- data/vendor/json_pure/ext/json/ext/generator/depend +0 -1
- data/vendor/json_pure/ext/json/ext/generator/extconf.rb +0 -14
- data/vendor/json_pure/ext/json/ext/generator/generator.c +0 -1435
- data/vendor/json_pure/ext/json/ext/generator/generator.h +0 -148
- data/vendor/json_pure/ext/json/ext/parser/depend +0 -1
- data/vendor/json_pure/ext/json/ext/parser/extconf.rb +0 -13
- data/vendor/json_pure/ext/json/ext/parser/parser.c +0 -2204
- data/vendor/json_pure/ext/json/ext/parser/parser.h +0 -77
- data/vendor/json_pure/ext/json/ext/parser/parser.rl +0 -927
- data/vendor/json_pure/install.rb +0 -23
- data/vendor/json_pure/java/src/json/ext/ByteListTranscoder.java +0 -167
- data/vendor/json_pure/java/src/json/ext/Generator.java +0 -444
- data/vendor/json_pure/java/src/json/ext/GeneratorMethods.java +0 -232
- data/vendor/json_pure/java/src/json/ext/GeneratorService.java +0 -43
- data/vendor/json_pure/java/src/json/ext/GeneratorState.java +0 -543
- data/vendor/json_pure/java/src/json/ext/OptionsReader.java +0 -114
- data/vendor/json_pure/java/src/json/ext/Parser.java +0 -2644
- data/vendor/json_pure/java/src/json/ext/Parser.rl +0 -968
- data/vendor/json_pure/java/src/json/ext/ParserService.java +0 -35
- data/vendor/json_pure/java/src/json/ext/RuntimeInfo.java +0 -121
- data/vendor/json_pure/java/src/json/ext/StringDecoder.java +0 -167
- data/vendor/json_pure/java/src/json/ext/StringEncoder.java +0 -106
- data/vendor/json_pure/java/src/json/ext/Utils.java +0 -89
- data/vendor/json_pure/json-java.gemspec +0 -23
- data/vendor/json_pure/json.gemspec +0 -37
- data/vendor/json_pure/json_pure.gemspec +0 -39
- data/vendor/json_pure/lib/json.rb +0 -62
- data/vendor/json_pure/lib/json/add/bigdecimal.rb +0 -28
- data/vendor/json_pure/lib/json/add/complex.rb +0 -22
- data/vendor/json_pure/lib/json/add/core.rb +0 -11
- data/vendor/json_pure/lib/json/add/date.rb +0 -34
- data/vendor/json_pure/lib/json/add/date_time.rb +0 -50
- data/vendor/json_pure/lib/json/add/exception.rb +0 -31
- data/vendor/json_pure/lib/json/add/ostruct.rb +0 -31
- data/vendor/json_pure/lib/json/add/range.rb +0 -29
- data/vendor/json_pure/lib/json/add/rational.rb +0 -22
- data/vendor/json_pure/lib/json/add/regexp.rb +0 -30
- data/vendor/json_pure/lib/json/add/struct.rb +0 -30
- data/vendor/json_pure/lib/json/add/symbol.rb +0 -25
- data/vendor/json_pure/lib/json/add/time.rb +0 -38
- data/vendor/json_pure/lib/json/common.rb +0 -487
- data/vendor/json_pure/lib/json/ext.rb +0 -21
- data/vendor/json_pure/lib/json/ext/.keep +0 -0
- data/vendor/json_pure/lib/json/generic_object.rb +0 -70
- data/vendor/json_pure/lib/json/pure.rb +0 -21
- data/vendor/json_pure/lib/json/pure/generator.rb +0 -522
- data/vendor/json_pure/lib/json/pure/parser.rb +0 -359
- data/vendor/json_pure/lib/json/version.rb +0 -8
- data/vendor/json_pure/tests/fixtures/fail1.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail10.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail11.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail12.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail13.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail14.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail18.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail19.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail2.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail20.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail21.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail22.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail23.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail24.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail25.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail27.json +0 -2
- data/vendor/json_pure/tests/fixtures/fail28.json +0 -2
- data/vendor/json_pure/tests/fixtures/fail3.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail4.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail5.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail6.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail7.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail8.json +0 -1
- data/vendor/json_pure/tests/fixtures/fail9.json +0 -1
- data/vendor/json_pure/tests/fixtures/pass1.json +0 -56
- data/vendor/json_pure/tests/fixtures/pass15.json +0 -1
- data/vendor/json_pure/tests/fixtures/pass16.json +0 -1
- data/vendor/json_pure/tests/fixtures/pass17.json +0 -1
- data/vendor/json_pure/tests/fixtures/pass2.json +0 -1
- data/vendor/json_pure/tests/fixtures/pass26.json +0 -1
- data/vendor/json_pure/tests/fixtures/pass3.json +0 -6
- data/vendor/json_pure/tests/setup_variant.rb +0 -11
- data/vendor/json_pure/tests/test_json.rb +0 -545
- data/vendor/json_pure/tests/test_json_addition.rb +0 -196
- data/vendor/json_pure/tests/test_json_encoding.rb +0 -65
- data/vendor/json_pure/tests/test_json_fixtures.rb +0 -35
- data/vendor/json_pure/tests/test_json_generate.rb +0 -322
- data/vendor/json_pure/tests/test_json_generic_object.rb +0 -75
- data/vendor/json_pure/tests/test_json_string_matching.rb +0 -39
- data/vendor/json_pure/tests/test_json_unicode.rb +0 -72
- data/vendor/json_pure/tools/fuzz.rb +0 -139
- data/vendor/json_pure/tools/server.rb +0 -62
- data/vendor/pusher-gem/Gemfile +0 -2
- data/vendor/pusher-gem/README.md +0 -80
- data/vendor/pusher-gem/lib/pusher.rb +0 -107
- data/vendor/pusher-gem/lib/pusher/request.rb +0 -107
- data/vendor/pusher-gem/spec/channel_spec.rb +0 -274
- data/vendor/pusher-gem/spec/pusher_spec.rb +0 -87
- data/vendor/ruby-hmac/History.txt +0 -15
- data/vendor/ruby-hmac/Manifest.txt +0 -11
- data/vendor/ruby-hmac/README.md +0 -41
- data/vendor/ruby-hmac/Rakefile +0 -23
- data/vendor/ruby-hmac/lib/hmac-md5.rb +0 -11
- data/vendor/ruby-hmac/lib/hmac-rmd160.rb +0 -11
- data/vendor/ruby-hmac/lib/hmac-sha1.rb +0 -11
- data/vendor/ruby-hmac/lib/hmac-sha2.rb +0 -25
- data/vendor/ruby-hmac/lib/hmac.rb +0 -118
- data/vendor/ruby-hmac/lib/ruby_hmac.rb +0 -2
- data/vendor/ruby-hmac/ruby-hmac.gemspec +0 -33
- data/vendor/ruby-hmac/test/test_hmac.rb +0 -89
- data/vendor/signature/VERSION +0 -1
@@ -1,87 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
require 'em-http'
|
4
|
-
|
5
|
-
describe Pusher do
|
6
|
-
describe 'configuration' do
|
7
|
-
it 'should be preconfigured for api host' do
|
8
|
-
Pusher.host.should == 'api.pusherapp.com'
|
9
|
-
end
|
10
|
-
|
11
|
-
it 'should be preconfigured for port 80' do
|
12
|
-
Pusher.port.should == 80
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'should use standard logger if no other logger if defined' do
|
16
|
-
Pusher.logger.debug('foo')
|
17
|
-
Pusher.logger.should be_kind_of(Logger)
|
18
|
-
end
|
19
|
-
|
20
|
-
it "can be configured to use any logger" do
|
21
|
-
logger = mock("ALogger")
|
22
|
-
logger.should_receive(:debug).with('foo')
|
23
|
-
Pusher.logger = logger
|
24
|
-
Pusher.logger.debug('foo')
|
25
|
-
Pusher.logger = nil
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe "configuration using url" do
|
30
|
-
after do
|
31
|
-
Pusher.app_id = nil
|
32
|
-
Pusher.key = nil
|
33
|
-
Pusher.secret = nil
|
34
|
-
Pusher.host = 'api.pusherapp.com'
|
35
|
-
Pusher.port = 80
|
36
|
-
end
|
37
|
-
|
38
|
-
it "should be possible to configure everything by setting the url" do
|
39
|
-
Pusher.url = "http://somekey:somesecret@api.staging.pusherapp.com:8080/apps/87"
|
40
|
-
|
41
|
-
Pusher.host.should == 'api.staging.pusherapp.com'
|
42
|
-
Pusher.port.should == 8080
|
43
|
-
Pusher.key.should == 'somekey'
|
44
|
-
Pusher.secret.should == 'somesecret'
|
45
|
-
Pusher.app_id.should == '87'
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
describe 'when configured' do
|
50
|
-
before do
|
51
|
-
Pusher.app_id = '20'
|
52
|
-
Pusher.key = '12345678900000001'
|
53
|
-
Pusher.secret = '12345678900000001'
|
54
|
-
end
|
55
|
-
|
56
|
-
after do
|
57
|
-
Pusher.app_id = nil
|
58
|
-
Pusher.key = nil
|
59
|
-
Pusher.secret = nil
|
60
|
-
end
|
61
|
-
|
62
|
-
describe '.[]' do
|
63
|
-
before do
|
64
|
-
@channel = Pusher['test_channel']
|
65
|
-
end
|
66
|
-
|
67
|
-
it 'should return a channel' do
|
68
|
-
@channel.should be_kind_of(Pusher::Channel)
|
69
|
-
end
|
70
|
-
|
71
|
-
it "should reuse the same channel objects" do
|
72
|
-
channel1, channel2 = Pusher['test_channel'], Pusher['test_channel']
|
73
|
-
|
74
|
-
channel1.object_id.should == channel2.object_id
|
75
|
-
end
|
76
|
-
|
77
|
-
%w{app_id key secret}.each do |config|
|
78
|
-
it "should raise exception if #{config} not configured" do
|
79
|
-
Pusher.send("#{config}=", nil)
|
80
|
-
lambda {
|
81
|
-
Pusher['test_channel']
|
82
|
-
}.should raise_error(Pusher::ConfigurationError)
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
== 0.4.0 / 2010-01-19
|
2
|
-
|
3
|
-
* Ruby 1.9 compatibility [Tim Kersey]
|
4
|
-
* Minitest integration [Tim Kersey]
|
5
|
-
* Updated to Hoe 2.5.0 [Geoffrey Grosenbach]
|
6
|
-
|
7
|
-
== 0.3.2 / 2008-08-20
|
8
|
-
|
9
|
-
* Removed spurious constants that cause warnings on load [Blaine Cook]
|
10
|
-
* Move hoe to build dependency if build deps are supported [Blaine Cook]
|
11
|
-
|
12
|
-
== 0.3.1 / 2007-08-13
|
13
|
-
|
14
|
-
* Converted to gem by Geoffrey Grosenbach
|
15
|
-
* Tests converted to Test::Unit
|
data/vendor/ruby-hmac/README.md
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
= ruby-hmac
|
2
|
-
|
3
|
-
* http://ruby-hmac.rubyforge.org
|
4
|
-
|
5
|
-
== IMPORTANT: USE OpenSSL INSTEAD!
|
6
|
-
|
7
|
-
The HMAC functionality included with OpenSSL is available from Ruby and is much faster. It's recommended that you use OpenSSL instead of this library.
|
8
|
-
|
9
|
-
See the blog post on [OpenSSL vs. Ruby HMAC Benchmarks](http://blog.nathanielbibler.com/post/63031273/openssl-hmac-vs-ruby-hmac-benchmarks).
|
10
|
-
|
11
|
-
== DESCRIPTION:
|
12
|
-
|
13
|
-
This module provides common interface to HMAC functionality. HMAC is a kind of "Message Authentication Code" (MAC) algorithm whose standard is documented in RFC2104. Namely, a MAC provides a way to check the integrity of information transmitted over or stored in an unreliable medium, based on a secret key.
|
14
|
-
|
15
|
-
Originally written by Daiki Ueno. Converted to a RubyGem by Geoffrey Grosenbach
|
16
|
-
|
17
|
-
== LICENSE:
|
18
|
-
|
19
|
-
(The MIT License)
|
20
|
-
|
21
|
-
Copyright (c) 2007 Daiki Ueno
|
22
|
-
|
23
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
24
|
-
a copy of this software and associated documentation files (the
|
25
|
-
'Software'), to deal in the Software without restriction, including
|
26
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
27
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
28
|
-
permit persons to whom the Software is furnished to do so, subject to
|
29
|
-
the following conditions:
|
30
|
-
|
31
|
-
The above copyright notice and this permission notice shall be
|
32
|
-
included in all copies or substantial portions of the Software.
|
33
|
-
|
34
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
35
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
36
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
37
|
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
38
|
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
39
|
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
40
|
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
41
|
-
|
data/vendor/ruby-hmac/Rakefile
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'hoe'
|
3
|
-
$:.unshift(File.dirname(__FILE__) + "/lib")
|
4
|
-
require 'hmac'
|
5
|
-
|
6
|
-
Hoe.spec 'ruby-hmac' do
|
7
|
-
developer "Daiki Ueno", ""
|
8
|
-
developer "Geoffrey Grosenbach", "boss@topfunky.com"
|
9
|
-
end
|
10
|
-
|
11
|
-
Hoe.plugin :minitest
|
12
|
-
Hoe.plugin :git
|
13
|
-
Hoe.plugin :gemcutter
|
14
|
-
|
15
|
-
desc "Simple require on packaged files to make sure they are all there"
|
16
|
-
task :verify => :package do
|
17
|
-
# An error message will be displayed if files are missing
|
18
|
-
if system %(ruby -e "require 'pkg/ruby-hmac-#{HMAC::VERSION}/lib/hmac'")
|
19
|
-
puts "\nThe library files are present"
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
task :release => :verify
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'hmac'
|
2
|
-
require 'digest/sha2'
|
3
|
-
|
4
|
-
module HMAC
|
5
|
-
class SHA256 < Base
|
6
|
-
def initialize(key = nil)
|
7
|
-
super(Digest::SHA256, 64, 32, key)
|
8
|
-
end
|
9
|
-
public_class_method :new, :digest, :hexdigest
|
10
|
-
end
|
11
|
-
|
12
|
-
class SHA384 < Base
|
13
|
-
def initialize(key = nil)
|
14
|
-
super(Digest::SHA384, 128, 48, key)
|
15
|
-
end
|
16
|
-
public_class_method :new, :digest, :hexdigest
|
17
|
-
end
|
18
|
-
|
19
|
-
class SHA512 < Base
|
20
|
-
def initialize(key = nil)
|
21
|
-
super(Digest::SHA512, 128, 64, key)
|
22
|
-
end
|
23
|
-
public_class_method :new, :digest, :hexdigest
|
24
|
-
end
|
25
|
-
end
|
@@ -1,118 +0,0 @@
|
|
1
|
-
# Copyright (C) 2001 Daiki Ueno <ueno@unixuser.org>
|
2
|
-
# This library is distributed under the terms of the Ruby license.
|
3
|
-
|
4
|
-
# This module provides common interface to HMAC engines.
|
5
|
-
# HMAC standard is documented in RFC 2104:
|
6
|
-
#
|
7
|
-
# H. Krawczyk et al., "HMAC: Keyed-Hashing for Message Authentication",
|
8
|
-
# RFC 2104, February 1997
|
9
|
-
#
|
10
|
-
# These APIs are inspired by JCE 1.2's javax.crypto.Mac interface.
|
11
|
-
#
|
12
|
-
# <URL:http://java.sun.com/security/JCE1.2/spec/apidoc/javax/crypto/Mac.html>
|
13
|
-
#
|
14
|
-
# Source repository is at
|
15
|
-
#
|
16
|
-
# http://github.com/topfunky/ruby-hmac/tree/master
|
17
|
-
|
18
|
-
module HMAC
|
19
|
-
|
20
|
-
VERSION = '0.4.0'
|
21
|
-
|
22
|
-
class Base
|
23
|
-
def initialize(algorithm, block_size, output_length, key)
|
24
|
-
@algorithm = algorithm
|
25
|
-
@block_size = block_size
|
26
|
-
@output_length = output_length
|
27
|
-
@initialized = false
|
28
|
-
@key_xor_ipad = ''
|
29
|
-
@key_xor_opad = ''
|
30
|
-
set_key(key) unless key.nil?
|
31
|
-
end
|
32
|
-
|
33
|
-
private
|
34
|
-
def check_status
|
35
|
-
unless @initialized
|
36
|
-
raise RuntimeError,
|
37
|
-
"The underlying hash algorithm has not yet been initialized."
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
public
|
42
|
-
def set_key(key)
|
43
|
-
# If key is longer than the block size, apply hash function
|
44
|
-
# to key and use the result as a real key.
|
45
|
-
key = @algorithm.digest(key) if key.size > @block_size
|
46
|
-
akey = key.unpack("C*")
|
47
|
-
key_xor_ipad = ("\x36" * @block_size).unpack("C*")
|
48
|
-
key_xor_opad = ("\x5C" * @block_size).unpack("C*")
|
49
|
-
for i in 0 .. akey.size - 1
|
50
|
-
key_xor_ipad[i] ^= akey[i]
|
51
|
-
key_xor_opad[i] ^= akey[i]
|
52
|
-
end
|
53
|
-
@key_xor_ipad = key_xor_ipad.pack("C*")
|
54
|
-
@key_xor_opad = key_xor_opad.pack("C*")
|
55
|
-
@md = @algorithm.new
|
56
|
-
@initialized = true
|
57
|
-
end
|
58
|
-
|
59
|
-
def reset_key
|
60
|
-
@key_xor_ipad.gsub!(/./, '?')
|
61
|
-
@key_xor_opad.gsub!(/./, '?')
|
62
|
-
@key_xor_ipad[0..-1] = ''
|
63
|
-
@key_xor_opad[0..-1] = ''
|
64
|
-
@initialized = false
|
65
|
-
end
|
66
|
-
|
67
|
-
def update(text)
|
68
|
-
check_status
|
69
|
-
# perform inner H
|
70
|
-
md = @algorithm.new
|
71
|
-
md.update(@key_xor_ipad)
|
72
|
-
md.update(text)
|
73
|
-
str = md.digest
|
74
|
-
# perform outer H
|
75
|
-
md = @algorithm.new
|
76
|
-
md.update(@key_xor_opad)
|
77
|
-
md.update(str)
|
78
|
-
@md = md
|
79
|
-
end
|
80
|
-
alias << update
|
81
|
-
|
82
|
-
def digest
|
83
|
-
check_status
|
84
|
-
@md.digest
|
85
|
-
end
|
86
|
-
|
87
|
-
def hexdigest
|
88
|
-
check_status
|
89
|
-
@md.hexdigest
|
90
|
-
end
|
91
|
-
alias to_s hexdigest
|
92
|
-
|
93
|
-
# These two class methods below are safer than using above
|
94
|
-
# instance methods combinatorially because an instance will have
|
95
|
-
# held a key even if it's no longer in use.
|
96
|
-
def Base.digest(key, text)
|
97
|
-
hmac = self.new(key)
|
98
|
-
begin
|
99
|
-
hmac.update(text)
|
100
|
-
hmac.digest
|
101
|
-
ensure
|
102
|
-
hmac.reset_key
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
def Base.hexdigest(key, text)
|
107
|
-
hmac = self.new(key)
|
108
|
-
begin
|
109
|
-
hmac.update(text)
|
110
|
-
hmac.hexdigest
|
111
|
-
ensure
|
112
|
-
hmac.reset_key
|
113
|
-
end
|
114
|
-
end
|
115
|
-
|
116
|
-
private_class_method :new, :digest, :hexdigest
|
117
|
-
end
|
118
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
Gem::Specification.new do |s|
|
2
|
-
s.name = %q{ruby-hmac}
|
3
|
-
s.version = "0.3.2"
|
4
|
-
|
5
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
6
|
-
s.authors = ["Daiki Ueno", "Geoffrey Grosenbach"]
|
7
|
-
s.date = %q{2008-08-21}
|
8
|
-
s.description = %q{A MAC provides a way to check the integrity of information transmitted over or stored in an unreliable medium, based on a secret key.}
|
9
|
-
s.email = %q{boss@topfunky.com}
|
10
|
-
s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt"]
|
11
|
-
s.files = ["History.txt", "Manifest.txt", "README.txt", "Rakefile", "lib/hmac-md5.rb", "lib/hmac-rmd160.rb", "lib/hmac-sha1.rb", "lib/hmac-sha2.rb", "lib/hmac.rb", "test/test_hmac.rb"]
|
12
|
-
s.has_rdoc = true
|
13
|
-
s.homepage = %q{http://ruby-hmac.rubyforge.org}
|
14
|
-
s.rdoc_options = ["--main", "README.txt"]
|
15
|
-
s.require_paths = ["lib"]
|
16
|
-
s.rubyforge_project = %q{ruby-hmac}
|
17
|
-
s.rubygems_version = %q{1.2.0}
|
18
|
-
s.summary = %q{An implementation of the HMAC authentication code in Ruby.}
|
19
|
-
s.test_files = ["test/test_hmac.rb"]
|
20
|
-
|
21
|
-
if s.respond_to? :specification_version then
|
22
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
23
|
-
s.specification_version = 2
|
24
|
-
|
25
|
-
if current_version >= 3 then
|
26
|
-
s.add_development_dependency(%q<hoe>, [">= 1.7.0"])
|
27
|
-
else
|
28
|
-
s.add_dependency(%q<hoe>, [">= 1.7.0"])
|
29
|
-
end
|
30
|
-
else
|
31
|
-
s.add_dependency(%q<hoe>, [">= 1.7.0"])
|
32
|
-
end
|
33
|
-
end
|
@@ -1,89 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
$: << File.dirname(__FILE__) + "/../lib"
|
4
|
-
require "hmac-md5"
|
5
|
-
require "hmac-sha1"
|
6
|
-
begin
|
7
|
-
require "minitest/unit"
|
8
|
-
rescue LoadError
|
9
|
-
require "rubygems"
|
10
|
-
require "minitest/unit"
|
11
|
-
end
|
12
|
-
|
13
|
-
MiniTest::Unit.autorun
|
14
|
-
|
15
|
-
class TestHmac < MiniTest::Unit::TestCase
|
16
|
-
|
17
|
-
def test_s_digest
|
18
|
-
key = "\x0b" * 16
|
19
|
-
text = "Hi There"
|
20
|
-
|
21
|
-
hmac = HMAC::MD5.new(key)
|
22
|
-
hmac.update(text)
|
23
|
-
|
24
|
-
assert_equal(hmac.digest, HMAC::MD5.digest(key, text))
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_s_hexdigest
|
28
|
-
key = "\x0b" * 16
|
29
|
-
text = "Hi There"
|
30
|
-
|
31
|
-
hmac = HMAC::MD5.new(key)
|
32
|
-
hmac.update(text)
|
33
|
-
|
34
|
-
assert_equal(hmac.hexdigest, HMAC::MD5.hexdigest(key, text))
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_hmac_md5_1
|
38
|
-
assert_equal(HMAC::MD5.hexdigest("\x0b" * 16, "Hi There"),
|
39
|
-
"9294727a3638bb1c13f48ef8158bfc9d")
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_hmac_md5_2
|
43
|
-
assert_equal(HMAC::MD5.hexdigest("Jefe", "what do ya want for nothing?"),
|
44
|
-
"750c783e6ab0b503eaa86e310a5db738")
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_hmac_md5_3
|
48
|
-
assert_equal(HMAC::MD5.hexdigest("\xaa" * 16, "\xdd" * 50),
|
49
|
-
"56be34521d144c88dbb8c733f0e8b3f6")
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_hmac_md5_4
|
53
|
-
assert_equal(HMAC::MD5.hexdigest(["0102030405060708090a0b0c0d0e0f10111213141516171819"].pack("H*"), "\xcd" * 50),
|
54
|
-
"697eaf0aca3a3aea3a75164746ffaa79")
|
55
|
-
end
|
56
|
-
|
57
|
-
def test_hmac_md5_5
|
58
|
-
assert_equal(HMAC::MD5.hexdigest("\x0c" * 16, "Test With Truncation"),
|
59
|
-
"56461ef2342edc00f9bab995690efd4c")
|
60
|
-
end
|
61
|
-
|
62
|
-
# def test_hmac_md5_6
|
63
|
-
# assert_equal(HMAC::MD5.hexdigest("\x0c" * 16, "Test With Truncation"),
|
64
|
-
# "56461ef2342edc00f9bab995")
|
65
|
-
# end
|
66
|
-
|
67
|
-
def test_hmac_md5_7
|
68
|
-
assert_equal(HMAC::MD5.hexdigest("\xaa" * 80, "Test Using Larger Than Block-Size Key - Hash Key First"),
|
69
|
-
"6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd")
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_hmac_md5_8
|
73
|
-
assert_equal(HMAC::MD5.hexdigest("\xaa" * 80, "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"),
|
74
|
-
"6f630fad67cda0ee1fb1f562db3aa53e")
|
75
|
-
end
|
76
|
-
|
77
|
-
def test_reset_key
|
78
|
-
hmac = HMAC::MD5.new("key")
|
79
|
-
hmac.reset_key
|
80
|
-
assert_raises(RuntimeError) { hmac.update("foo") }
|
81
|
-
end
|
82
|
-
|
83
|
-
def test_set_key
|
84
|
-
hmac = HMAC::MD5.new
|
85
|
-
assert_raises(RuntimeError) { hmac.update("foo") }
|
86
|
-
hmac.reset_key
|
87
|
-
assert_raises(RuntimeError) { hmac.update("foo") }
|
88
|
-
end
|
89
|
-
end
|