summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/openssl/ossl.h1
-rw-r--r--ext/openssl/ossl_config.c8
2 files changed, 9 insertions, 0 deletions
diff --git a/ext/openssl/ossl.h b/ext/openssl/ossl.h
index e684d212e6..fd0c41ee1d 100644
--- a/ext/openssl/ossl.h
+++ b/ext/openssl/ossl.h
@@ -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>
diff --git a/ext/openssl/ossl_config.c b/ext/openssl/ossl_config.c
index 835f2a5b3d..1e42cb6e9f 100644
--- a/ext/openssl/ossl_config.c
+++ b/ext/openssl/ossl_config.c
@@ -148,7 +148,11 @@ ossl_config_initialize(int argc, VALUE *argv, VALUE self)
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 *argv, VALUE self)
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 section, VALUE name, VALUE value)
}
return value;
+#endif
}
static VALUE