[ruby/openssl] ssl: adjust styles of ossl_start_ssl()
Expand tabs, insert some spaces, and adjust indentation of switch-case to match Ruby's style. https://github.com/ruby/openssl/commit/10833aa8f6
This commit is contained in:
parent
af67ced3b0
commit
66a70582f4
@ -1765,62 +1765,62 @@ ossl_start_ssl(VALUE self, int (*func)(SSL *), const char *funcname, VALUE opts)
|
|||||||
GetSSL(self, ssl);
|
GetSSL(self, ssl);
|
||||||
|
|
||||||
VALUE io = rb_attr_get(self, id_i_io);
|
VALUE io = rb_attr_get(self, id_i_io);
|
||||||
for(;;){
|
for (;;) {
|
||||||
ret = func(ssl);
|
ret = func(ssl);
|
||||||
|
|
||||||
cb_state = rb_attr_get(self, ID_callback_state);
|
cb_state = rb_attr_get(self, ID_callback_state);
|
||||||
if (!NIL_P(cb_state)) {
|
if (!NIL_P(cb_state)) {
|
||||||
/* must cleanup OpenSSL error stack before re-raising */
|
/* must cleanup OpenSSL error stack before re-raising */
|
||||||
ossl_clear_error();
|
ossl_clear_error();
|
||||||
rb_jump_tag(NUM2INT(cb_state));
|
rb_jump_tag(NUM2INT(cb_state));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret > 0)
|
if (ret > 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
switch((ret2 = ssl_get_error(ssl, ret))){
|
switch ((ret2 = ssl_get_error(ssl, ret))) {
|
||||||
case SSL_ERROR_WANT_WRITE:
|
case SSL_ERROR_WANT_WRITE:
|
||||||
if (no_exception_p(opts)) { return sym_wait_writable; }
|
if (no_exception_p(opts)) { return sym_wait_writable; }
|
||||||
write_would_block(nonblock);
|
write_would_block(nonblock);
|
||||||
io_wait_writable(io);
|
io_wait_writable(io);
|
||||||
continue;
|
continue;
|
||||||
case SSL_ERROR_WANT_READ:
|
case SSL_ERROR_WANT_READ:
|
||||||
if (no_exception_p(opts)) { return sym_wait_readable; }
|
if (no_exception_p(opts)) { return sym_wait_readable; }
|
||||||
read_would_block(nonblock);
|
read_would_block(nonblock);
|
||||||
io_wait_readable(io);
|
io_wait_readable(io);
|
||||||
continue;
|
continue;
|
||||||
case SSL_ERROR_SYSCALL:
|
case SSL_ERROR_SYSCALL:
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
/* See ossl_ssl_write_internal() */
|
/* See ossl_ssl_write_internal() */
|
||||||
if (errno == EPROTOTYPE)
|
if (errno == EPROTOTYPE)
|
||||||
continue;
|
continue;
|
||||||
#endif
|
#endif
|
||||||
if (errno) rb_sys_fail(funcname);
|
if (errno) rb_sys_fail(funcname);
|
||||||
ossl_raise(eSSLError, "%s SYSCALL returned=%d errno=%d peeraddr=%"PRIsVALUE" state=%s",
|
ossl_raise(eSSLError, "%s SYSCALL returned=%d errno=%d peeraddr=%"PRIsVALUE" state=%s",
|
||||||
funcname, ret2, errno, peeraddr_ip_str(self), SSL_state_string_long(ssl));
|
funcname, ret2, errno, peeraddr_ip_str(self), SSL_state_string_long(ssl));
|
||||||
|
|
||||||
#if defined(SSL_R_CERTIFICATE_VERIFY_FAILED)
|
#if defined(SSL_R_CERTIFICATE_VERIFY_FAILED)
|
||||||
case SSL_ERROR_SSL:
|
case SSL_ERROR_SSL:
|
||||||
err = ERR_peek_last_error();
|
err = ERR_peek_last_error();
|
||||||
if (ERR_GET_LIB(err) == ERR_LIB_SSL &&
|
if (ERR_GET_LIB(err) == ERR_LIB_SSL &&
|
||||||
ERR_GET_REASON(err) == SSL_R_CERTIFICATE_VERIFY_FAILED) {
|
ERR_GET_REASON(err) == SSL_R_CERTIFICATE_VERIFY_FAILED) {
|
||||||
const char *err_msg = ERR_reason_error_string(err),
|
const char *err_msg = ERR_reason_error_string(err),
|
||||||
*verify_msg = X509_verify_cert_error_string(SSL_get_verify_result(ssl));
|
*verify_msg = X509_verify_cert_error_string(SSL_get_verify_result(ssl));
|
||||||
if (!err_msg)
|
if (!err_msg)
|
||||||
err_msg = "(null)";
|
err_msg = "(null)";
|
||||||
if (!verify_msg)
|
if (!verify_msg)
|
||||||
verify_msg = "(null)";
|
verify_msg = "(null)";
|
||||||
ossl_clear_error(); /* let ossl_raise() not append message */
|
ossl_clear_error(); /* let ossl_raise() not append message */
|
||||||
ossl_raise(eSSLError, "%s returned=%d errno=%d peeraddr=%"PRIsVALUE" state=%s: %s (%s)",
|
ossl_raise(eSSLError, "%s returned=%d errno=%d peeraddr=%"PRIsVALUE" state=%s: %s (%s)",
|
||||||
funcname, ret2, errno, peeraddr_ip_str(self), SSL_state_string_long(ssl),
|
funcname, ret2, errno, peeraddr_ip_str(self), SSL_state_string_long(ssl),
|
||||||
err_msg, verify_msg);
|
err_msg, verify_msg);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/* fallthrough */
|
/* fallthrough */
|
||||||
default:
|
default:
|
||||||
ossl_raise(eSSLError, "%s returned=%d errno=%d peeraddr=%"PRIsVALUE" state=%s",
|
ossl_raise(eSSLError, "%s returned=%d errno=%d peeraddr=%"PRIsVALUE" state=%s",
|
||||||
funcname, ret2, errno, peeraddr_ip_str(self), SSL_state_string_long(ssl));
|
funcname, ret2, errno, peeraddr_ip_str(self), SSL_state_string_long(ssl));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user