openssl: avoid d2i_ASN1_BOOLEAN()
* ext/openssl/ossl_asn1.c (decode_bool): Do the same thing as d2i_ASN1_BOOLEAN() does by ourselves. This function is removed in OpenSSL 1.1.0. [ruby-core:75225] [Feature #12324] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
0a523ab20d
commit
c7b583a744
@ -1,3 +1,10 @@
|
||||
Mon Jun 6 01:18:10 2016 Kazuki Yamaguchi <k@rhe.jp>
|
||||
|
||||
* ext/openssl/ossl_asn1.c (decode_bool): Do the same thing as
|
||||
d2i_ASN1_BOOLEAN() does by ourselves. This function is removed in
|
||||
OpenSSL 1.1.0.
|
||||
[ruby-core:75225] [Feature #12324]
|
||||
|
||||
Mon Jun 6 00:34:16 2016 Kazuki Yamaguchi <k@rhe.jp>
|
||||
|
||||
* ext/openssl/extconf.rb: Check existence of accessor functions that
|
||||
|
@ -357,14 +357,15 @@ obj_to_asn1derstr(VALUE obj)
|
||||
static VALUE
|
||||
decode_bool(unsigned char* der, long length)
|
||||
{
|
||||
int val;
|
||||
const unsigned char *p;
|
||||
const unsigned char *p = der;
|
||||
|
||||
p = der;
|
||||
if((val = d2i_ASN1_BOOLEAN(NULL, &p, length)) < 0)
|
||||
ossl_raise(eASN1Error, NULL);
|
||||
assert(length == 3);
|
||||
if (*p++ != 1)
|
||||
ossl_raise(eASN1Error, "not a boolean");
|
||||
if (*p++ != 1)
|
||||
ossl_raise(eASN1Error, "length is not 1");
|
||||
|
||||
return val ? Qtrue : Qfalse;
|
||||
return *p ? Qtrue : Qfalse;
|
||||
}
|
||||
|
||||
static VALUE
|
||||
|
Loading…
x
Reference in New Issue
Block a user