rhoconnect 3.4.2 → 3.4.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +5 -1
- data/Gemfile.lock +30 -31
- data/commands/execute.rb +7 -1
- data/installer/utils/create_sha1.rb +10 -15
- data/installer/utils/download_from_s3.rb +8 -10
- data/installer/utils/verify_checksum.rb +27 -11
- data/lib/rhoconnect/version.rb +1 -1
- data/rhoconnect.gemspec +4 -2
- metadata +21 -5
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
+
## 3.4.3 (2013-02-11)
|
2
|
+
* Updated rack gem to latest release with important security fixes. Locked version of 'connection_pool' gem.
|
3
|
+
* fixing 'rhoconnect spec' command in production env
|
4
|
+
|
1
5
|
## 3.4.2 (2012-11-8)
|
2
6
|
* fixed `rhoconnect redis-start` and `rhoconnect redis-restart` commands on windows
|
3
|
-
|
7
|
+
* D-04052 - Resque.after_fork hook wasn't initializing efficiently
|
4
8
|
|
5
9
|
## 3.4.1 (2012-11-6)
|
6
10
|
* D-04031 - `rhoconnect startbg` and `startdebug` commands not working on windows
|
data/Gemfile.lock
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rhoconnect (3.4.
|
4
|
+
rhoconnect (3.4.3)
|
5
5
|
bundler (~> 1.0)
|
6
|
-
connection_pool (
|
6
|
+
connection_pool (= 0.9.2)
|
7
7
|
json (~> 1.6.0)
|
8
|
+
rack (~> 1.5.2)
|
8
9
|
rake (~> 0.9.2.2)
|
9
10
|
redis (>= 3.0.1)
|
10
11
|
resque (>= 1.22.0)
|
@@ -19,7 +20,7 @@ GEM
|
|
19
20
|
remote: https://rubygems.org/
|
20
21
|
specs:
|
21
22
|
SystemTimer (1.2.3)
|
22
|
-
addressable (2.3.
|
23
|
+
addressable (2.3.3)
|
23
24
|
arr-pm (0.0.7)
|
24
25
|
cabin (> 0)
|
25
26
|
async-rack (0.5.1)
|
@@ -30,27 +31,26 @@ GEM
|
|
30
31
|
xml-simple
|
31
32
|
backports (2.6.2)
|
32
33
|
builder (3.1.4)
|
33
|
-
cabin (0.
|
34
|
-
|
35
|
-
|
36
|
-
ffi (~> 1.0, >= 1.0.6)
|
34
|
+
cabin (0.6.0)
|
35
|
+
childprocess (0.3.8)
|
36
|
+
ffi (~> 1.0, >= 1.0.11)
|
37
37
|
clamp (0.3.1)
|
38
38
|
coffee-script (2.2.0)
|
39
39
|
coffee-script-source
|
40
40
|
execjs
|
41
41
|
coffee-script-source (1.4.0)
|
42
42
|
connection_pool (0.9.2)
|
43
|
-
crack (0.3.
|
43
|
+
crack (0.3.2)
|
44
44
|
daemons (1.1.9)
|
45
45
|
diff-lcs (1.1.3)
|
46
46
|
eventmachine (1.0.0)
|
47
|
-
excon (0.
|
47
|
+
excon (0.18.3)
|
48
48
|
execjs (1.4.0)
|
49
49
|
multi_json (~> 1.0)
|
50
|
-
extlib (0.9.
|
50
|
+
extlib (0.9.16)
|
51
51
|
ffaker (1.14.0)
|
52
|
-
ffi (1.
|
53
|
-
fog (1.
|
52
|
+
ffi (1.4.0)
|
53
|
+
fog (1.9.0)
|
54
54
|
builder
|
55
55
|
excon (~> 0.14)
|
56
56
|
formatador (~> 0.2.0)
|
@@ -61,12 +61,13 @@ GEM
|
|
61
61
|
nokogiri (~> 1.5.0)
|
62
62
|
ruby-hmac
|
63
63
|
formatador (0.2.4)
|
64
|
-
fpm (0.4.
|
64
|
+
fpm (0.4.29)
|
65
65
|
arr-pm (~> 0.0.7)
|
66
66
|
backports (= 2.6.2)
|
67
|
-
cabin (
|
67
|
+
cabin (>= 0.6.0)
|
68
68
|
clamp (= 0.3.1)
|
69
69
|
json (= 1.6.6)
|
70
|
+
open4
|
70
71
|
highline (1.6.15)
|
71
72
|
hike (1.2.1)
|
72
73
|
jasmine (1.3.1)
|
@@ -82,18 +83,16 @@ GEM
|
|
82
83
|
rainbow
|
83
84
|
sprockets (~> 2)
|
84
85
|
json (1.6.6)
|
85
|
-
|
86
|
-
|
87
|
-
websocket
|
88
|
-
mime-types (1.19)
|
89
|
-
multi_json (1.4.0)
|
86
|
+
mime-types (1.21)
|
87
|
+
multi_json (1.6.1)
|
90
88
|
net-scp (1.0.4)
|
91
89
|
net-ssh (>= 1.99.1)
|
92
|
-
net-ssh (2.6.
|
93
|
-
nokogiri (1.5.
|
94
|
-
|
90
|
+
net-ssh (2.6.5)
|
91
|
+
nokogiri (1.5.6)
|
92
|
+
open4 (1.3.0)
|
93
|
+
rack (1.5.2)
|
95
94
|
rack-fiber_pool (0.9.2)
|
96
|
-
rack-protection (1.2
|
95
|
+
rack-protection (1.3.2)
|
97
96
|
rack
|
98
97
|
rack-test (0.6.2)
|
99
98
|
rack (>= 1.0)
|
@@ -120,25 +119,25 @@ GEM
|
|
120
119
|
rspec-mocks (2.10.1)
|
121
120
|
ruby-hmac (0.4.0)
|
122
121
|
rubyzip (0.9.9)
|
123
|
-
selenium-webdriver (2.
|
122
|
+
selenium-webdriver (2.30.0)
|
124
123
|
childprocess (>= 0.2.5)
|
125
|
-
libwebsocket (~> 0.1.3)
|
126
124
|
multi_json (~> 1.0)
|
127
125
|
rubyzip
|
126
|
+
websocket (~> 1.0.4)
|
128
127
|
simplecov (0.7.1)
|
129
128
|
multi_json (~> 1.0)
|
130
129
|
simplecov-html (~> 0.7.1)
|
131
130
|
simplecov-html (0.7.1)
|
132
|
-
sinatra (1.3.
|
133
|
-
rack (~> 1.
|
134
|
-
rack-protection (~> 1.
|
131
|
+
sinatra (1.3.4)
|
132
|
+
rack (~> 1.4)
|
133
|
+
rack-protection (~> 1.3)
|
135
134
|
tilt (~> 1.3, >= 1.3.3)
|
136
|
-
sprockets (2.8.
|
135
|
+
sprockets (2.8.2)
|
137
136
|
hike (~> 1.2)
|
138
137
|
multi_json (~> 1.0)
|
139
138
|
rack (~> 1.0)
|
140
139
|
tilt (~> 1.1, != 1.3.0)
|
141
|
-
sqlite3 (1.3.
|
140
|
+
sqlite3 (1.3.7)
|
142
141
|
templater (1.0.0)
|
143
142
|
diff-lcs (>= 1.1.2)
|
144
143
|
extlib (>= 0.9.5)
|
@@ -155,7 +154,7 @@ GEM
|
|
155
154
|
webmock (1.8.11)
|
156
155
|
addressable (>= 2.2.7)
|
157
156
|
crack (>= 0.1.7)
|
158
|
-
websocket (1.0.
|
157
|
+
websocket (1.0.7)
|
159
158
|
xml-simple (1.1.2)
|
160
159
|
|
161
160
|
PLATFORMS
|
data/commands/execute.rb
CHANGED
@@ -28,7 +28,13 @@ class Execute < Thor
|
|
28
28
|
tasks << 'rhoconnect_attach' unless jruby?
|
29
29
|
end
|
30
30
|
tasks << if jruby? then "rhoconnect_war" else "rhoconnect_console" end
|
31
|
-
|
31
|
+
# 'rhoconnect spec' command is available only if it called from root of
|
32
|
+
# rhoconnect app and its bundle includes 'rspec' gem
|
33
|
+
if File.exists?(File.join(Dir.pwd,'Gemfile'))
|
34
|
+
require 'bundler'
|
35
|
+
tasks << 'rhoconnect_spec' if Bundler.load.specs.find{ |s| s.name == 'rspec' }
|
36
|
+
end
|
37
|
+
|
32
38
|
tasks.each do |dir|
|
33
39
|
Dir.glob(File.join(File.dirname(__FILE__), "#{dir}", "*.rb")) do |file|
|
34
40
|
require file
|
@@ -1,26 +1,21 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
3
2
|
require 'rubygems'
|
4
3
|
require 'digest/sha1'
|
5
|
-
require '
|
4
|
+
require 'yaml'
|
6
5
|
|
7
|
-
if ARGV.length != 2 ||
|
8
|
-
!File.directory?(ARGV[0])
|
6
|
+
if ARGV.length != 2 || !File.directory?(ARGV[0])
|
9
7
|
puts "Usage: #{$0} directory_to_use location_for_SHA1_file"
|
10
8
|
exit 1
|
11
|
-
end
|
12
|
-
|
9
|
+
end
|
13
10
|
dir = ARGV[0]
|
14
11
|
dest_dir = ARGV[1]
|
15
12
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
end #if
|
23
|
-
end #do
|
13
|
+
sha1_hash = {}
|
14
|
+
Dir.glob(File.join("#{dir}", "**", "*")) do |path|
|
15
|
+
next if File.directory?(path)
|
16
|
+
file_sha1 = Digest::SHA1.file(path).to_s
|
17
|
+
sha1_hash["#{file_sha1}".to_sym] = path
|
18
|
+
end
|
24
19
|
|
25
20
|
Dir.mkdir(dest_dir) unless File.directory?(dest_dir)
|
26
|
-
File.open("#{dest_dir}/
|
21
|
+
File.open("#{dest_dir}/sha1_hash", 'w') { |f| f.write(sha1_hash.to_yaml) }
|
@@ -28,7 +28,6 @@ end #get_access_keys
|
|
28
28
|
AWS::S3::Base.establish_connection!(get_access_keys)
|
29
29
|
|
30
30
|
objects = Bucket.objects(bucket_name)
|
31
|
-
|
32
31
|
objects.each do |obj|
|
33
32
|
files << "#{obj.key}" if obj.key =~ /^#{channel}/
|
34
33
|
end
|
@@ -39,17 +38,16 @@ cmd "rm -f #{channel}/SHA1/checksum" if File.exists?("#{channel}/SHA1/checksum")
|
|
39
38
|
|
40
39
|
puts "Downloading S3 files"
|
41
40
|
files.each do |file|
|
42
|
-
cmd = "wget -qx -P #{channel} \"http
|
41
|
+
cmd = "wget -qx -t 3 -P #{channel} \"http://s3.amazonaws.com/#{bucket_name}/#{file}\""
|
43
42
|
puts cmd
|
44
|
-
system(cmd)
|
45
|
-
end
|
43
|
+
puts "Failed to download #{file}" unless system(cmd)
|
44
|
+
end
|
46
45
|
|
47
46
|
# The download increases the depth of the files by two folders.
|
48
47
|
# Remove exess directory levels.
|
49
|
-
cmd "mv -f #{channel}
|
50
|
-
cmd "rm -rf #{channel}
|
48
|
+
cmd "mv -f #{channel}/s3.amazonaws.com/#{bucket_name}/#{channel}/* #{channel}"
|
49
|
+
cmd "rm -rf #{channel}/s3.amazonaws.com"
|
51
50
|
|
52
|
-
# Pull the SHA1 checksum out
|
53
|
-
cmd "mv -f #{channel}/SHA1/
|
54
|
-
cmd "
|
55
|
-
cmd "rm -rf #{channel}/SHA1"
|
51
|
+
# Pull the SHA1 checksum and hash out
|
52
|
+
cmd "mv -f #{channel}/SHA1/sha1_hash ./old_sha1_hash"
|
53
|
+
cmd "rm -rf #{channel}/SHA1"
|
@@ -1,19 +1,26 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
3
2
|
require 'rubygems'
|
4
3
|
require 'digest/sha1'
|
4
|
+
require 'yaml'
|
5
5
|
|
6
6
|
if ARGV.length != 2
|
7
|
-
puts "Usage: #{$0}
|
7
|
+
puts "Usage: #{$0} checksum_hash directory_to_compare"
|
8
8
|
exit 1
|
9
|
-
end
|
9
|
+
end
|
10
10
|
|
11
11
|
def cmd(cmd)
|
12
12
|
puts cmd
|
13
13
|
system(cmd)
|
14
|
-
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def checksum keys
|
17
|
+
sha1 = Digest::SHA1.new
|
18
|
+
# Order important!
|
19
|
+
keys.sort.each { |k| sha1 << k.to_s }
|
20
|
+
sha1
|
21
|
+
end
|
15
22
|
|
16
|
-
|
23
|
+
checksum_hash = ARGV[0]
|
17
24
|
dir_to_compare = ARGV[1]
|
18
25
|
|
19
26
|
# Downoad Packages from S3
|
@@ -22,12 +29,21 @@ cmd "ruby ./installer/utils/download_from_s3.rb #{dir_to_compare}"
|
|
22
29
|
# Create the checksum to compare against the one from the S3 repo
|
23
30
|
cmd "ruby ./installer/utils/create_sha1.rb #{dir_to_compare} ."
|
24
31
|
|
25
|
-
|
26
|
-
|
32
|
+
old_sha1_h = YAML.load(File.read(checksum_hash))
|
33
|
+
new_sha1_h = YAML.load(File.read("./sha1_hash"))
|
27
34
|
|
28
|
-
if
|
35
|
+
if checksum(old_sha1_h.keys) != checksum(new_sha1_h.keys)
|
29
36
|
puts "Checksums do not match!"
|
37
|
+
|
38
|
+
puts "Expected sha1/file"
|
39
|
+
old_sha1_h = YAML.load(File.read(checksum_hash)).sort
|
40
|
+
old_sha1_h.each { |k,v| puts "#{k}: #{v}" }
|
41
|
+
|
42
|
+
puts "Got sha1/file"
|
43
|
+
new_sha1_h = YAML.load(File.read("./sha1_hash")).sort
|
44
|
+
new_sha1_h.each { |k,v| puts "#{k}: #{v}" }
|
45
|
+
|
30
46
|
exit 2
|
31
|
-
|
32
|
-
|
33
|
-
|
47
|
+
end
|
48
|
+
|
49
|
+
puts "Checksums match!"
|
data/lib/rhoconnect/version.rb
CHANGED
data/rhoconnect.gemspec
CHANGED
@@ -38,13 +38,15 @@ Gem::Specification.new do |s|
|
|
38
38
|
"README.md"
|
39
39
|
]
|
40
40
|
|
41
|
-
s.add_dependency('bundler', '~> 1.0')
|
41
|
+
s.add_dependency('bundler', '~> 1.0')
|
42
|
+
s.add_dependency("rack", '~> 1.5.2')
|
42
43
|
s.add_dependency("sinatra", '~> 1.3')
|
43
44
|
s.add_dependency('rake', '~> 0.9.2.2')
|
44
45
|
s.add_dependency('json', '~> 1.6.0')
|
45
46
|
s.add_dependency('rubyzip', '~> 0.9.4')
|
46
47
|
s.add_dependency('uuidtools', '>= 2.1.1')
|
47
|
-
|
48
|
+
# Locked 'connection_pool' version because latest releases (>= 0.9.3) not compatible with MRI 1.8.7
|
49
|
+
s.add_dependency('connection_pool', '0.9.2')
|
48
50
|
s.add_dependency('redis', '>= 3.0.1')
|
49
51
|
s.add_dependency('resque', '>= 1.22.0')
|
50
52
|
s.add_dependency('rest-client', '~> 1.6.1')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhoconnect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-02-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -27,6 +27,22 @@ dependencies:
|
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '1.0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rack
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 1.5.2
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.5.2
|
30
46
|
- !ruby/object:Gem::Dependency
|
31
47
|
name: sinatra
|
32
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,7 +128,7 @@ dependencies:
|
|
112
128
|
requirement: !ruby/object:Gem::Requirement
|
113
129
|
none: false
|
114
130
|
requirements:
|
115
|
-
- -
|
131
|
+
- - '='
|
116
132
|
- !ruby/object:Gem::Version
|
117
133
|
version: 0.9.2
|
118
134
|
type: :runtime
|
@@ -120,7 +136,7 @@ dependencies:
|
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
121
137
|
none: false
|
122
138
|
requirements:
|
123
|
-
- -
|
139
|
+
- - '='
|
124
140
|
- !ruby/object:Gem::Version
|
125
141
|
version: 0.9.2
|
126
142
|
- !ruby/object:Gem::Dependency
|
@@ -718,7 +734,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
718
734
|
version: '0'
|
719
735
|
segments:
|
720
736
|
- 0
|
721
|
-
hash:
|
737
|
+
hash: 4550760957355739491
|
722
738
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
723
739
|
none: false
|
724
740
|
requirements:
|