openssl 3.3.0 → 3.3.1

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: a8432d7080faee7ddacde9ce67046b585bed0364f1f63f3e34ca68e28b94c939
4
- data.tar.gz: 2e55e3ed68ce1bfa26d38e95481510d126282e4fb44b6f2379efe060cbc6a9d9
3
+ metadata.gz: 7a3b0d69bc08bb79d515fb7da072e3b1d577733e96ae8345c15d3075b158fcdd
4
+ data.tar.gz: a356d7aa88c016eedea776b2961c3715c6957d6d5dcd6fbd9f88b4f5c45c4a0f
5
5
  SHA512:
6
- metadata.gz: 8b47e7a7d5e2eb91a2beb38a3054f51bbec651823e4644ac16778d5a9d60545b8e53f8065ad8aa059d880d19aa01d7d5e171f8aea4d7262a62717221a4c47d1f
7
- data.tar.gz: b3fd16b1cbe564abcafcf849c9666644f6a74672bd65c4019ba008e7f377b1ed4b121d89d9bc6f8b38306ee0c76ed60e1df798b6fe3533d633389393263438f7
6
+ metadata.gz: c39f8504d95719f6eead6ad79f904215cf006062be30c0c11f8b7d56e0fe470a74b9bb90daa989ced9c3c0108ec6b1b44e1d800a9a30ed6582ed65ff144909b9
7
+ data.tar.gz: 3dd3c824bd9927df9c1e7b1c213c78262e013a2c3357c5c8067a0882d231f6b1040003ac087465e53f173411b6ca709d398282a05551019b5ff5739951c1198d
data/History.md CHANGED
@@ -1,3 +1,9 @@
1
+ Version 3.3.1
2
+ =============
3
+
4
+ Merged changes in 3.1.2 and 3.2.2.
5
+
6
+
1
7
  Version 3.3.0
2
8
  =============
3
9
 
@@ -74,6 +80,12 @@ And various non-user-visible changes and bug fixes. Please see the commit
74
80
  history for more details.
75
81
 
76
82
 
83
+ Version 3.2.2
84
+ =============
85
+
86
+ Merged changes in 3.1.2.
87
+
88
+
77
89
  Version 3.2.1
78
90
  =============
79
91
 
