openssl 3.3.3 → 4.0.0

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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +3 -0
  3. data/History.md +81 -12
  4. data/README.md +12 -11
  5. data/ext/openssl/extconf.rb +29 -72
  6. data/ext/openssl/openssl_missing.h +0 -233
  7. data/ext/openssl/ossl.c +279 -300
  8. data/ext/openssl/ossl.h +13 -9
  9. data/ext/openssl/ossl_asn1.c +610 -423
  10. data/ext/openssl/ossl_asn1.h +15 -1
  11. data/ext/openssl/ossl_bio.c +3 -3
  12. data/ext/openssl/ossl_bn.c +286 -291
  13. data/ext/openssl/ossl_cipher.c +252 -203
  14. data/ext/openssl/ossl_cipher.h +10 -1
  15. data/ext/openssl/ossl_config.c +1 -6
  16. data/ext/openssl/ossl_digest.c +74 -43
  17. data/ext/openssl/ossl_digest.h +9 -1
  18. data/ext/openssl/ossl_engine.c +39 -103
  19. data/ext/openssl/ossl_hmac.c +30 -36
  20. data/ext/openssl/ossl_kdf.c +42 -53
  21. data/ext/openssl/ossl_ns_spki.c +27 -32
  22. data/ext/openssl/ossl_ocsp.c +209 -236
  23. data/ext/openssl/ossl_pkcs12.c +26 -26
  24. data/ext/openssl/ossl_pkcs7.c +176 -146
  25. data/ext/openssl/ossl_pkey.c +102 -158
  26. data/ext/openssl/ossl_pkey.h +99 -99
  27. data/ext/openssl/ossl_pkey_dh.c +31 -68
  28. data/ext/openssl/ossl_pkey_dsa.c +15 -54
  29. data/ext/openssl/ossl_pkey_ec.c +179 -237
  30. data/ext/openssl/ossl_pkey_rsa.c +56 -103
  31. data/ext/openssl/ossl_provider.c +0 -5
  32. data/ext/openssl/ossl_rand.c +7 -14
  33. data/ext/openssl/ossl_ssl.c +478 -353
  34. data/ext/openssl/ossl_ssl.h +8 -8
  35. data/ext/openssl/ossl_ssl_session.c +93 -97
  36. data/ext/openssl/ossl_ts.c +79 -125
  37. data/ext/openssl/ossl_x509.c +9 -28
  38. data/ext/openssl/ossl_x509.h +6 -6
  39. data/ext/openssl/ossl_x509attr.c +35 -57
  40. data/ext/openssl/ossl_x509cert.c +73 -104
  41. data/ext/openssl/ossl_x509crl.c +80 -91
  42. data/ext/openssl/ossl_x509ext.c +45 -75
  43. data/ext/openssl/ossl_x509name.c +64 -91
  44. data/ext/openssl/ossl_x509req.c +57 -64
  45. data/ext/openssl/ossl_x509revoked.c +29 -44
  46. data/ext/openssl/ossl_x509store.c +41 -57
  47. data/lib/openssl/buffering.rb +30 -24
  48. data/lib/openssl/digest.rb +1 -1
  49. data/lib/openssl/pkey.rb +71 -49
  50. data/lib/openssl/ssl.rb +12 -79
  51. data/lib/openssl/version.rb +2 -1
  52. data/lib/openssl/x509.rb +9 -0
  53. data/lib/openssl.rb +9 -6
  54. metadata +2 -4
  55. data/ext/openssl/openssl_missing.c +0 -41
  56. data/lib/openssl/asn1.rb +0 -188
data/ext/openssl/ossl.h CHANGED
@@ -74,6 +74,10 @@
74
74
  # include <openssl/provider.h>
75
75
  #endif
76
76
 
77
+ #if OSSL_OPENSSL_PREREQ(3, 0, 0)
78
+ # define OSSL_HAVE_IMMUTABLE_PKEY
79
+ #endif
80
+
77
81
  /*
78
82
  * Common Module
79
83
  */
@@ -88,10 +92,10 @@ extern VALUE eOSSLError;
88
92
  * CheckTypes
89
93
  */
90
94
  #define OSSL_Check_Kind(obj, klass) do {\
91
- if (!rb_obj_is_kind_of((obj), (klass))) {\
92
- ossl_raise(rb_eTypeError, "wrong argument (%"PRIsVALUE")! (Expected kind of %"PRIsVALUE")",\
93
- rb_obj_class(obj), (klass));\
94
- }\
95
+ if (!rb_obj_is_kind_of((obj), (klass))) {\
96
+ ossl_raise(rb_eTypeError, "wrong argument (%"PRIsVALUE")! (Expected kind of %"PRIsVALUE")",\
97
+ rb_obj_class(obj), (klass));\
98
+ }\
95
99
  } while (0)
96
100
 
97
101
  /*
@@ -170,11 +174,11 @@ VALUE ossl_to_der_if_possible(VALUE);
170
174
  extern VALUE dOSSL;
171
175
 
172
176
  #define OSSL_Debug(...) do { \
173
- if (dOSSL == Qtrue) { \
174
- fprintf(stderr, "OSSL_DEBUG: "); \
175
- fprintf(stderr, __VA_ARGS__); \
176
- fprintf(stderr, " [%s:%d]\n", __FILE__, __LINE__); \
177
- } \
177
+ if (dOSSL == Qtrue) { \
178
+ fprintf(stderr, "OSSL_DEBUG: "); \
179
+ fprintf(stderr, __VA_ARGS__); \
180
+ fprintf(stderr, " [%s:%d]\n", __FILE__, __LINE__); \
181
+ } \
178
182
  } while (0)
179
183
 
180
184
  /*