rhoconnect 3.4.2 → 3.4.3
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.
- 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:
|