diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2016-04-07 01:36:47 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2016-04-07 01:36:47 +0900 |
commit | de06b35e47f0977244e6eeb8a2eb167320157394 (patch) | |
tree | 34af6fb3036fd62d8ac813fa3d2499914d08bc59 /patches/ruby/r8532-X509_STORE_CTX-flags.patch | |
parent | b42d3e56e62572cb7fbf8b060648a81ed0c79be5 (diff) | |
download | poe-de06b35e47f0977244e6eeb8a2eb167320157394.tar.gz |
rakefile: パッチを自分で管理することにした。まだ途中だけど Ruby 1.8.0 以降ならコンパイルできる
Diffstat (limited to 'patches/ruby/r8532-X509_STORE_CTX-flags.patch')
-rw-r--r-- | patches/ruby/r8532-X509_STORE_CTX-flags.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/patches/ruby/r8532-X509_STORE_CTX-flags.patch b/patches/ruby/r8532-X509_STORE_CTX-flags.patch new file mode 100644 index 0000000..d02e853 --- /dev/null +++ b/patches/ruby/r8532-X509_STORE_CTX-flags.patch @@ -0,0 +1,45 @@ +diff --git a/ext/openssl/ossl_x509store.c b/ext/openssl/ossl_x509store.c +index b08f90c..5dba733 100644 +--- a/ext/openssl/ossl_x509store.c ++++ b/ext/openssl/ossl_x509store.c +@@ -358,7 +358,7 @@ static VALUE ossl_x509stctx_set_time(VALUE, VALUE); + static VALUE + ossl_x509stctx_initialize(int argc, VALUE *argv, VALUE self) + { +- VALUE store, cert, chain; ++ VALUE store, cert, chain, t; + X509_STORE_CTX *ctx; + X509_STORE *x509st; + X509 *x509 = NULL; +@@ -380,7 +380,8 @@ ossl_x509stctx_initialize(int argc, VALUE *argv, VALUE self) + ossl_x509stctx_set_purpose(self, rb_iv_get(store, "@purpose")); + ossl_x509stctx_set_trust(self, rb_iv_get(store, "@trust")); + #endif +- ossl_x509stctx_set_time(self, rb_iv_get(store, "@time")); ++ if (!NIL_P(t = rb_iv_get(store, "@time"))) ++ ossl_x509stctx_set_time(self, t); + rb_iv_set(self, "@verify_callback", rb_iv_get(store, "@verify_callback")); + rb_iv_set(self, "@cert", cert); + +@@ -546,17 +547,11 @@ static VALUE + ossl_x509stctx_set_time(VALUE self, VALUE time) + { + X509_STORE_CTX *store; ++ long t; + +- if(NIL_P(time)) { +- GetX509StCtx(self, store); +- store->flags &= ~X509_V_FLAG_USE_CHECK_TIME; +- } +- else { +- long t = NUM2LONG(rb_Integer(time)); +- +- GetX509StCtx(self, store); +- X509_STORE_CTX_set_time(store, 0, t); +- } ++ t = NUM2LONG(rb_Integer(time)); ++ GetX509StCtx(self, store); ++ X509_STORE_CTX_set_time(store, 0, t); + + return time; + } |