Skip to content

Commit c002382

Browse files
committed
Constify when building with OpenSSL 3
1 parent f2311d5 commit c002382

File tree

7 files changed

+34
-28
lines changed

7 files changed

+34
-28
lines changed

ext/openssl/ossl.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@
5252
(LIBRESSL_VERSION_NUMBER >= ((maj << 28) | (min << 20) | (pat << 12)))
5353
#endif
5454

55+
#if OSSL_OPENSSL_PREREQ(3, 0, 0)
56+
# define OSSL_3_const const
57+
#else
58+
# define OSSL_3_const /* const */
59+
#endif
60+
5561
#if !defined(OPENSSL_NO_ENGINE) && !OSSL_OPENSSL_PREREQ(3, 0, 0)
5662
# define OSSL_USE_ENGINE
5763
#endif

ext/openssl/ossl_pkey.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ void Init_ossl_ec(void);
9292
*/ \
9393
static VALUE ossl_##_keytype##_get_##_name(VALUE self) \
9494
{ \
95-
_type *obj; \
95+
const _type *obj; \
9696
const BIGNUM *bn; \
9797
\
9898
Get##_type(self, obj); \

ext/openssl/ossl_pkey_dh.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ ossl_dh_initialize_copy(VALUE self, VALUE other)
178178
static VALUE
179179
ossl_dh_is_public(VALUE self)
180180
{
181-
DH *dh;
181+
OSSL_3_const DH *dh;
182182
const BIGNUM *bn;
183183

184184
GetDH(self, dh);
@@ -197,14 +197,14 @@ ossl_dh_is_public(VALUE self)
197197
static VALUE
198198
ossl_dh_is_private(VALUE self)
199199
{
200-
DH *dh;
200+
OSSL_3_const DH *dh;
201201
const BIGNUM *bn;
202202

203203
GetDH(self, dh);
204204
DH_get0_key(dh, NULL, &bn);
205205

206206
#if !defined(OPENSSL_NO_ENGINE)
207-
return (bn || DH_get0_engine(dh)) ? Qtrue : Qfalse;
207+
return (bn || DH_get0_engine((DH *)dh)) ? Qtrue : Qfalse;
208208
#else
209209
return bn ? Qtrue : Qfalse;
210210
#endif
@@ -223,7 +223,7 @@ ossl_dh_is_private(VALUE self)
223223
static VALUE
224224
ossl_dh_export(VALUE self)
225225
{
226-
DH *dh;
226+
OSSL_3_const DH *dh;
227227
BIO *out;
228228
VALUE str;
229229

@@ -252,7 +252,7 @@ ossl_dh_export(VALUE self)
252252
static VALUE
253253
ossl_dh_to_der(VALUE self)
254254
{
255-
DH *dh;
255+
OSSL_3_const DH *dh;
256256
unsigned char *p;
257257
long len;
258258
VALUE str;
@@ -280,7 +280,7 @@ ossl_dh_to_der(VALUE self)
280280
static VALUE
281281
ossl_dh_get_params(VALUE self)
282282
{
283-
DH *dh;
283+
OSSL_3_const DH *dh;
284284
VALUE hash;
285285
const BIGNUM *p, *q, *g, *pub_key, *priv_key;
286286

ext/openssl/ossl_pkey_dsa.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@
2424
} while (0)
2525

2626
static inline int
27-
DSA_HAS_PRIVATE(DSA *dsa)
27+
DSA_HAS_PRIVATE(OSSL_3_const DSA *dsa)
2828
{
2929
const BIGNUM *bn;
3030
DSA_get0_key(dsa, NULL, &bn);
3131
return !!bn;
3232
}
3333

3434
static inline int
35-
DSA_PRIVATE(VALUE obj, DSA *dsa)
35+
DSA_PRIVATE(VALUE obj, OSSL_3_const DSA *dsa)
3636
{
3737
return DSA_HAS_PRIVATE(dsa) || OSSL_PKEY_IS_PRIVATE(obj);
3838
}
@@ -179,7 +179,7 @@ ossl_dsa_initialize_copy(VALUE self, VALUE other)
179179
static VALUE
180180
ossl_dsa_is_public(VALUE self)
181181
{
182-
DSA *dsa;
182+
const DSA *dsa;
183183
const BIGNUM *bn;
184184

185185
GetDSA(self, dsa);
@@ -198,7 +198,7 @@ ossl_dsa_is_public(VALUE self)
198198
static VALUE
199199
ossl_dsa_is_private(VALUE self)
200200
{
201-
DSA *dsa;
201+
OSSL_3_const DSA *dsa;
202202

203203
GetDSA(self, dsa);
204204

@@ -225,7 +225,7 @@ ossl_dsa_is_private(VALUE self)
225225
static VALUE
226226
ossl_dsa_export(int argc, VALUE *argv, VALUE self)
227227
{
228-
DSA *dsa;
228+
OSSL_3_const DSA *dsa;
229229

230230
GetDSA(self, dsa);
231231
if (DSA_HAS_PRIVATE(dsa))
@@ -244,7 +244,7 @@ ossl_dsa_export(int argc, VALUE *argv, VALUE self)
244244
static VALUE
245245
ossl_dsa_to_der(VALUE self)
246246
{
247-
DSA *dsa;
247+
OSSL_3_const DSA *dsa;
248248

249249
GetDSA(self, dsa);
250250
if (DSA_HAS_PRIVATE(dsa))
@@ -265,7 +265,7 @@ ossl_dsa_to_der(VALUE self)
265265
static VALUE
266266
ossl_dsa_get_params(VALUE self)
267267
{
268-
DSA *dsa;
268+
OSSL_3_const DSA *dsa;
269269
VALUE hash;
270270
const BIGNUM *p, *q, *g, *pub_key, *priv_key;
271271

ext/openssl/ossl_pkey_ec.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ ossl_ec_key_initialize_copy(VALUE self, VALUE other)
227227
static VALUE
228228
ossl_ec_key_get_group(VALUE self)
229229
{
230-
EC_KEY *ec;
230+
OSSL_3_const EC_KEY *ec;
231231
const EC_GROUP *group;
232232

233233
GetEC(self, ec);
@@ -272,7 +272,7 @@ ossl_ec_key_set_group(VALUE self, VALUE group_v)
272272
*/
273273
static VALUE ossl_ec_key_get_private_key(VALUE self)
274274
{
275-
EC_KEY *ec;
275+
OSSL_3_const EC_KEY *ec;
276276
const BIGNUM *bn;
277277

278278
GetEC(self, ec);
@@ -323,7 +323,7 @@ static VALUE ossl_ec_key_set_private_key(VALUE self, VALUE private_key)
323323
*/
324324
static VALUE ossl_ec_key_get_public_key(VALUE self)
325325
{
326-
EC_KEY *ec;
326+
OSSL_3_const EC_KEY *ec;
327327
const EC_POINT *point;
328328

329329
GetEC(self, ec);
@@ -375,7 +375,7 @@ static VALUE ossl_ec_key_set_public_key(VALUE self, VALUE public_key)
375375
*/
376376
static VALUE ossl_ec_key_is_public(VALUE self)
377377
{
378-
EC_KEY *ec;
378+
OSSL_3_const EC_KEY *ec;
379379

380380
GetEC(self, ec);
381381

@@ -391,7 +391,7 @@ static VALUE ossl_ec_key_is_public(VALUE self)
391391
*/
392392
static VALUE ossl_ec_key_is_private(VALUE self)
393393
{
394-
EC_KEY *ec;
394+
OSSL_3_const EC_KEY *ec;
395395

396396
GetEC(self, ec);
397397

@@ -411,7 +411,7 @@ static VALUE ossl_ec_key_is_private(VALUE self)
411411
static VALUE
412412
ossl_ec_key_export(int argc, VALUE *argv, VALUE self)
413413
{
414-
EC_KEY *ec;
414+
OSSL_3_const EC_KEY *ec;
415415

416416
GetEC(self, ec);
417417
if (EC_KEY_get0_public_key(ec) == NULL)
@@ -431,7 +431,7 @@ ossl_ec_key_export(int argc, VALUE *argv, VALUE self)
431431
static VALUE
432432
ossl_ec_key_to_der(VALUE self)
433433
{
434-
EC_KEY *ec;
434+
OSSL_3_const EC_KEY *ec;
435435

436436
GetEC(self, ec);
437437
if (EC_KEY_get0_public_key(ec) == NULL)

ext/openssl/ossl_pkey_rsa.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
} while (0)
2525

2626
static inline int
27-
RSA_HAS_PRIVATE(RSA *rsa)
27+
RSA_HAS_PRIVATE(OSSL_3_const RSA *rsa)
2828
{
2929
const BIGNUM *e, *d;
3030

@@ -33,7 +33,7 @@ RSA_HAS_PRIVATE(RSA *rsa)
3333
}
3434

3535
static inline int
36-
RSA_PRIVATE(VALUE obj, RSA *rsa)
36+
RSA_PRIVATE(VALUE obj, OSSL_3_const RSA *rsa)
3737
{
3838
return RSA_HAS_PRIVATE(rsa) || OSSL_PKEY_IS_PRIVATE(obj);
3939
}
@@ -174,7 +174,7 @@ ossl_rsa_initialize_copy(VALUE self, VALUE other)
174174
static VALUE
175175
ossl_rsa_is_public(VALUE self)
176176
{
177-
RSA *rsa;
177+
OSSL_3_const RSA *rsa;
178178

179179
GetRSA(self, rsa);
180180
/*
@@ -193,7 +193,7 @@ ossl_rsa_is_public(VALUE self)
193193
static VALUE
194194
ossl_rsa_is_private(VALUE self)
195195
{
196-
RSA *rsa;
196+
OSSL_3_const RSA *rsa;
197197

198198
GetRSA(self, rsa);
199199

@@ -203,7 +203,7 @@ ossl_rsa_is_private(VALUE self)
203203
static int
204204
can_export_rsaprivatekey(VALUE self)
205205
{
206-
RSA *rsa;
206+
OSSL_3_const RSA *rsa;
207207
const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp;
208208

209209
GetRSA(self, rsa);
@@ -453,7 +453,7 @@ ossl_rsa_verify_pss(int argc, VALUE *argv, VALUE self)
453453
static VALUE
454454
ossl_rsa_get_params(VALUE self)
455455
{
456-
RSA *rsa;
456+
OSSL_3_const RSA *rsa;
457457
VALUE hash;
458458
const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp;
459459

ext/openssl/ossl_ssl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ ossl_tmp_dh_callback(SSL *ssl, int is_export, int keylength)
291291
if (!pkey)
292292
return NULL;
293293

294-
return EVP_PKEY_get0_DH(pkey);
294+
return (DH *)EVP_PKEY_get0_DH(pkey);
295295
}
296296
#endif /* OPENSSL_NO_DH */
297297

0 commit comments

Comments
 (0)