puma 1.0.0-java → 1.1.0-java

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puma might be problematic. Click here for more details.

@@ -8,16 +8,7 @@ Rakefile
8
8
  TODO
9
9
  bin/puma
10
10
  bin/pumactl
11
- examples/CA/cacert.pem
12
- examples/CA/newcerts/cert_1.pem
13
- examples/CA/newcerts/cert_2.pem
14
- examples/CA/private/cakeypair.pem
15
- examples/CA/serial
16
11
  examples/config.rb
17
- examples/puma/cert_puma.pem
18
- examples/puma/csr_puma.pem
19
- examples/puma/puma_keypair.pem
20
- examples/qc_config.rb
21
12
  ext/puma_http11/PumaHttp11Service.java
22
13
  ext/puma_http11/ext_help.h
23
14
  ext/puma_http11/extconf.rb
@@ -32,7 +23,6 @@ ext/puma_http11/puma_http11.c
32
23
  lib/puma.rb
33
24
  lib/puma/app/status.rb
34
25
  lib/puma/cli.rb
35
- lib/puma/compat.rb
36
26
  lib/puma/configuration.rb
37
27
  lib/puma/const.rb
38
28
  lib/puma/control_cli.rb
data/README.md CHANGED
@@ -77,6 +77,14 @@ Want to use UNIX Sockets instead of TCP (which can provide a 5-10% performance b
77
77
 
78
78
  $ puma -b unix:///var/run/puma.sock
79
79
 
80
+ If you need to change the permissions of the UNIX socket, just add a umask parameter:
81
+
82
+ $ puma -b 'unix:///var/run/puma.sock?umask=0777'
83
+
84
+ Need a bit of security? Use SSL sockets!
85
+
86
+ $ puma -b 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'
87
+
80
88
  ## License
81
89
 
82
90
  Puma is copyright 2011 Evan Phoenix and contributors. It is licensed under the BSD license. See the include LICENSE file for details.
@@ -33,8 +33,6 @@ module Puma
33
33
  @restart = false
34
34
  @temp_status_path = nil
35
35
 
36
- @listen_config = []
37
-
38
36
  setup_options
39
37
 
40
38
  generate_restart_data
@@ -66,7 +64,6 @@ module Puma
66
64
 
67
65
  if defined? Rubinius::OS_ARGV
68
66
  @restart_argv = Rubinius::OS_ARGV
69
- @restart_arg0 = [@restart_argv.first]
70
67
  else
71
68
  require 'rubygems'
72
69
 
@@ -75,12 +72,10 @@ module Puma
75
72
  # picked up in PATH.
76
73
  #
77
74
  if File.exists?($0)
78
- @restart_arg0 = [Gem.ruby, $0]
75
+ @restart_argv = [Gem.ruby, $0] + ARGV
79
76
  else
80
- @restart_arg0 = [Gem.ruby, "-S", $0]
77
+ @restart_argv = [Gem.ruby, "-S", $0] + ARGV
81
78
  end
82
-
83
- @restart_argv = @restart_arg0 + ARGV
84
79
  end
85
80
  end
86
81
 
@@ -94,36 +89,6 @@ module Puma
94
89
  end
95
90
  end
96
91
 
97
- def hot_restart!
98
- if IS_JRUBY
99
- require 'puma/jruby_restart'
100
- JRubyRestart.chdir_exec(@restart_dir, Gem.ruby, *@restart_argv)
101
- else
102
-
103
- path = File.join (ENV['TMPDIR'] || "/tmp"), "puma-hotrestart.#{$$}"
104
-
105
- fork do
106
- data = Marshal.dump(@listen_config)
107
-
108
- serv = UNIXServer.new path
109
- client = serv.accept
110
-
111
- client << "#{data.bytesize}\n#{data}"
112
-
113
- @ios.each do |x|
114
- client.send_io x
115
- end
116
-
117
- client.read(1)
118
- exit 0
119
- end
120
-
121
- Dir.chdir @restart_dir
122
- argv = @restart_arg0 + ["--hot-restart", path]
123
- Kernel.exec(*argv)
124
- end
125
- end
126
-
127
92
  # Write +str+ to +@stdout+
128
93
  #
129
94
  def log(str)
@@ -198,33 +163,6 @@ module Puma
198
163
  end
199
164
  end
200
165
 
201
- o.on "--hot-restart PATH", "Used internally for performing a hot restart" do |arg|
202
-
203
- sock = UNIXSocket.new arg
204
- size = sock.gets.strip.to_i
205
- data = sock.read size
206
-
207
- @listen_config = Marshal.load data
208
- ios = []
209
-
210
- @listen_config.each do |c|
211
- case c['type']
212
- when "tcp"
213
- ios << sock.recv_io(TCPServer)
214
- when "unix"
215
- ios << sock.recv_io(UNIXServer)
216
- when "ssl"
217
- ctx = OpenSSL::SSL::SSLContext.new
218
- ctx.key = OpenSSL::PKey::RSA.new c['key']
219
- ctx.cert = OpenSSL::X509::Certificate.new c['cert']
220
-
221
- ctx.verify_mode = OpenSSL::SSL::VERIFY_NONE
222
-
223
- tcp = sock.recv_io(TCPServer)
224
- ios << OpenSSL::SSL::SSLServer.new(tcp, ctx)
225
- end
226
- end
227
- end
228
166
  end
229
167
 
230
168
  @parser.banner = "puma <options> <rackup file>"
@@ -301,23 +239,21 @@ module Puma
301
239
  when "tcp"
302
240
  log "* Listening on #{str}"
303
241
  server.add_tcp_listener uri.host, uri.port
304
-
305
- conf = { "type" => "tcp",
306
- "host" => uri.host,
307
- "port" => uri.port }
308
-
309
- @listen_config << conf
310
-
311
242
  when "unix"
312
243
  log "* Listening on #{str}"
313
244
  path = "#{uri.host}#{uri.path}"
314
245
 
315
- server.add_unix_listener path
246
+ umask = nil
316
247
 
317
- conf = { "type" => "unix",
318
- "path" => path }
248
+ if uri.query
249
+ params = Rack::Utils.parse_query uri.query
250
+ if u = params['umask']
251
+ # Use Integer() to respect the 0 prefix as octal
252
+ umask = Integer(u)
253
+ end
254
+ end
319
255
 
320
- @listen_config << conf
256
+ server.add_unix_listener path, umask
321
257
  when "ssl"
322
258
  log "* Listening on #{str}"
323
259
  params = Rack::Utils.parse_query uri.query
@@ -339,15 +275,6 @@ module Puma
339
275
  ctx.verify_mode = OpenSSL::SSL::VERIFY_NONE
340
276
 
341
277
  server.add_ssl_listener uri.host, uri.port, ctx
342
-
343
- conf = { "type" => "ssl",
344
- "host" => uri.host,
345
- "port" => uri.port,
346
- "ssl_key" => params['key'],
347
- "ssl_cert" => params['cert'] }
348
-
349
- @listen_config << conf
350
-
351
278
  else
352
279
  error "Invalid URI: #{str}"
353
280
  end
@@ -387,16 +314,10 @@ module Puma
387
314
  @status = status
388
315
  end
389
316
 
390
- hot_restart = false
391
-
392
- Signal.trap "SIGUSR1" do
393
- hot_restart = true
394
- end
395
-
396
317
  log "Use Ctrl-C to stop"
397
318
 
398
319
  begin
399
- server.run.join(1) until hot_restart
320
+ server.run.join
400
321
  rescue Interrupt
401
322
  log " - Gracefully stopping, waiting for requests to finish"
402
323
  server.stop(true)
@@ -405,10 +326,7 @@ module Puma
405
326
 
406
327
  File.unlink @temp_status_path if @temp_status_path
407
328
 
408
- if hot_restart
409
- log "* Starting hot restart..."
410
- hot_restart!
411
- elsif @restart
329
+ if @restart
412
330
  log "* Restarting..."
413
331
  restart!
414
332
  end
@@ -75,7 +75,7 @@ module Puma
75
75
 
76
76
  PATH_INFO = 'PATH_INFO'.freeze
77
77
 
78
- PUMA_VERSION = VERSION = "1.0.0".freeze
78
+ PUMA_VERSION = VERSION = "1.1.0".freeze
79
79
 
80
80
  PUMA_TMP_BASE = "puma".freeze
81
81
 
Binary file
@@ -54,6 +54,8 @@ module Puma
54
54
  @persistent_timeout = PERSISTENT_TIMEOUT
55
55
  @persistent_check, @persistent_wakeup = IO.pipe
56
56
 
57
+ @unix_paths = []
58
+
57
59
  @proto_env = {
58
60
  "rack.version".freeze => Rack::VERSION,
59
61
  "rack.errors".freeze => events.stderr,
@@ -121,8 +123,18 @@ module Puma
121
123
 
122
124
  # Tell the server to listen on +path+ as a UNIX domain socket.
123
125
  #
124
- def add_unix_listener(path)
125
- @ios << UNIXServer.new(path)
126
+ def add_unix_listener(path, umask=nil)
127
+ @unix_paths << path
128
+
129
+ # Let anyone connect by default
130
+ umask ||= 0
131
+
132
+ begin
133
+ old_mask = File.umask(umask)
134
+ @ios << UNIXServer.new(path)
135
+ ensure
136
+ File.umask old_mask
137
+ end
126
138
  end
127
139
 
128
140
  def backlog
@@ -176,6 +188,7 @@ module Puma
176
188
  graceful_shutdown if @status == :stop
177
189
  ensure
178
190
  @ios.each { |i| i.close }
191
+ @unix_paths.each { |i| File.unlink i }
179
192
  end
180
193
  end
181
194
 
@@ -2,22 +2,22 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "puma"
5
- s.version = "1.0.0"
5
+ s.version = "0.9.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Evan Phoenix"]
9
- s.date = "2012-03-29"
10
- s.description = "Puma is a simple, fast, and highly concurrent HTTP 1.1 server for Ruby web applications. It can be used with any application that supports Rack, and is considered the replacement for Webrick and Mongrel. It was designed to be the go-to server for [Rubinius](http://rubini.us), but also works well with JRuby and MRI. Puma is intended for use in both development and production environments.\n\nUnder the hood, Puma processes requests using a C-optimized Ragel extension (inherited from Mongrel) that provides fast, accurate HTTP 1.1 protocol parsing in a portable way. Puma then serves the request in a thread from an internal thread pool (which you can control). This allows Puma to provide real concurrency for your web application!\n\nWith Rubinius 2.0, Puma will utilize all cores on your CPU with real threads, meaning you won't have to spawn multiple processes to increase throughput. You can expect to see a similar benefit from JRuby.\n\nOn MRI, there is a Global Interpreter Lock (GIL) that ensures only one thread can be run at a time. But if you're doing a lot of blocking IO (such as HTTP calls to external APIs like Twitter), Puma still improves MRI's throughput by allowing blocking IO to be run concurrently (EventMachine-based servers such as Thin turn off this ability, requiring you to use special libraries). Your mileage may vary. In order to get the best throughput, it is highly recommended that you use a Ruby implementation with real threads like [Rubinius](http://rubini.us) or [JRuby](http://jruby.org)."
9
+ s.date = "2012-03-03"
10
+ s.description = "Puma is a simple, fast, and highly concurrent HTTP 1.1 server for Ruby web applications. It can be used with any application that supports Rack, and is considered the replacement for Webrick and Mongrel. It was designed to be the go-to server for [Rubinius](http://rubini.us), but also works well with JRuby and MRI. Puma is intended for use in both development and production environments.\n\nUnder the hood, Puma processes requests using a C-optimized Ragel extension (inherited from Mongrel) that provides fast, accurate HTTP 1.1 protocol parsing in a portable way. Puma then serves the request in a thread from an internal thread pool (which you can control). This allows Puma to provide real concurrency for your web application!\n\nWith Rubinius 2.0, Puma will utilize all cores on your CPU with real threads, meaning you won't have to spawn multiple processes to increase throughput. You can expect to see a similar benefit from JRuby.\n\nOn MRI, there is a Global Interpreter Lock (GIL) that ensures only one thread can be run at a time. But if you're doing a lot of blocking IO (such as HTTP calls to external APIs like Twitter), Puma still improves MRI's throughput by allowing blocking IO to be run concurrently (EventMachine-based servers such as Thin turn off this ability, requiring you to use special libraries). Your mileage may vary.. in order to get the best throughput, it is highly recommended that you use a Ruby implementation with real threads like [Rubinius](http://rubini.us) or [JRuby](http://jruby.org)."
11
11
  s.email = ["evan@phx.io"]
12
12
  s.executables = ["puma", "pumactl"]
13
13
  s.extensions = ["ext/puma_http11/extconf.rb"]
14
14
  s.extra_rdoc_files = ["History.txt", "Manifest.txt"]
15
- s.files = ["COPYING", "Gemfile", "History.txt", "LICENSE", "Manifest.txt", "README.md", "Rakefile", "TODO", "bin/puma", "bin/pumactl", "examples/CA/cacert.pem", "examples/CA/newcerts/cert_1.pem", "examples/CA/newcerts/cert_2.pem", "examples/CA/private/cakeypair.pem", "examples/CA/serial", "examples/config.rb", "examples/puma/cert_puma.pem", "examples/puma/csr_puma.pem", "examples/puma/puma_keypair.pem", "examples/qc_config.rb", "ext/puma_http11/PumaHttp11Service.java", "ext/puma_http11/ext_help.h", "ext/puma_http11/extconf.rb", "ext/puma_http11/http11_parser.c", "ext/puma_http11/http11_parser.h", "ext/puma_http11/http11_parser.java.rl", "ext/puma_http11/http11_parser.rl", "ext/puma_http11/http11_parser_common.rl", "ext/puma_http11/org/jruby/puma/Http11.java", "ext/puma_http11/org/jruby/puma/Http11Parser.java", "ext/puma_http11/puma_http11.c", "lib/puma.rb", "lib/puma/app/status.rb", "lib/puma/cli.rb", "lib/puma/compat.rb", "lib/puma/configuration.rb", "lib/puma/const.rb", "lib/puma/control_cli.rb", "lib/puma/events.rb", "lib/puma/jruby_restart.rb", "lib/puma/null_io.rb", "lib/puma/rack_patch.rb", "lib/puma/server.rb", "lib/puma/thread_pool.rb", "lib/rack/handler/puma.rb", "puma.gemspec", "test/ab_rs.rb", "test/config/app.rb", "test/hello.ru", "test/lobster.ru", "test/mime.yaml", "test/slow.ru", "test/test_app_status.rb", "test/test_cli.rb", "test/test_config.rb", "test/test_http10.rb", "test/test_http11.rb", "test/test_integration.rb", "test/test_persistent.rb", "test/test_rack_handler.rb", "test/test_rack_server.rb", "test/test_thread_pool.rb", "test/test_unix_socket.rb", "test/test_ws.rb", "test/testhelp.rb", "tools/trickletest.rb"]
15
+ s.files = ["COPYING", "Gemfile", "History.txt", "LICENSE", "Manifest.txt", "README.md", "Rakefile", "TODO", "bin/puma", "bin/pumactl", "examples/config.rb", "ext/puma_http11/PumaHttp11Service.java", "ext/puma_http11/ext_help.h", "ext/puma_http11/extconf.rb", "ext/puma_http11/http11_parser.c", "ext/puma_http11/http11_parser.h", "ext/puma_http11/http11_parser.java.rl", "ext/puma_http11/http11_parser.rl", "ext/puma_http11/http11_parser_common.rl", "ext/puma_http11/org/jruby/puma/Http11.java", "ext/puma_http11/org/jruby/puma/Http11Parser.java", "ext/puma_http11/puma_http11.c", "lib/puma.rb", "lib/puma/app/status.rb", "lib/puma/cli.rb", "lib/puma/configuration.rb", "lib/puma/const.rb", "lib/puma/control_cli.rb", "lib/puma/events.rb", "lib/puma/jruby_restart.rb", "lib/puma/null_io.rb", "lib/puma/rack_patch.rb", "lib/puma/server.rb", "lib/puma/thread_pool.rb", "lib/rack/handler/puma.rb", "puma.gemspec", "test/ab_rs.rb", "test/config/app.rb", "test/hello.ru", "test/lobster.ru", "test/mime.yaml", "test/slow.ru", "test/test_app_status.rb", "test/test_cli.rb", "test/test_config.rb", "test/test_http10.rb", "test/test_http11.rb", "test/test_integration.rb", "test/test_persistent.rb", "test/test_rack_handler.rb", "test/test_rack_server.rb", "test/test_thread_pool.rb", "test/test_unix_socket.rb", "test/test_ws.rb", "test/testhelp.rb", "tools/trickletest.rb"]
16
16
  s.rdoc_options = ["--main", "README.md"]
17
17
  s.require_paths = ["lib"]
18
18
  s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
19
19
  s.rubyforge_project = "puma"
20
- s.rubygems_version = "1.8.18"
20
+ s.rubygems_version = "1.8.17"
21
21
  s.summary = "Puma is a simple, fast, and highly concurrent HTTP 1.1 server for Ruby web applications"
22
22
  s.test_files = ["test/test_app_status.rb", "test/test_cli.rb", "test/test_config.rb", "test/test_http10.rb", "test/test_http11.rb", "test/test_integration.rb", "test/test_persistent.rb", "test/test_rack_handler.rb", "test/test_rack_server.rb", "test/test_thread_pool.rb", "test/test_unix_socket.rb", "test/test_ws.rb"]
23
23
 
@@ -25,20 +25,20 @@ Gem::Specification.new do |s|
25
25
  s.specification_version = 3
26
26
 
27
27
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
28
- s.add_runtime_dependency(%q<rack>, ["~> 1.2"])
28
+ s.add_runtime_dependency(%q<rack>, ["< 2.0", ">= 1.2"])
29
29
  s.add_development_dependency(%q<rake-compiler>, ["~> 0.8.0"])
30
30
  s.add_development_dependency(%q<rdoc>, ["~> 3.10"])
31
- s.add_development_dependency(%q<hoe>, ["~> 2.14"])
31
+ s.add_development_dependency(%q<hoe>, ["~> 2.12"])
32
32
  else
33
- s.add_dependency(%q<rack>, ["~> 1.2"])
33
+ s.add_dependency(%q<rack>, ["< 2.0", ">= 1.2"])
34
34
  s.add_dependency(%q<rake-compiler>, ["~> 0.8.0"])
35
35
  s.add_dependency(%q<rdoc>, ["~> 3.10"])
36
- s.add_dependency(%q<hoe>, ["~> 2.14"])
36
+ s.add_dependency(%q<hoe>, ["~> 2.12"])
37
37
  end
38
38
  else
39
- s.add_dependency(%q<rack>, ["~> 1.2"])
39
+ s.add_dependency(%q<rack>, ["< 2.0", ">= 1.2"])
40
40
  s.add_dependency(%q<rake-compiler>, ["~> 0.8.0"])
41
41
  s.add_dependency(%q<rdoc>, ["~> 3.10"])
42
- s.add_dependency(%q<hoe>, ["~> 2.14"])
42
+ s.add_dependency(%q<hoe>, ["~> 2.12"])
43
43
  end
44
44
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: puma
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.0.0
5
+ version: 1.1.0
6
6
  platform: java
7
7
  authors:
8
8
  - Evan Phoenix
@@ -85,16 +85,7 @@ files:
85
85
  - TODO
86
86
  - bin/puma
87
87
  - bin/pumactl
88
- - examples/CA/cacert.pem
89
- - examples/CA/newcerts/cert_1.pem
90
- - examples/CA/newcerts/cert_2.pem
91
- - examples/CA/private/cakeypair.pem
92
- - examples/CA/serial
93
88
  - examples/config.rb
94
- - examples/puma/cert_puma.pem
95
- - examples/puma/csr_puma.pem
96
- - examples/puma/puma_keypair.pem
97
- - examples/qc_config.rb
98
89
  - ext/puma_http11/PumaHttp11Service.java
99
90
  - ext/puma_http11/ext_help.h
100
91
  - ext/puma_http11/extconf.rb
@@ -109,7 +100,6 @@ files:
109
100
  - lib/puma.rb
110
101
  - lib/puma/app/status.rb
111
102
  - lib/puma/cli.rb
112
- - lib/puma/compat.rb
113
103
  - lib/puma/configuration.rb
114
104
  - lib/puma/const.rb
115
105
  - lib/puma/control_cli.rb
@@ -141,7 +131,6 @@ files:
141
131
  - test/test_ws.rb
142
132
  - test/testhelp.rb
143
133
  - tools/trickletest.rb
144
- - test/test_puma_server.rb
145
134
  - lib/puma/puma_http11.jar
146
135
  homepage:
147
136
  licenses: []
@@ -179,7 +168,6 @@ test_files:
179
168
  - test/test_http11.rb
180
169
  - test/test_integration.rb
181
170
  - test/test_persistent.rb
182
- - test/test_puma_server.rb
183
171
  - test/test_rack_handler.rb
184
172
  - test/test_rack_server.rb
185
173
  - test/test_thread_pool.rb
@@ -1,23 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDxzCCAq+gAwIBAgIBADANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJVUzEO
3
- MAwGA1UECgwFbG9jYWwxDTALBgNVBAsMBGFlcm8xCzAJBgNVBAMMAkNBMB4XDTEy
4
- MDExNDAwMTcyN1oXDTE3MDExMjAwMTcyN1owOTELMAkGA1UEBhMCVVMxDjAMBgNV
5
- BAoMBWxvY2FsMQ0wCwYDVQQLDARhZXJvMQswCQYDVQQDDAJDQTCCASIwDQYJKoZI
6
- hvcNAQEBBQADggEPADCCAQoCggEBAN8bteVsrQxfKHzYuwP1vjH2r6qavPK/agCK
7
- bbPXZmWfUUGjL4ZT4jmnz/B6QNBBKTE/zWcuLXvyRR2FUCi8c5itUvraJVIuBPT/
8
- lvAZfbyIMpdHG1RPwA6jgTTXm7hnfZc0lCzsFRLk106XrjKeIkZOWffnVLNS2dyH
9
- X51/yZAS8wFyfx58gabC3hvzJLWw/fDSB/qQsOjp5XCCrP30ILPads/P2dEFNZ1M
10
- bjGNErVjmEWEorbUsh6Gu3OyElicVf9hgHspFYNwl1rc5IX7Z5eQM9Yd/Lm1mlvU
11
- iM839ZPn2UOtS9EDdeeZImTSALSUoFJjMdt8+synSDUuGPczUzECAwEAAaOB2TCB
12
- 1jAPBgNVHRMBAf8EBTADAQH/MDEGCWCGSAGG+EIBDQQkFiJSdWJ5L09wZW5TU0wg
13
- R2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBReztszntEK4mwESl/gPjc8
14
- VKU2ljAOBgNVHQ8BAf8EBAMCAQYwYQYDVR0jBFowWIAUXs7bM57RCuJsBEpf4D43
15
- PFSlNpahPaQ7MDkxCzAJBgNVBAYTAlVTMQ4wDAYDVQQKDAVsb2NhbDENMAsGA1UE
16
- CwwEYWVybzELMAkGA1UEAwwCQ0GCAQAwDQYJKoZIhvcNAQEFBQADggEBABC6pRY+
17
- c+MKGG6hWv9FKTW5drw/9bfKxl+dVcKPP5YWuoAMtStkCVnDleQ7K2oN4o7kwr7Q
18
- cU3mmYJZjqRu43JBebzupBGKqe/mNWGN0EuCMT7khFEXbO3bwpcL0fhCO7+RZccx
19
- GF/LKglLgQSE+/SKOHlHdJZlS3EgPghrtoSiptx9ytXzkgCoEKypbAEmcArWvzzF
20
- 81ZYjkLAwCrrB/qNAKnI0AKXMCiqnZu+8a16p5z+HGCjpTLB3NQ3YlyFF0jbr/ow
21
- R1Fb07t0uO2o22nuua+iK8lKqWLE6eQUIu/YB6DMEgjk+D6of+WQ+38GC35QyPKA
22
- 9nQ8kMf2RkiGN6M=
23
- -----END CERTIFICATE-----
@@ -1,19 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIC/jCCAeagAwIBAgIBATANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJVUzEO
3
- MAwGA1UECgwFbG9jYWwxDTALBgNVBAsMBGFlcm8xCzAJBgNVBAMMAkNBMB4XDTEy
4
- MDExNDAwMTcyN1oXDTEzMDExMzAwMTcyN1owSDELMAkGA1UEBhMCVVMxDjAMBgNV
5
- BAoMBWxvY2FsMQ0wCwYDVQQLDARhZXJvMQswCQYDVQQLDAJDQTENMAsGA1UEAwwE
6
- cHVtYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxkKjXHIYV4CVFB4YZuVk
7
- sXqdb7X9+igKPSkxFZoyjwW+AGiN27OwTvETLQiPMaB1WiJtDF9NEmlwYXl4dHWz
8
- 5QPVJtQ5ud7FdCJWBUc+K6LS4xwixwis/FNZVfVcyxkR+cm7mVwxwrxle1lJasoJ
9
- ouqtVePdt+j+9hcJfLIaZD8CAwEAAaOBhTCBgjAMBgNVHRMBAf8EAjAAMDEGCWCG
10
- SAGG+EIBDQQkFiJSdWJ5L09wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0G
11
- A1UdDgQWBBQDrltCvbaqNl/TvFNb/NEIEnbJ2jALBgNVHQ8EBAMCBaAwEwYDVR0l
12
- BAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEFBQADggEBAF8xrbIbIz7YW6ydjM6g
13
- gesu8T6q5RcJo9k2CWhd4RgJdfVJSZbCtAAMoRQTErX9Ng6afdlMWD1KnCfbP0IJ
14
- dq+Umh1BMfzhpYR35NPO/RZPR7Et0OMmmWCbwJBzgI6z8R8qiSuR/to6C7BjiWzo
15
- rp7S2fenkB6DfzZvHvIDojQ0OpnD2oYBOn/UyAma4I7XzXWe9IIUMARjS5CYZsv9
16
- HBU3B+e5F9ANi3lRc7x5jIAqVt292HaH+c1UCn0/r/73cW1Z/iNYA9PgS2QKdmYq
17
- b3oQRFk0wM5stNVsrn7xGftmOETv8pD6r4P8jyw7Ib+ypr10WrFOm7uOscPS4QE2
18
- Mf0=
19
- -----END CERTIFICATE-----
@@ -1,19 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIC/jCCAeagAwIBAgIBAjANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJVUzEO
3
- MAwGA1UECgwFbG9jYWwxDTALBgNVBAsMBGFlcm8xCzAJBgNVBAMMAkNBMB4XDTEy
4
- MDExNDAwMjcyN1oXDTEzMDExMzAwMjcyN1owSDELMAkGA1UEBhMCVVMxDjAMBgNV
5
- BAoMBWxvY2FsMQ0wCwYDVQQLDARhZXJvMQswCQYDVQQLDAJDQTENMAsGA1UEAwwE
6
- cHVtYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArxfNMp+g/pKhsDEkB3KR
7
- 1MAkbfnN/UKMvfXwlnXpz7YX1LHHnMutiI/PqymAp6BPcu+umuW2qMHQyqqtyATm
8
- Z9jr3t837nhmxwG1noRaKRtsckn9FD43ZlpPg0Q5QnhS4oOsXwJzilqPjdDFYrKN
9
- 3TSvIGM2+hVqpVoGYAHDKbMCAwEAAaOBhTCBgjAMBgNVHRMBAf8EAjAAMDEGCWCG
10
- SAGG+EIBDQQkFiJSdWJ5L09wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0G
11
- A1UdDgQWBBTyDyJlmYBDwfWdRj6lWGvoY43k9DALBgNVHQ8EBAMCBaAwEwYDVR0l
12
- BAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEFBQADggEBAIbBVfoVCG8RyVesPW+q
13
- 5i0wAMbHZ1fwv1RKp17c68DYDs0YYPi0bA0ss8AgpU6thWmskxPiFaE6D5x8iv9f
14
- zkcHxgr1Mrbx6RLx9tLUVehSmRv3aiVO4k9Mp6vf+rJK1AYeaGBmvoqTBLwy7Jrt
15
- ytKMdqMJj5jKWkWgEGgTnjzbcOClmCQab9isigIzTxMyC/LjeKZe8pPeVX6OM8bY
16
- y8XGZp9B7uwdPzqt/g25IzTC0KsQwq8cB0raAtZzIyTNv42zcUjmQNVazAozCTcq
17
- MsEtK2z7TYBC3udTsdyS2qVqCpsk7IMOBGrw8vk4SNhO+coiDObW2K/HNvhl0tZC
18
- oQI=
19
- -----END CERTIFICATE-----
@@ -1,30 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- Proc-Type: 4,ENCRYPTED
3
- DEK-Info: DES-EDE3-CBC,8FE374A296255ED1
4
-
5
- g6YSW6TUA/9dSscxCWPm11bG6DedWJ6fanU6V7O2n9WbGOLE0ogz877D/5gPr94+
6
- WJHnCb0O4gyKQA307XA9nq+HAPTyJFKroEz1CPXVrITV8AO+vJ/PUc1y1LQ1ymMk
7
- fcvI3ZNdbDBr7OL7luYch7qoVULJ4kwJTU7WT9XzINiSnS3Ccqh6ZEPFyKIcxP2s
8
- 11WkpxdDJ911nCXVUoa9Hd5tQk7mHZuf7XL01up08SDobx/imaU9VN8QQG6AFE55
9
- jVtfv7MxP+9gHmHQxuhYuDMnu5GIwuJPFHvI7Gi9jcwvee/GhcKBnKdpFc92fJJ8
10
- +TIqR2D21EHDBoep1fMGgbPOl+9z1hdE78Sj6tHwjeRF93mhJWyYNQWQ5ViKLnoF
11
- j11idWOXwkOCFttRBMd74QG6GyxTvs8FNDOXmm361Muk94a4fbKRJvKvYZlBnYKu
12
- fOmJNFf2zEVVHjBCbvM4swAT09cWLxRMRTiFb5y7QAEmtFO4WLavlmnNCdMq/uC4
13
- CpFqGtoiaCimunjTfvkBaJngSfTYSrd4cStnx/c0XK++dni+bLXUHOyMxvihl5vn
14
- SiFlzWTmoWf1gxNZgOSKY432R6T1CQXfnAd3x/FCJjfPqFt+RAFXjlVFNA0FZyVE
15
- sCxhVx1eZsr7aMJ5H9RehUr6b9swUEm4UGX5H3/GG7GNCZU+fA+Wfi9cl1zqJFey
16
- Ho5UjjmRgdV1qapioqCd+Ce/mG0LxRPt/hYdA6G5h4zheRc3KZ7YbIwWRwlkm2w5
17
- is4ToZKwheycaaQnUfOdHUTtZ4Kv0kRof+LMcDUDTrsydWF4T4xGxGD7/CVJkH1G
18
- 5OTVsfv6Tw7kEMYaXYBQPs0u3GSxY3CZ+k5wATr9PBBYcArSkt5WNQYCJfO/MnWF
19
- z/31hp/ziCIoesgo6uZMO4Dr5Pka54nc4O4KOblvUUMX07WkYGrc4nxBGvhQ5Jl4
20
- A8dJBPCK3OlsVCnHYrDQ0cemhLOYPuiyKTtCUIs2nHuiM4RwoCRJgsVBUnKK+tTx
21
- AkM9uQvYsrZ/DoBooBdXJQy3uiHH86zEskiy72H8Wgcu8GbLt2JgCyhXkwDzrIRf
22
- hnAN4FS2VNOt5dDTVHBWG1vIxxlM2+LrYpY/QqihNgotZ+C4VWHkoDwbF478JgxM
23
- 5Yk+0X9kGvLQbZCJFXdAKAyr/AzRH+Hx1cDvSi7gypf8qOEZwD1rq7f0qw8jnqfG
24
- 3QIFoN1/+xTAV8lTlGhvbQYz1XHVBH9l7TSQDLIrnwHTIv+PdZbTveGftCCnLdDo
25
- wBLBnw4mKVCtnHrEgXMQF62yuwueQ8zhdh8jf3osYV/COlRZwQQGgZtnQCeeyDIh
26
- 8GJR9b4uv22QDNv7J2vcqTEWJdnpAZvIBFGuCBCAgev+URLGW2ELXfWQwNgc5+yP
27
- nGRXo+IwD1uhvEqtuin+cAn/sJhOa66g0ZcV/3AcrdQhbicn12YM71cMvA/XRKf5
28
- rpo8bAEwDqyoFoywH4IHM3HNV45rS+brskz6tZC5ELondCPVmUqgVu7ELHlJfPXx
29
- RbzbMPJEGr8WjWUiTDhrD2vWgoJ6NRKkDAUYm6KQb8Sbajd2JAAlYntLz5jKqNqN
30
- -----END RSA PRIVATE KEY-----
@@ -1 +0,0 @@
1
- 0003
@@ -1,19 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIC/jCCAeagAwIBAgIBAjANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJVUzEO
3
- MAwGA1UECgwFbG9jYWwxDTALBgNVBAsMBGFlcm8xCzAJBgNVBAMMAkNBMB4XDTEy
4
- MDExNDAwMjcyN1oXDTEzMDExMzAwMjcyN1owSDELMAkGA1UEBhMCVVMxDjAMBgNV
5
- BAoMBWxvY2FsMQ0wCwYDVQQLDARhZXJvMQswCQYDVQQLDAJDQTENMAsGA1UEAwwE
6
- cHVtYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArxfNMp+g/pKhsDEkB3KR
7
- 1MAkbfnN/UKMvfXwlnXpz7YX1LHHnMutiI/PqymAp6BPcu+umuW2qMHQyqqtyATm
8
- Z9jr3t837nhmxwG1noRaKRtsckn9FD43ZlpPg0Q5QnhS4oOsXwJzilqPjdDFYrKN
9
- 3TSvIGM2+hVqpVoGYAHDKbMCAwEAAaOBhTCBgjAMBgNVHRMBAf8EAjAAMDEGCWCG
10
- SAGG+EIBDQQkFiJSdWJ5L09wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0G
11
- A1UdDgQWBBTyDyJlmYBDwfWdRj6lWGvoY43k9DALBgNVHQ8EBAMCBaAwEwYDVR0l
12
- BAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEFBQADggEBAIbBVfoVCG8RyVesPW+q
13
- 5i0wAMbHZ1fwv1RKp17c68DYDs0YYPi0bA0ss8AgpU6thWmskxPiFaE6D5x8iv9f
14
- zkcHxgr1Mrbx6RLx9tLUVehSmRv3aiVO4k9Mp6vf+rJK1AYeaGBmvoqTBLwy7Jrt
15
- ytKMdqMJj5jKWkWgEGgTnjzbcOClmCQab9isigIzTxMyC/LjeKZe8pPeVX6OM8bY
16
- y8XGZp9B7uwdPzqt/g25IzTC0KsQwq8cB0raAtZzIyTNv42zcUjmQNVazAozCTcq
17
- MsEtK2z7TYBC3udTsdyS2qVqCpsk7IMOBGrw8vk4SNhO+coiDObW2K/HNvhl0tZC
18
- oQI=
19
- -----END CERTIFICATE-----
@@ -1,11 +0,0 @@
1
- -----BEGIN CERTIFICATE REQUEST-----
2
- MIIBhzCB8QIBADBIMQswCQYDVQQGEwJVUzEOMAwGA1UECgwFbG9jYWwxDTALBgNV
3
- BAsMBGFlcm8xCzAJBgNVBAsMAkNBMQ0wCwYDVQQDDARwdW1hMIGfMA0GCSqGSIb3
4
- DQEBAQUAA4GNADCBiQKBgQCvF80yn6D+kqGwMSQHcpHUwCRt+c39Qoy99fCWdenP
5
- thfUscecy62Ij8+rKYCnoE9y766a5baowdDKqq3IBOZn2Ove3zfueGbHAbWehFop
6
- G2xySf0UPjdmWk+DRDlCeFLig6xfAnOKWo+N0MViso3dNK8gYzb6FWqlWgZgAcMp
7
- swIDAQABoAAwDQYJKoZIhvcNAQEEBQADgYEAmRsmIQ0pF9iPOO7V1NeHxrVpFz1B
8
- CZK0yAIGlCWqzpFO/OILN1hJfFnsFl7hZWipoARk15fN1sSXQF3Xb7/sc/8qVhyz
9
- oY38uu/8CE9CTdUutniLzP/4sUomXjslKNVV0qKtmfsFkj2tHtWjJkGAyZUcoKeG
10
- hDJxQlIHhZa7Xvw=
11
- -----END CERTIFICATE REQUEST-----
@@ -1,15 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIICXQIBAAKBgQCvF80yn6D+kqGwMSQHcpHUwCRt+c39Qoy99fCWdenPthfUscec
3
- y62Ij8+rKYCnoE9y766a5baowdDKqq3IBOZn2Ove3zfueGbHAbWehFopG2xySf0U
4
- PjdmWk+DRDlCeFLig6xfAnOKWo+N0MViso3dNK8gYzb6FWqlWgZgAcMpswIDAQAB
5
- AoGAHv/UyZivdULas4oPue3T2dnm2T239ZXZuywW21ym96pij7ql/6Gj6KClgMVJ
6
- TOQ6DLxYqn3vF/OwlqEfQWF0tTUYY+xNbEDE1YsbrS5/FSzbaEYYOHzRl/vMmnsf
7
- aNgYaSjOIecin7L71Wzq0piMIxg8BLb6IVECBku9EQNzxuECQQDZsbRgg1XZGj+r
8
- XAu/qXTNKQ/r7k+iPN5bXON6ApBomG+4Q7VVITL3tkGzLOphRZ37Q28FrN4B4gtC
9
- Xb9il5lDAkEAzecTSopPi2VdcME4WWmwn1rbTp/jJNt4dGZLsNfj9RejVDd32i/L
10
- P7wCpoPDaaVcoF2HgvCs39qatyVg6ecu0QJBALN4q+q9nDMGTuNpWU5D2EWjyrqJ
11
- mCF66R6NcASQxJlWwxQ4zfBHFIvgOD4Nk5VqHZqet5MIN2d6AipOu4/+x50CQHDp
12
- jf+rd1GHBcXGf8MwnUXWCjvEnEhi/lw+mLVivsRx8QRG4rfIy9monX949Flj8DaU
13
- 87IPj422kG9s1QeP2nECQQCkg+RUcoQm7SiM8OXuXNeHQlvQNp65geFRxzKAXxT/
14
- +1Mbtwnd3AXXZBekFDDpE9U3ZQjahoe7oc1oUBuw5hXL
15
- -----END RSA PRIVATE KEY-----
@@ -1,13 +0,0 @@
1
- full_hostname = `hostname`.strip
2
- domainname = full_hostname.split('.')[1..-1].join('.')
3
- hostname = full_hostname.split('.')[0]
4
-
5
- CA[:hostname] = hostname
6
- CA[:domainname] = domainname
7
- CA[:CA_dir] = File.join Dir.pwd, "CA"
8
- CA[:password] = 'puma'
9
-
10
- CERTS << {
11
- :type => 'server',
12
- :hostname => 'puma'
13
- }
@@ -1,7 +0,0 @@
1
- # Provides code to work properly on 1.8 and 1.9
2
-
3
- class String
4
- unless method_defined? :bytesize
5
- alias_method :bytesize, :size
6
- end
7
- end
@@ -1,6 +0,0 @@
1
- require 'puma'
2
- require 'test/unit'
3
- require 'timeout'
4
-
5
- class TestPumaServer < Test::Unit::TestCase
6
- end