[#21338] $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

21 messages 2003/09/04
[#21346] Re: $SAFE=4 での autoload — nobu.nakada@... 2003/09/04

なかだです。

[#21359] Re: $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...> 2003/09/05

永井@知能.九工大です.

[#21419] Makefile.inのlex.c — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

15 messages 2003/09/28

[ruby-dev:21372] Re: ext/openssl on mswin32

From: GOTOU Yuuzou <gotoyuzo@...>
Date: 2003-09-10 13:34:11 UTC
List: ruby-dev #21372
In message <20030910200336.9AF3.TIETEW-ML-RUBY-DEV@tietew.net>,
 `Tietew <tietew-ml-ruby-dev@tietew.net>' wrote:
> openssl/conf_api.h で定義されている _CONF_* が libeay32.dll から 
> export されていないのが原因なんですが,どうするのがいいでしょう。
> 
> 1) OpenSSL 側に,_CONF_* も export してくれるよう頼む
>   ※ OpenSSL をソースからコンパイルしても _CONF_* は dll に入らない
> 2) ossl_config.c を _CONF_* を使わないよう修正する

うぅ。どっちがいいんしょうねえ。
応急処置として、WIN32 では使わないようにするパッチを作ってみ
ました。make が通るなら、ひとまずこれをコミットしてみようと
思うので試して頂けませんか。

-- 
ごとうゆうぞう

Index: ossl.h
===================================================================
RCS file: /src/ruby/ext/openssl/ossl.h,v
retrieving revision 1.6
diff -u -p -r1.6 ossl.h
--- ossl.h	8 Sep 2003 10:31:38 -0000	1.6
+++ ossl.h	10 Sep 2003 13:22:55 -0000
@@ -24,6 +24,7 @@ extern "C" {
 
 #if defined(_WIN32)
 #  define OpenFile WINAPI_OpenFile
+#  define OSSL_NO_CONF_API 1
 #endif
 #include <errno.h>
 #include <openssl/err.h>
Index: ossl_config.c
===================================================================
RCS file: /src/ruby/ext/openssl/ossl_config.c,v
retrieving revision 1.4
diff -u -p -r1.4 ossl_config.c
--- ossl_config.c	8 Sep 2003 20:19:01 -0000	1.4
+++ ossl_config.c	10 Sep 2003 13:22:55 -0000
@@ -148,7 +148,11 @@ ossl_config_initialize(int argc, VALUE *
 		ossl_raise(eConfigError, "error in %s:%d", filename, eline);
         }
     }
+#ifdef OSSL_NO_CONF_API
+    else rb_raise(rb_eArgError, "wrong number of arguments(0 for 1)");
+#else
     else _CONF_new_data(conf);
+#endif
     
     return self;
 }
@@ -156,6 +160,9 @@ ossl_config_initialize(int argc, VALUE *
 static VALUE
 ossl_config_add_value(VALUE self, VALUE section, VALUE name, VALUE value)
 {
+#ifdef OSSL_NO_CONF_API
+    rb_notimplement();
+#else
     CONF *conf;
     CONF_VALUE *sv, *cv;
 
@@ -181,6 +188,7 @@ ossl_config_add_value(VALUE self, VALUE 
     }
     
     return value;
+#endif
 }
 
 static VALUE

In This Thread