@@ -90,31 +90,39 @@ public static void createOpenSSL(final Ruby runtime) {
90
90
// OpenSSL::VERSION: "1.0.0"
91
91
// OpenSSL::OPENSSL_VERSION: "OpenSSL 1.0.1c 10 May 2012"
92
92
// OpenSSL::OPENSSL_VERSION_NUMBER: 268439615
93
- // MRI 1.9.3 / 2.1.2 :
93
+ // MRI 1.9.3 / 2.2.3 :
94
94
// OpenSSL::VERSION: "1.1.0"
95
95
// OpenSSL::OPENSSL_VERSION: "OpenSSL 1.0.1f 6 Jan 2014"
96
96
// OpenSSL::OPENSSL_VERSION_NUMBER: 268439663
97
+ // OpenSSL::OPENSSL_LIBRARY_VERSION: ""OpenSSL 1.0.2d 9 Jul 2015"
98
+ // OpenSSL::FIPS: false
97
99
98
100
final byte [] version = { '1' ,'.' ,'1' ,'.' ,'0' };
101
+ final boolean ruby18 = runtime .getInstanceConfig ().getCompatVersion () == CompatVersion .RUBY1_8 ;
102
+ if ( ruby18 ) version [2 ] = '0' ; // 1.0.0 compatible on 1.8
99
103
100
- if ( runtime .getInstanceConfig ().getCompatVersion () == CompatVersion .RUBY1_8 ) {
101
- version [2 ] = '0' ;
102
- } // 1.0.0 compatible on 1.8
103
104
_OpenSSL .setConstant ("VERSION" , StringHelper .newString (runtime , version ));
104
105
105
106
final RubyModule _Jopenssl = runtime .getModule ("Jopenssl" );
106
107
final RubyModule _Version = (RubyModule ) _Jopenssl .getConstantAt ("Version" );
107
108
final RubyString jVERSION = _Version .getConstantAt ("VERSION" ).asString ();
108
109
109
110
final byte [] JRuby_OpenSSL_ = { 'J' ,'R' ,'u' ,'b' ,'y' ,'-' ,'O' ,'p' ,'e' ,'n' ,'S' ,'S' ,'L' ,' ' };
110
- final int OPENSSL_VERSION_NUMBER = 999999999 ; // 9469999 do smt useful with it ?
111
+ final int OPENSSL_VERSION_NUMBER = 999999999 ; // NOTE: smt more useful ?
111
112
112
113
ByteList OPENSSL_VERSION = new ByteList ( jVERSION .getByteList ().length () + JRuby_OpenSSL_ .length );
113
114
OPENSSL_VERSION .setEncoding ( jVERSION .getEncoding () );
114
115
OPENSSL_VERSION .append ( JRuby_OpenSSL_ );
115
116
OPENSSL_VERSION .append ( jVERSION .getByteList () );
116
- _OpenSSL .setConstant ("OPENSSL_VERSION" , runtime .newString (OPENSSL_VERSION ));
117
+
118
+ final RubyString VERSION ;
119
+ _OpenSSL .setConstant ("OPENSSL_VERSION" , VERSION = runtime .newString (OPENSSL_VERSION ));
117
120
_OpenSSL .setConstant ("OPENSSL_VERSION_NUMBER" , runtime .newFixnum (OPENSSL_VERSION_NUMBER ));
121
+ if ( ! ruby18 ) {
122
+ // MRI 2.3 tests do: /\AOpenSSL +0\./ !~ OpenSSL::OPENSSL_LIBRARY_VERSION
123
+ _OpenSSL .setConstant ("OPENSSL_LIBRARY_VERSION" , VERSION );
124
+ _OpenSSL .setConstant ("OPENSSL_FIPS" , runtime .getFalse ());
125
+ }
118
126
}
119
127
120
128
static RubyClass _OpenSSLError (final Ruby runtime ) {
0 commit comments