This patch seems to fix it. cvs diff -up ext/openssl/* Index: ext/openssl/ossl_ns_spki.c =================================================================== RCS file: /src/ruby/ext/openssl/ossl_ns_spki.c,v retrieving revision 1.3.2.4 diff -u -p -r1.3.2.4 ossl_ns_spki.c --- ext/openssl/ossl_ns_spki.c 15 Mar 2006 07:42:00 -0000 1.3.2.4 +++ ext/openssl/ossl_ns_spki.c 17 Mar 2006 09:47:13 -0000 @@ -168,7 +168,7 @@ ossl_spki_get_challenge(VALUE self) GetSPKI(self, spki); if (spki->spkac->challenge->length <= 0) { OSSL_Debug("Challenge.length <= 0?"); - return str_str_new(0, 0); + return rb_str_new(0, 0); } return rb_str_new(spki->spkac->challenge->data, Index: ext/openssl/ossl_ssl.c =================================================================== RCS file: /src/ruby/ext/openssl/ossl_ssl.c,v retrieving revision 1.13.2.10 diff -u -p -r1.13.2.10 ossl_ssl.c --- ext/openssl/ossl_ssl.c 15 Mar 2006 07:42:00 -0000 1.13.2.10 +++ ext/openssl/ossl_ssl.c 17 Mar 2006 09:47:14 -0000 @@ -461,7 +461,7 @@ ossl_sslctx_set_ciphers(VALUE self, VALU if (NIL_P(v)) return v; else if (TYPE(v) == T_ARRAY) { - str = str_str_new(0, 0); + str = rb_str_new(0, 0); 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);