openssl 3.3.2 → 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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +3 -0
  3. data/History.md +85 -0
  4. data/README.md +12 -11
  5. data/ext/openssl/extconf.rb +30 -69
  6. data/ext/openssl/openssl_missing.h +0 -206
  7. data/ext/openssl/ossl.c +280 -301
  8. data/ext/openssl/ossl.h +15 -10
  9. data/ext/openssl/ossl_asn1.c +598 -406
  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 +31 -37
  22. data/ext/openssl/ossl_ocsp.c +214 -241
  23. data/ext/openssl/ossl_pkcs12.c +26 -26
  24. data/ext/openssl/ossl_pkcs7.c +175 -145
  25. data/ext/openssl/ossl_pkey.c +162 -178
  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 -7
  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 +81 -127
  37. data/ext/openssl/ossl_x509.c +9 -28
  38. data/ext/openssl/ossl_x509attr.c +33 -54
  39. data/ext/openssl/ossl_x509cert.c +69 -100
  40. data/ext/openssl/ossl_x509crl.c +78 -89
  41. data/ext/openssl/ossl_x509ext.c +45 -66
  42. data/ext/openssl/ossl_x509name.c +63 -88
  43. data/ext/openssl/ossl_x509req.c +55 -62
  44. data/ext/openssl/ossl_x509revoked.c +27 -41
  45. data/ext/openssl/ossl_x509store.c +38 -56
  46. data/lib/openssl/buffering.rb +30 -24
  47. data/lib/openssl/digest.rb +1 -1
  48. data/lib/openssl/pkey.rb +71 -49
  49. data/lib/openssl/ssl.rb +12 -79
  50. data/lib/openssl/version.rb +2 -1
  51. data/lib/openssl/x509.rb +9 -0
  52. data/lib/openssl.rb +9 -6
  53. metadata +1 -3
  54. data/ext/openssl/openssl_missing.c +0 -40
  55. data/lib/openssl/asn1.rb +0 -188
data/ext/openssl/ossl.h CHANGED
@@ -71,6 +71,11 @@
71
71
 
72
72
  #if OSSL_OPENSSL_PREREQ(3, 0, 0)
73
73
  # define OSSL_USE_PROVIDER
74
+ # include <openssl/provider.h>
75
+ #endif
76
+
77
+ #if OSSL_OPENSSL_PREREQ(3, 0, 0)
78
+ # define OSSL_HAVE_IMMUTABLE_PKEY
74
79
  #endif
75
80
 
76
81
  /*
@@ -87,10 +92,10 @@ extern VALUE eOSSLError;
87
92
  * CheckTypes
88
93
  */
89
94
  #define OSSL_Check_Kind(obj, klass) do {\
90
- if (!rb_obj_is_kind_of((obj), (klass))) {\
91
- ossl_raise(rb_eTypeError, "wrong argument (%"PRIsVALUE")! (Expected kind of %"PRIsVALUE")",\
92
- rb_obj_class(obj), (klass));\
93
- }\
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
+ }\
94
99
  } while (0)
95
100
 
96
101
  /*
@@ -126,7 +131,7 @@ do{\
126
131
  * Convert binary string to hex string. The caller is responsible for
127
132
  * ensuring out has (2 * len) bytes of capacity.
128
133
  */
129
- void ossl_bin2hex(unsigned char *in, char *out, size_t len);
134
+ void ossl_bin2hex(const unsigned char *in, char *out, size_t len);
130
135
 
131
136
  /*
132
137
  * Our default PEM callback
@@ -169,11 +174,11 @@ VALUE ossl_to_der_if_possible(VALUE);
169
174
  extern VALUE dOSSL;
170
175
 
171
176
  #define OSSL_Debug(...) do { \
172
- if (dOSSL == Qtrue) { \
173
- fprintf(stderr, "OSSL_DEBUG: "); \
174
- fprintf(stderr, __VA_ARGS__); \
175
- fprintf(stderr, " [%s:%d]\n", __FILE__, __LINE__); \
176
- } \
177
+ if (dOSSL == Qtrue) { \
178
+ fprintf(stderr, "OSSL_DEBUG: "); \
179
+ fprintf(stderr, __VA_ARGS__); \
180
+ fprintf(stderr, " [%s:%d]\n", __FILE__, __LINE__); \
181
+ } \
177
182
  } while (0)
178
183
 
179
184
  /*