diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2017-06-09 23:46:07 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-09 23:46:07 +0900 |
commit | e52a351f02396ad839449c270cd4392277764f36 (patch) | |
tree | 02c0ef9bd9f53f4a5c21d372ace162cfac61d45a /ext/openssl | |
parent | c24bae3993690e0061f4e2f269a22d945021d66d (diff) | |
parent | 295806787b9a48100138baf8d57f2ad4e08060de (diff) | |
download | ruby-openssl-e52a351f02396ad839449c270cd4392277764f36.tar.gz |
Merge pull request #125 from cwjenkins/feature/add_fips_mode_get
Add fips_mode_get to return fips_mode
Diffstat (limited to 'ext/openssl')
-rw-r--r-- | ext/openssl/ossl.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/ext/openssl/ossl.c b/ext/openssl/ossl.c index f2984e6c..542f1422 100644 --- a/ext/openssl/ossl.c +++ b/ext/openssl/ossl.c @@ -410,6 +410,23 @@ ossl_debug_set(VALUE self, VALUE val) } /* + * call-seq + * OpenSSL.fips_mode -> true | false + */ +static VALUE +ossl_fips_mode_get(VALUE self) +{ + +#ifdef OPENSSL_FIPS + VALUE enabled; + enabled = FIPS_mode() ? Qtrue : Qfalse; + return enabled; +#else + return Qfalse; +#endif +} + +/* * call-seq: * OpenSSL.fips_mode = boolean -> boolean * @@ -1139,7 +1156,7 @@ Init_openssl(void) rb_define_const(mOSSL, "OPENSSL_VERSION_NUMBER", INT2NUM(OPENSSL_VERSION_NUMBER)); /* - * Boolean indicating whether OpenSSL is FIPS-enabled or not + * Boolean indicating whether OpenSSL is FIPS-capable or not */ rb_define_const(mOSSL, "OPENSSL_FIPS", #ifdef OPENSSL_FIPS @@ -1149,6 +1166,7 @@ Init_openssl(void) #endif ); + rb_define_module_function(mOSSL, "fips_mode", ossl_fips_mode_get, 0); rb_define_module_function(mOSSL, "fips_mode=", ossl_fips_mode_set, 1); /* |