diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ext/openssl/ossl_pkey.c | 1 | ||||
-rw-r--r-- | ext/openssl/ossl_x509cert.c | 1 |
3 files changed, 9 insertions, 0 deletions
@@ -1,3 +1,10 @@ +Mon Nov 14 22:06:02 2011 Tanaka Akira <akr@fsij.org> + + * ext/openssl/ossl_pkey.c (ossl_pkey_new_from_file): set close-on-exec + flag. + + * ext/openssl/ossl_x509cert.c (rb_fd_fix_cloexec): ditto. + Mon Nov 14 14:54:17 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> * bignum.c (rb_big2ull): fix 32bit platform breakage. we must diff --git a/ext/openssl/ossl_pkey.c b/ext/openssl/ossl_pkey.c index cb0c320a0c..15a2eed8d2 100644 --- a/ext/openssl/ossl_pkey.c +++ b/ext/openssl/ossl_pkey.c @@ -111,6 +111,7 @@ ossl_pkey_new_from_file(VALUE filename) if (!(fp = fopen(RSTRING_PTR(filename), "r"))) { ossl_raise(ePKeyError, "%s", strerror(errno)); } + rb_fd_fix_cloexec(fileno(fp)); pkey = PEM_read_PrivateKey(fp, NULL, ossl_pem_passwd_cb, NULL); fclose(fp); diff --git a/ext/openssl/ossl_x509cert.c b/ext/openssl/ossl_x509cert.c index b71025e145..3093d60f1f 100644 --- a/ext/openssl/ossl_x509cert.c +++ b/ext/openssl/ossl_x509cert.c @@ -66,6 +66,7 @@ ossl_x509_new_from_file(VALUE filename) if (!(fp = fopen(RSTRING_PTR(filename), "r"))) { ossl_raise(eX509CertError, "%s", strerror(errno)); } + rb_fd_fix_cloexec(fileno(fp)); x509 = PEM_read_X509(fp, NULL, NULL, NULL); /* * prepare for DER... |