iodine 0.7.44 → 0.7.45

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a212aecebe63d7033c5c1e985d4e2f90588dc604c8aa6a25965735aeef79ec72
4
- data.tar.gz: 299ef31e1f2209cb11c0c49f2d4851d8c779a2744ebc08f42fb430ffaf3d76cc
3
+ metadata.gz: 33f22236ecbf1c2166c056476bbefb6ab80b709cdb6cc16c0ec144926cf3fdc0
4
+ data.tar.gz: 6b0c70cc71431eb3611d34af45c80f679c0177141843a5e03b1cdb6b242d4f19
5
5
  SHA512:
6
- metadata.gz: a6f12dfcff4eced37d98f627be0cb6a9662c8bac98365a5080ea0c47f9c3ae3919e315836ec33989be098c52c826707e0f22fa746f95a3847b354d6d0efa4f79
7
- data.tar.gz: 1b5541f8c952f6b61feeb183cc6d7587ca200b4295afec9c9e540c69699f065c03724b46b464c929cc0aa800b594a0cdb83ec7b9a1b57c7501ba5633cb270124
6
+ metadata.gz: 3506324c77f3de50b9dda515922c3468bbb49c63cd58831d2f7711e02b28209ba7fb5d15e076e860092be4d783cf595fd69b2483bf7ee59b873040005468161f
7
+ data.tar.gz: 7c4b0ffb76c749c11f18d66faaad5494e6ab7c675b0d887721de3c7494a7b764886bb8b7b4f5fc369e606e0f3b2e30172818dae27faa4c3cfffa73d094012cf9
@@ -21,7 +21,7 @@ A clear and concise description of what the bug is.
21
21
  ### Rack App to Reproduce
22
22
 
23
23
  ```ruby
24
- APP = {|env| [200, {}, "Hello World"] }
24
+ APP = proc {|env| [200, {}, ["Hello World"]] }
25
25
  run APP
26
26
  ```
27
27
 
data/.gitignore CHANGED
@@ -10,6 +10,7 @@
10
10
  /old_stuff/
11
11
  *.bundle
12
12
  *.so
13
+ *.gem
13
14
 
14
15
  .ruby-version
15
16
  .clang_complete
data/CHANGELOG.md CHANGED
@@ -6,6 +6,12 @@ Please notice that this change log contains changes for upcoming releases as wel
6
6
 
7
7
  ## Changes:
8
8
 
9
+ #### Change log v.0.7.45 (2021-11-26)
10
+
11
+ **Security**: Fixes a number of issues with the HTTP parser that could have been leveraged in potential exploit attempts such as request smuggling. Credit to @dcepelik (David Čepelík).
12
+
13
+ **Compatibility**: This release adds experimental Windows support (I don't have Windows, nor Intel, I cannot test this). Credit for a lot of work by @janbiedermann (Jan Biedermann).
14
+
9
15
  #### Change log v.0.7.44 (2021-02-28)
10
16
 
11
17
  **Fix**: Fixes issue #103 where an empty String response would result in the word "null" being returned (no String object was created, which routed the NULL object to facil.io's JSON interpreter). Credit to @waghanza (Marwan Rabbâa) for exposing the issue.
@@ -36,7 +36,10 @@ int main(void) {
36
36
  EOS
37
37
 
38
38
  # Test for manual selection and then TRY_COMPILE with each polling engine
39
- if ENV['FIO_POLL']
39
+ if Gem.win_platform?
40
+ puts "skipping polling tests, using WSAPOLL on Windows"
41
+ $defs << "-DFIO_ENGINE_WSAPOLL"
42
+ elsif ENV['FIO_POLL']
40
43
  puts "skipping polling tests, enforcing manual selection of: poll"
41
44
  $defs << "-DFIO_ENGINE_POLL"
42
45
  elsif ENV['FIO_FORCE_POLL']
@@ -64,9 +67,10 @@ end
64
67
 
65
68
  iodine_test_polling_support()
66
69
 
67
- # Test for OpenSSL version equal to 1.0.0 or greater.
68
- unless ENV['NO_SSL'] || ENV['NO_TLS'] || ENV["DISABLE_SSL"]
69
- OPENSSL_TEST_CODE = <<EOS
70
+ unless Gem.win_platform?
71
+ # Test for OpenSSL version equal to 1.0.0 or greater.
72
+ unless ENV['NO_SSL'] || ENV['NO_TLS'] || ENV["DISABLE_SSL"]
73
+ OPENSSL_TEST_CODE = <<EOS
70
74
  \#include <openssl/bio.h>
71
75
  \#include <openssl/err.h>
72
76
  \#include <openssl/ssl.h>
@@ -84,18 +88,19 @@ int main(void) {
84
88
  }
85
89
  EOS
86
90
 
87
- dir_config("openssl")
88
- begin
89
- require 'openssl'
90
- rescue LoadError
91
- else
92
- if have_library('crypto') && have_library('ssl')
93
- puts "detected OpenSSL library, testing for version and required functions."
94
- if try_compile(OPENSSL_TEST_CODE)
95
- $defs << "-DHAVE_OPENSSL"
96
- puts "confirmed OpenSSL to be version 1.1.0 or above (#{OpenSSL::OPENSSL_LIBRARY_VERSION})...\n* compiling with HAVE_OPENSSL."
97
- else
98
- puts "FAILED: OpenSSL version not supported (#{OpenSSL::OPENSSL_LIBRARY_VERSION} is too old)."
91
+ dir_config("openssl")
92
+ begin
93
+ require 'openssl'
94
+ rescue LoadError
95
+ else
96
+ if have_library('crypto') && have_library('ssl')
97
+ puts "detected OpenSSL library, testing for version and required functions."
98
+ if try_compile(OPENSSL_TEST_CODE)
99
+ $defs << "-DHAVE_OPENSSL"
100
+ puts "confirmed OpenSSL to be version 1.1.0 or above (#{OpenSSL::OPENSSL_LIBRARY_VERSION})...\n* compiling with HAVE_OPENSSL."
101
+ else
102
+ puts "FAILED: OpenSSL version not supported (#{OpenSSL::OPENSSL_LIBRARY_VERSION} is too old)."
103
+ end
99
104
  end
100
105
  end
101
106
  end