@@ -120,6 +132,23 @@ Notable changes
120
132
  [[GitHub #141]](https://github.com/ruby/openssl/pull/141)
121
133
 
122
134
 
135
+ Version 3.1.2
136
+ =============
137
+
138
+ Bug fixes
139
+ ---------
140
+
141
+ * Fix crash when attempting to export an incomplete `OpenSSL::PKey::DSA` key.
142
+ [[GitHub #845]](https://github.com/ruby/openssl/issues/845)
143
+ [[GitHub #847]](https://github.com/ruby/openssl/pull/847)
144
+ * Remove the `OpenSSL::X509::V_FLAG_CRL_CHECK_ALL` flag from the default store
145
+ used by `OpenSSL::SSL::SSLContext#set_params`. It causes certificate
146
+ verification to fail with OpenSSL 3.6.0. It has no effect with any other
147
+ OpenSSL versions.
148
+ [[GitHub #949]](https://github.com/ruby/openssl/issues/949)
149
+ [[GitHub #950]](https://github.com/ruby/openssl/pull/950)
150
+
151
+
123
152
  Version 3.1.1
124
153
  =============
125
154
 
@@ -937,6 +937,7 @@ ossl_pkey_export_spki(VALUE self, int to_der)
937
937
  BIO *bio;
938
938
 
939
939
  GetPKey(self, pkey);
940
+ ossl_pkey_check_public_key(pkey);
940
941
  bio = BIO_new(BIO_s_mem());
941
942
  if (!bio)
942
943
  ossl_raise(ePKeyError, "BIO_new");
@@ -1959,9 +1959,10 @@ ossl_ssl_read_internal(int argc, VALUE *argv, VALUE self, int nonblock)
1959
1959
 
1960
1960
  VALUE io = rb_attr_get(self, id_i_io);
1961
1961
 
1962
- rb_str_locktmp(str);
1963
1962
  for (;;) {
1963
+ rb_str_locktmp(str);
1964
1964
  int nread = SSL_read(ssl, RSTRING_PTR(str), ilen);
1965
+ rb_str_unlocktmp(str);
1965
1966
 
1966
1967
  cb_state = rb_attr_get(self, ID_callback_state);
1967
1968
  if (!NIL_P(cb_state)) {
@@ -1972,32 +1973,27 @@ ossl_ssl_read_internal(int argc, VALUE *argv, VALUE self, int nonblock)
1972
1973
 
1973
1974
  switch (ssl_get_error(ssl, nread)) {
1974
1975
  case SSL_ERROR_NONE:
1975
- rb_str_unlocktmp(str);
1976
1976
  rb_str_set_len(str, nread);
1977
1977
  return str;
1978
1978
  case SSL_ERROR_ZERO_RETURN:
1979
- rb_str_unlocktmp(str);
1980
1979
  if (no_exception_p(opts)) { return Qnil; }
1981
1980
  rb_eof_error();
1982
1981
  case SSL_ERROR_WANT_WRITE:
1983
1982
  if (nonblock) {
1984
- rb_str_unlocktmp(str);
1985
1983
  if (no_exception_p(opts)) { return sym_wait_writable; }
1986
1984
  write_would_block(nonblock);
1987
1985
  }
1988
1986
  io_wait_writable(io);
1989
- continue;
1987
+ break;
1990
1988
  case SSL_ERROR_WANT_READ:
1991
1989
  if (nonblock) {
1992
- rb_str_unlocktmp(str);
1993
1990
  if (no_exception_p(opts)) { return sym_wait_readable; }
1994
1991
  read_would_block(nonblock);
1995
1992
  }
1996
1993
  io_wait_readable(io);
1997
- continue;
1994
+ break;
1998
1995
  case SSL_ERROR_SYSCALL:
1999
1996
  if (!ERR_peek_error()) {
2000
- rb_str_unlocktmp(str);
2001
1997
  if (errno)
2002
1998
  rb_sys_fail(0);
2003
1999
  else {
@@ -2014,9 +2010,13 @@ ossl_ssl_read_internal(int argc, VALUE *argv, VALUE self, int nonblock)
2014
2010
  }
2015
2011
  /* fall through */
2016
2012
  default:
2017
- rb_str_unlocktmp(str);
2018
2013
  ossl_raise(eSSLError, "SSL_read");
2019
2014
  }
2015
+
2016
+ // Ensure the buffer is not modified during io_wait_*able()
2017
+ rb_str_modify(str);
2018
+ if (rb_str_capacity(str) < (size_t)ilen)
2019
+ rb_raise(eSSLError, "read buffer was modified");
2020
2020
  }
2021
2021
  }
2022
2022
 
data/lib/openssl/ssl.rb CHANGED
@@ -92,7 +92,6 @@ ssbzSibBsu/6iGtCOGEoXJf//////////wIBAg==
92
92
 
93
93
  DEFAULT_CERT_STORE = OpenSSL::X509::Store.new # :nodoc:
94
94
  DEFAULT_CERT_STORE.set_default_paths
95
- DEFAULT_CERT_STORE.flags = OpenSSL::X509::V_FLAG_CRL_CHECK_ALL
96
95
 
97
96
  # A callback invoked when DH parameters are required for ephemeral DH key
98
97
  # exchange.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenSSL
4
- VERSION = "3.3.0"
4
+ VERSION = "3.3.1"
5
5
  end
metadata CHANGED
@@ -1,17 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openssl
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Bosslet
8
8
  - SHIBATA Hiroshi
9
9
  - Zachary Scott
10
10
  - Kazuki Yamaguchi
11
- autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2024-12-21 00:00:00.000000000 Z
13
+ date: 1980-01-02 00:00:00.000000000 Z
15
14
  dependencies: []
16
15
  description: OpenSSL for Ruby provides access to SSL/TLS and general-purpose cryptography
17
16
  based on the OpenSSL library.
@@ -105,7 +104,6 @@ licenses:
105
104
  - BSD-2-Clause
106
105
  metadata:
107
106
  msys2_mingw_dependencies: openssl
108
- post_install_message:
109
107
  rdoc_options:
110
108
  - "--main"
111
109
  - README.md
@@ -122,8 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
120
  - !ruby/object:Gem::Version
123
121
  version: '0'
124
122
  requirements: []
125
- rubygems_version: 3.5.22
126
- signing_key:
123
+ rubygems_version: 3.6.9
127
124
  specification_version: 4
128
125
  summary: SSL/TLS and general-purpose cryptography for Ruby
129
126
  test_files: []