aboutsummaryrefslogtreecommitdiffstats
path: root/ossl_ssl.c
diff options
context:
space:
mode:
authorMichal Rokos <m.rokos@sh.cvut.cz>2002-03-05 15:05:29 +0000
committerMichal Rokos <m.rokos@sh.cvut.cz>2002-03-05 15:05:29 +0000
commit3c8abbf103555809d110c21f89de60869a4a6bea (patch)
tree71beab86d7d0e6fc143a6d5c55a25cc2a75e0b6f /ossl_ssl.c
parent59dd8c5696d83aff78c506d2a161ea4ffb404088 (diff)
downloadruby-openssl-history-3c8abbf103555809d110c21f89de60869a4a6bea.tar.gz
* WARNING! All to_str methods are not used any longer (use to_text instead)
* made an aliases to_pem as to_s * more relaxed params checking - everywhere where string was needed it is OK that obj implements to_s method
Diffstat (limited to 'ossl_ssl.c')
-rw-r--r--ossl_ssl.c27
1 files changed, 12 insertions, 15 deletions
diff --git a/ossl_ssl.c b/ossl_ssl.c
index 9a7efe3..de0bbb4 100644
--- a/ossl_ssl.c
+++ b/ossl_ssl.c
@@ -388,8 +388,7 @@ ssl_write(VALUE self, VALUE str)
FILE *fp;
Data_Get_Struct(self, ssl_st, p);
- if(TYPE(str) != T_STRING)
- str = rb_obj_as_string(str);
+ str = rb_String(str);
if (p->ssl) {
nwrite = SSL_write(p->ssl, RSTRING(str)->ptr, RSTRING(str)->len);
@@ -533,20 +532,18 @@ ssl_set_ciphers(VALUE self, VALUE v)
return Qnil;
}
- if(TYPE(v) == T_STRING) str = v;
- else if(TYPE(v) == T_ARRAY){
- str = rb_str_new2("");
- for(i = 0; i < RARRAY(v)->len; i++){
- elem = rb_ary_entry(v, i);
- if(TYPE(elem) == T_ARRAY) elem = rb_ary_entry(elem, 0);
- elem = rb_obj_as_string(elem);
- rb_str_append(str, elem);
- if(i < RARRAY(v)->len-1) rb_str_cat2(str, ":");
- }
- }
- else str = rb_obj_as_string(v);
+ if (TYPE(v) == T_ARRAY) {
+ str = rb_str_new2("");
+ for (i = 0; i < RARRAY(v)->len; i++) {
+ elem = rb_ary_entry(v, i);
+ if (TYPE(elem) == T_ARRAY) elem = rb_ary_entry(elem, 0);
+ elem = rb_String(elem);
+ rb_str_append(str, elem);
+ if (i < RARRAY(v)->len-1) rb_str_cat2(str, ":");
+ }
+ } else str = rb_String(v);
- if(!SSL_CTX_set_cipher_list(p->ctx, RSTRING(str)->ptr)) {
+ if (!SSL_CTX_set_cipher_list(p->ctx, RSTRING(str)->ptr)) {
OSSL_Raise(eSSLError, "SSL_CTX_set_ciphers:");
}
return Qnil;