@@ -1732,6 +1732,22 @@ no_exception_p(VALUE opts)
1732
1732
#endif
1733
1733
1734
1734
1735
+ int ossl_ssl_connect_impl (SSL * ssl )
1736
+ {
1737
+ return SSL_connect (ssl );
1738
+ }
1739
+
1740
+ int ossl_ssl_read_impl (SSL * ssl , VALUE str , int ilen )
1741
+ {
1742
+ return SSL_read (ssl , RSTRING_PTR (str ), ilen );
1743
+ }
1744
+
1745
+ int ossl_ssl_write_impl (SSL * ssl , VALUE tmp , int num )
1746
+ {
1747
+ return SSL_write (ssl , RSTRING_PTR (tmp ), num );
1748
+ }
1749
+
1750
+
1735
1751
static void
1736
1752
io_wait_writable (VALUE io )
1737
1753
{
@@ -1848,7 +1864,7 @@ ossl_ssl_connect(VALUE self)
1848
1864
{
1849
1865
ossl_ssl_setup (self );
1850
1866
1851
- return ossl_start_ssl (self , SSL_connect , "SSL_connect" , Qfalse );
1867
+ return ossl_start_ssl (self , ossl_ssl_connect_impl , "SSL_connect" , Qfalse );
1852
1868
}
1853
1869
1854
1870
/*
@@ -1881,7 +1897,7 @@ ossl_ssl_connect_nonblock(int argc, VALUE *argv, VALUE self)
1881
1897
1882
1898
ossl_ssl_setup (self );
1883
1899
1884
- return ossl_start_ssl (self , SSL_connect , "SSL_connect" , opts );
1900
+ return ossl_start_ssl (self , ossl_ssl_connect_impl , "SSL_connect" , opts );
1885
1901
}
1886
1902
1887
1903
/*
@@ -1966,7 +1982,7 @@ ossl_ssl_read_internal(int argc, VALUE *argv, VALUE self, int nonblock)
1966
1982
1967
1983
rb_str_locktmp (str );
1968
1984
for (;;) {
1969
- int nread = SSL_read (ssl , RSTRING_PTR ( str ) , ilen );
1985
+ int nread = ossl_ssl_read_impl (ssl , str , ilen );
1970
1986
switch (ssl_get_error (ssl , nread )) {
1971
1987
case SSL_ERROR_NONE :
1972
1988
rb_str_unlocktmp (str );
@@ -2072,7 +2088,7 @@ ossl_ssl_write_internal(VALUE self, VALUE str, VALUE opts)
2072
2088
return INT2FIX (0 );
2073
2089
2074
2090
for (;;) {
2075
- int nwritten = SSL_write (ssl , RSTRING_PTR ( tmp ) , num );
2091
+ int nwritten = ossl_ssl_write_impl (ssl , tmp , num );
2076
2092
switch (ssl_get_error (ssl , nwritten )) {
2077
2093
case SSL_ERROR_NONE :
2078
2094
return INT2NUM (nwritten );
0 commit comments