aboutsummaryrefslogtreecommitdiffstats
path: root/ext/openssl/ossl_x509revoked.c
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2016-08-26 01:53:27 +0900
committerKazuki Yamaguchi <k@rhe.jp>2016-08-26 02:12:37 +0900
commitbb170849428dab1463a8e6ec6109beb0d9da0058 (patch)
tree310d1b4d1e6082ddfc0bdf11ae44a673e2c56c26 /ext/openssl/ossl_x509revoked.c
parenta3311831a1b16beea04cd716769def7bd9887bd3 (diff)
downloadruby-openssl-bb170849428dab1463a8e6ec6109beb0d9da0058.tar.gz
Adapt to OpenSSL changes after the 1.1.0-pre6
Fix compiler errors and warnings. The order of parameters of X509_{CRL,REQ}_get0_signature() has been changed, and certificate and CRL time accessors have been reorganized: *_get_* functions are deprecated and replaced by *_get0_* that return a const pointer.
Diffstat (limited to 'ext/openssl/ossl_x509revoked.c')
-rw-r--r--ext/openssl/ossl_x509revoked.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/ext/openssl/ossl_x509revoked.c b/ext/openssl/ossl_x509revoked.c
index e5d59db2..7960ea34 100644
--- a/ext/openssl/ossl_x509revoked.c
+++ b/ext/openssl/ossl_x509revoked.c
@@ -142,11 +142,15 @@ static VALUE
ossl_x509revoked_set_serial(VALUE self, VALUE num)
{
X509_REVOKED *rev;
- ASN1_INTEGER *ai;
+ ASN1_INTEGER *asn1int;
GetX509Rev(self, rev);
- ai = X509_REVOKED_get0_serialNumber(rev);
- X509_REVOKED_set_serialNumber(rev, num_to_asn1integer(num, ai));
+ asn1int = num_to_asn1integer(num, NULL);
+ if (!X509_REVOKED_set_serialNumber(rev, asn1int)) {
+ ASN1_INTEGER_free(asn1int);
+ ossl_raise(eX509RevError, "X509_REVOKED_set_serialNumber");
+ }
+ ASN1_INTEGER_free(asn1int);
return num;
}
@@ -165,10 +169,15 @@ static VALUE
ossl_x509revoked_set_time(VALUE self, VALUE time)
{
X509_REVOKED *rev;
+ ASN1_TIME *asn1time;
GetX509Rev(self, rev);
- if (!ossl_x509_time_adjust(X509_REVOKED_get0_revocationDate(rev), time))
- ossl_raise(eX509RevError, NULL);
+ asn1time = ossl_x509_time_adjust(NULL, time);
+ if (!X509_REVOKED_set_revocationDate(rev, asn1time)) {
+ ASN1_TIME_free(asn1time);
+ ossl_raise(eX509RevError, "X509_REVOKED_set_revocationDate");
+ }
+ ASN1_TIME_free(asn1time);
return time;
}