]> gitweb.factorcode.org Git - factor.git/commitdiff
Revert "openssl: define a startup-hook so that openssl initializes automatically"
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 5 Aug 2014 19:14:53 +0000 (12:14 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 5 Aug 2014 19:14:53 +0000 (12:14 -0700)
This reverts commit 981ea313a0d4d725c9537a3d5acbd2dc52844696.

Conflicts:
basis/openssl/openssl.factor

basis/checksums/openssl/openssl.factor
basis/io/sockets/secure/openssl/openssl.factor
basis/openssl/openssl.factor

index e499c260c649c4c3bfd3b143a2e1fe9c782add5a..41c8537d45820f1976c22a5ecda9673dd08aeaf1 100644 (file)
@@ -29,7 +29,7 @@ M: evp-md-context dispose*
     handle>> EVP_MD_CTX_destroy ;
 
 : with-evp-md-context ( quot -- )
-    [ <evp-md-context> ] dip with-disposal ; inline
+    maybe-init-ssl [ <evp-md-context> ] dip with-disposal ; inline
 
 : digest-named ( name -- md )
     dup EVP_get_digestbyname
index 2944d31f817c211a327a24af753ca14cd28fd7df..4f1d621df7e174a9010991d1e1dca54f5934a314 100644 (file)
@@ -127,6 +127,7 @@ M: rsa dispose* handle>> RSA_free ;
         H{ } clone >>sessions ;
 
 M: openssl <secure-context> ( config -- context )
+    maybe-init-ssl
     [
         dup method>> ssl-method SSL_CTX_new
         dup ssl-error <openssl-context> |dispose
index a852a805cbdb7e3f2583c469dbbe0a59f3a350fe..9315e43a392c5a39bc5ecdb65b6fb82cb8eaca52 100644 (file)
@@ -1,6 +1,7 @@
 ! Copyright (C) 2007, 2008, Slava Pestov, Elie CHAFTARI.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: init kernel openssl.libcrypto openssl.libssl sequences ;
+USING: init kernel namespaces openssl.libcrypto openssl.libssl
+sequences ;
 IN: openssl
 
 ! This code is based on http://www.rtfm.com/openssl-examples/
@@ -25,4 +26,12 @@ SINGLETON: openssl
     OpenSSL_add_all_digests
     OpenSSL_add_all_ciphers ;
 
-[ init-ssl ] "openssl" add-startup-hook
+SYMBOL: ssl-initialized?
+
+: maybe-init-ssl ( -- )
+    ssl-initialized? get-global [
+        init-ssl
+        t ssl-initialized? set-global
+    ] unless ;
+
+[ f ssl-initialized? set-global ] "openssl" add-startup-hook