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 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
- # D-04052 - Resque.after_fork hook wasn't initializing efficiently
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.2)
4
+ rhoconnect (3.4.3)
5
5
  bundler (~> 1.0)
6
- connection_pool (>= 0.9.2)
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.2)
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.4.4)
34
- json
35
- childprocess (0.3.6)
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.1)
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.16.10)
47
+ excon (0.18.3)
48
48
  execjs (1.4.0)
49
49
  multi_json (~> 1.0)
50
- extlib (0.9.15)
50
+ extlib (0.9.16)
51
51
  ffaker (1.14.0)
52
- ffi (1.2.0)
53
- fog (1.8.0)
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.24)
64
+ fpm (0.4.29)
65
65
  arr-pm (~> 0.0.7)
66
66
  backports (= 2.6.2)
67
- cabin (~> 0.4.3)
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
- libwebsocket (0.1.7.1)
86
- addressable
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.2)
93
- nokogiri (1.5.5)
94
- rack (1.4.1)
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.0)
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.26.0)
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.3)
133
- rack (~> 1.3, >= 1.3.6)
134
- rack-protection (~> 1.2)
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.1)
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.6)
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.4)
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 'find'
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 #if
12
-
9
+ end
13
10
  dir = ARGV[0]
14
11
  dest_dir = ARGV[1]
15
12
 
16
- dir_digest = Digest::SHA1.new
17
-
18
- Find.find(dir) do |path|
19
- if !File.directory?(path)
20
- file_sha1 = Digest::SHA1.file(path).to_s
21
- dir_digest << file_sha1
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}/checksum", 'w') { |f| f.write(dir_digest) }
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://#{bucket_name}.s3.amazonaws.com/#{file}\""
41
+ cmd = "wget -qx -t 3 -P #{channel} \"http://s3.amazonaws.com/#{bucket_name}/#{file}\""
43
42
  puts cmd
44
- system(cmd)
45
- end #do
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}/#{bucket_name}.s3.amazonaws.com/#{channel}/* #{channel}"
50
- cmd "rm -rf #{channel}/#{bucket_name}.s3.amazonaws.com"
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/checksum ."
54
- cmd "mv -f checksum old_checksum"
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} checksum_file directory_to_compare"
7
+ puts "Usage: #{$0} checksum_hash directory_to_compare"
8
8
  exit 1
9
- end #if
9
+ end
10
10
 
11
11
  def cmd(cmd)
12
12
  puts cmd
13
13
  system(cmd)
14
- end #cmd
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
- checksum_file = ARGV[0]
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
- old_sha1 = File.open(checksum_file) { |f| f.readline }
26
- new_sha1 = File.open('./checksum') { |f| f.readline }
32
+ old_sha1_h = YAML.load(File.read(checksum_hash))
33
+ new_sha1_h = YAML.load(File.read("./sha1_hash"))
27
34
 
28
- if !new_sha1.eql?(old_sha1)
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
- else
32
- puts "Checksums match!"
33
- end #if
47
+ end
48
+
49
+ puts "Checksums match!"
@@ -1,3 +1,3 @@
1
1
  module Rhoconnect
2
- VERSION = '3.4.2'
2
+ VERSION = '3.4.3'
3
3
  end
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
- s.add_dependency('connection_pool', '>= 0.9.2')
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.2
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: 2012-12-04 00:00:00.000000000 Z
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: 781878080452453246
737
+ hash: 4550760957355739491
722
738
  required_rubygems_version: !ruby/object:Gem::Requirement
723
739
  none: false
724
740
  requirements: