From c59e17d4836e07978a8087f5838742d3256614e7 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sun, 11 May 2008 17:44:14 -0500 Subject: [PATCH] Working on OpenSSL sockets --- extra/io/sockets/secure/secure-tests.factor | 5 +++++ extra/io/sockets/secure/secure.factor | 24 +++++++++++++++++++++ extra/openssl/openssl-docs.factor | 10 --------- 3 files changed, 29 insertions(+), 10 deletions(-) create mode 100644 extra/io/sockets/secure/secure-tests.factor create mode 100644 extra/io/sockets/secure/secure.factor delete mode 100644 extra/openssl/openssl-docs.factor diff --git a/extra/io/sockets/secure/secure-tests.factor b/extra/io/sockets/secure/secure-tests.factor new file mode 100644 index 0000000000..a2287c28f7 --- /dev/null +++ b/extra/io/sockets/secure/secure-tests.factor @@ -0,0 +1,5 @@ +IN: io.sockets.secure.tests +USING: io.sockets.secure tools.test ; + +\ must-infer +{ 1 0 } [ [ ] with-ssl-context ] must-infer-as diff --git a/extra/io/sockets/secure/secure.factor b/extra/io/sockets/secure/secure.factor new file mode 100644 index 0000000000..f7729233ac --- /dev/null +++ b/extra/io/sockets/secure/secure.factor @@ -0,0 +1,24 @@ +! Copyright (C) 2008 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +USING: accessors kernel symbols namespaces continuations ; +IN: io.sockets.secure + +SYMBOL: ssl-backend + +SINGLETONS: SSLv2 SSLv23 SSLv3 TLSv1 ; + +TUPLE: ssl-config method key-file ca-file ca-path password ; + +: ( -- config ) + ssl-config new + SSLv23 >>method ; + +TUPLE: ssl-context config handle ; + +HOOK: ssl-backend ( config -- context ) + +: with-ssl-context ( config quot -- ) + [ + [ ] [ [ ssl-context set ] prepose ] bi* + with-disposal + ] with-scope ; inline diff --git a/extra/openssl/openssl-docs.factor b/extra/openssl/openssl-docs.factor deleted file mode 100644 index dd31bfd001..0000000000 --- a/extra/openssl/openssl-docs.factor +++ /dev/null @@ -1,10 +0,0 @@ - -USING: help.syntax help.markup ; - -IN: openssl - -ARTICLE: "openssl" "OpenSSL" - -"Factor on Windows has been tested with this version of OpenSSL: " - -{ $url "http://www.openssl.org/related/binaries.html" } ; \ No newline at end of file