diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2016-08-26 01:53:27 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2016-08-26 02:12:37 +0900 |
commit | bb170849428dab1463a8e6ec6109beb0d9da0058 (patch) | |
tree | 310d1b4d1e6082ddfc0bdf11ae44a673e2c56c26 /ext/openssl/ossl_x509revoked.c | |
parent | a3311831a1b16beea04cd716769def7bd9887bd3 (diff) | |
download | ruby-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.c | 19 |
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; } |