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 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: