aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2021-10-13 14:24:53 +0900
committerKazuki Yamaguchi <k@rhe.jp>2021-10-16 18:48:30 +0900
commit3436bd040d8ea6abe71ac883a4254b4c651c0fd5 (patch)
tree6ae07845dc54e87f01df5c0e98455db605ebb982
parentbaa83a8a579fc85ad72e440387c795029ab33442 (diff)
downloadruby-openssl-3436bd040d8ea6abe71ac883a4254b4c651c0fd5.tar.gz
require Ruby 2.6 or laterky/require-ruby-2.6
Drop support for Ruby 2.3, 2.4, and 2.5. As of 2021-10, Ruby 2.6 is the oldest version that still receives security fixes from the Ruby core team, so it doesn't make much sense to keep code for those ancient versions.
-rw-r--r--.github/workflows/test.yml4
-rw-r--r--ext/openssl/ossl.h1
-rw-r--r--ext/openssl/ossl_pkey_ec.c3
-rw-r--r--ext/openssl/ruby_missing.h24
-rw-r--r--lib/openssl/buffering.rb12
-rw-r--r--openssl.gemspec2
-rw-r--r--test/openssl/utils.rb12
7 files changed, 7 insertions, 51 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index f5b6bd92..bfb77536 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -11,7 +11,7 @@ jobs:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest ]
- ruby: [ head, "3.0", "2.7", "2.6", "2.5", "2.4", "2.3" ]
+ ruby: [ head, "3.0", "2.7", "2.6" ]
steps:
- name: repo checkout
uses: actions/checkout@v2
@@ -38,7 +38,7 @@ jobs:
fail-fast: false
matrix:
os: [ windows-latest ]
- ruby: [ mswin, mingw, "3.0", "2.7", "2.6", "2.5", "2.4", "2.3" ]
+ ruby: [ mswin, mingw, "3.0", "2.7", "2.6" ]
steps:
- name: repo checkout
uses: actions/checkout@v2
diff --git a/ext/openssl/ossl.h b/ext/openssl/ossl.h
index 65d022c7..be9dcbdf 100644
--- a/ext/openssl/ossl.h
+++ b/ext/openssl/ossl.h
@@ -155,7 +155,6 @@ void ossl_debug(const char *, ...);
* Include all parts
*/
#include "openssl_missing.h"
-#include "ruby_missing.h"
#include "ossl_asn1.h"
#include "ossl_bio.h"
#include "ossl_bn.h"
diff --git a/ext/openssl/ossl_pkey_ec.c b/ext/openssl/ossl_pkey_ec.c
index a4a61436..47de7ccd 100644
--- a/ext/openssl/ossl_pkey_ec.c
+++ b/ext/openssl/ossl_pkey_ec.c
@@ -598,9 +598,6 @@ static VALUE ossl_ec_group_initialize(int argc, VALUE *argv, VALUE self)
ossl_raise(rb_eArgError, "wrong number of arguments");
}
-#if !defined(LIKELY) && !defined(RB_LIKELY)
-#define LIKELY(x) (x)
-#endif
ASSUME(group);
RTYPEDDATA_DATA(self) = group;
diff --git a/ext/openssl/ruby_missing.h b/ext/openssl/ruby_missing.h
deleted file mode 100644
index 069acc8b..00000000
--- a/ext/openssl/ruby_missing.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 'OpenSSL for Ruby' project
- * Copyright (C) 2001-2003 Michal Rokos <m.rokos@sh.cvut.cz>
- * All rights reserved.
- */
-/*
- * This program is licensed under the same licence as Ruby.
- * (See the file 'LICENCE'.)
- */
-#if !defined(_OSSL_RUBY_MISSING_H_)
-#define _OSSL_RUBY_MISSING_H_
-
-/* Ruby 2.4 */
-#ifndef RB_INTEGER_TYPE_P
-# define RB_INTEGER_TYPE_P(obj) (RB_FIXNUM_P(obj) || RB_TYPE_P(obj, T_BIGNUM))
-#endif
-
-/* Ruby 2.5 */
-#ifndef ST2FIX
-# define RB_ST2FIX(h) LONG2FIX((long)(h))
-# define ST2FIX(h) RB_ST2FIX(h)
-#endif
-
-#endif /* _OSSL_RUBY_MISSING_H_ */
diff --git a/lib/openssl/buffering.rb b/lib/openssl/buffering.rb
index 116179d2..d47e1082 100644
--- a/lib/openssl/buffering.rb
+++ b/lib/openssl/buffering.rb
@@ -99,16 +99,6 @@ module OpenSSL::Buffering
end
end
- if "".respond_to?(:unpack1)
- def unpack_byte(str)
- str.unpack1("C")
- end
- else
- def unpack_byte(str)
- str.unpack("C").first
- end
- end
-
public
# call-seq:
@@ -117,7 +107,7 @@ module OpenSSL::Buffering
# Get the next 8bit byte from `ssl`. Returns `nil` on EOF
def getbyte
byte = read(1)
- byte && unpack_byte(byte)
+ byte && byte.unpack1("C")
end
##
diff --git a/openssl.gemspec b/openssl.gemspec
index e9fd351a..38bcb9db 100644
--- a/openssl.gemspec
+++ b/openssl.gemspec
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
spec.extra_rdoc_files = Dir["*.md"]
spec.rdoc_options = ["--main", "README.md"]
- spec.required_ruby_version = ">= 2.3.0"
+ spec.required_ruby_version = ">= 2.6.0"
spec.metadata["msys2_mingw_dependencies"] = "openssl"
end
diff --git a/test/openssl/utils.rb b/test/openssl/utils.rb
index ab5fab4b..85b771dc 100644
--- a/test/openssl/utils.rb
+++ b/test/openssl/utils.rb
@@ -236,9 +236,7 @@ class OpenSSL::SSLTestCase < OpenSSL::TestCase
threads = []
begin
server_thread = Thread.new do
- if Thread.method_defined?(:report_on_exception=) # Ruby >= 2.4
- Thread.current.report_on_exception = false
- end
+ Thread.current.report_on_exception = false
begin
loop do
@@ -254,9 +252,7 @@ class OpenSSL::SSLTestCase < OpenSSL::TestCase
end
th = Thread.new do
- if Thread.method_defined?(:report_on_exception=)
- Thread.current.report_on_exception = false
- end
+ Thread.current.report_on_exception = false
begin
server_proc.call(ctx, ssl)
@@ -273,9 +269,7 @@ class OpenSSL::SSLTestCase < OpenSSL::TestCase
end
client_thread = Thread.new do
- if Thread.method_defined?(:report_on_exception=)
- Thread.current.report_on_exception = false
- end
+ Thread.current.report_on_exception = false
begin
block.call(port)