@@ -34,43 +34,38 @@ static VALUE ossl_ssl_session_alloc(VALUE klass)
34
34
* Creates a new Session object from an instance of SSLSocket or DER/PEM encoded
35
35
* String.
36
36
*/
37
- static VALUE ossl_ssl_session_initialize (VALUE self , VALUE arg1 )
37
+ static VALUE
38
+ ossl_ssl_session_initialize (VALUE self , VALUE arg1 )
38
39
{
39
- SSL_SESSION * ctx = NULL ;
40
-
41
- if (RDATA (self )-> data )
42
- ossl_raise (eSSLSession , "SSL Session already initialized" );
43
-
44
- if (rb_obj_is_instance_of (arg1 , cSSLSocket )) {
45
- SSL * ssl ;
46
-
47
- GetSSL (arg1 , ssl );
48
-
49
- if ((ctx = SSL_get1_session (ssl )) == NULL )
50
- ossl_raise (eSSLSession , "no session available" );
51
- } else {
52
- BIO * in = ossl_obj2bio (& arg1 );
40
+ SSL_SESSION * ctx ;
53
41
54
- ctx = PEM_read_bio_SSL_SESSION (in , NULL , NULL , NULL );
42
+ if (RTYPEDDATA_DATA (self ))
43
+ ossl_raise (eSSLSession , "SSL Session already initialized" );
55
44
56
- if (!ctx ) {
57
- OSSL_BIO_reset (in );
58
- ctx = d2i_SSL_SESSION_bio (in , NULL );
59
- }
45
+ if (rb_obj_is_instance_of (arg1 , cSSLSocket )) {
46
+ SSL * ssl ;
60
47
61
- BIO_free ( in );
48
+ GetSSL ( arg1 , ssl );
62
49
63
- if (!ctx )
64
- ossl_raise (rb_eArgError , "unknown type" );
65
- }
50
+ if ((ctx = SSL_get1_session (ssl )) == NULL )
51
+ ossl_raise (eSSLSession , "no session available" );
52
+ }
53
+ else {
54
+ BIO * in = ossl_obj2bio (& arg1 );
66
55
67
- /* should not happen */
68
- if (ctx == NULL )
69
- ossl_raise (eSSLSession , "ctx not set - internal error" );
56
+ ctx = d2i_SSL_SESSION_bio (in , NULL );
57
+ if (!ctx ) {
58
+ OSSL_BIO_reset (in );
59
+ ctx = PEM_read_bio_SSL_SESSION (in , NULL , NULL , NULL );
60
+ }
61
+ BIO_free (in );
62
+ if (!ctx )
63
+ ossl_raise (rb_eArgError , "unknown type" );
64
+ }
70
65
71
- RDATA (self )-> data = ctx ;
66
+ RTYPEDDATA_DATA (self ) = ctx ;
72
67
73
- return self ;
68
+ return self ;
74
69
}
75
70
76
71
static VALUE
0 commit comments