summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ext/openssl/extconf.rb1
-rw-r--r--ext/openssl/ossl_x509ext.c4
3 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1cefe6a..65ab4dd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sat Oct 4 04:24:19 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/extconf.rb: add check for X509V3_set_nconf.
+
+ * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_config):
+ cannot implement if X509V3_set_nconf doesn't exist.
+
Sat Oct 4 02:12:44 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* lib/xsd/datatypes.rb: dump sign by itself. under the problematic
diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
index 87a815f..5ef85be 100644
--- a/ext/openssl/extconf.rb
+++ b/ext/openssl/extconf.rb
@@ -80,6 +80,7 @@ have_func("BN_mod_sub")
have_func("BN_rand_range")
have_func("BN_pseudo_rand_range")
have_func("CONF_get1_default_config_file")
+have_func("X509V3_set_nconf")
if try_compile("#define FOO(a, ...) foo(a, ##__VA_ARGS__)\n int x(){FOO(1);FOO(1,2);FOO(1,2,3);}\n")
$defs.push("-DHAVE_VA_ARGS_MACRO")
end
diff --git a/ext/openssl/ossl_x509ext.c b/ext/openssl/ossl_x509ext.c
index eddc7b4..23e768a 100644
--- a/ext/openssl/ossl_x509ext.c
+++ b/ext/openssl/ossl_x509ext.c
@@ -162,6 +162,7 @@ ossl_x509extfactory_set_crl(VALUE self, VALUE crl)
static VALUE
ossl_x509extfactory_set_config(VALUE self, VALUE config)
{
+#ifdef HAVE_X509V3_SET_NCONF
X509V3_CTX *ctx;
CONF *conf;
@@ -171,6 +172,9 @@ ossl_x509extfactory_set_config(VALUE self, VALUE config)
X509V3_set_nconf(ctx, conf);
return config;
+#else
+ rb_notimplement();
+#endif
}
static VALUE