Commit Graph

264 Commits (39a9b21e986bddccd21167a69e9a61ddc785ad43)

Author SHA1 Message Date
Doug Coleman c436f6dbad factor: char: postpone: color: hexcolor: flexhexcolor: decimal: 2017-08-31 21:21:13 -05:00
Björn Lindqvist 8675cb2c25 basis/,core/,extra/: more tags 2017-07-08 18:31:39 +02:00
Björn Lindqvist 2a5f5ca6b9 openssl.*,io.sockets.*: support for openssl 1.1
In the new version, a lot of c function names have changed. So a new
global ssl-new-api? is needed to know if the new or old names should be
used.
2017-07-01 13:41:22 +02:00
Björn Lindqvist 0d8338ceb8 io.sockets.secure.openssl,openssl.libssl: ENUM: over syntax
The enum does the same thing as the custom syntax did and is a little
easier to understand.
2017-06-24 16:46:00 +02:00
Björn Lindqvist f2a8a79a1a basis/,extra/: removing some unnecessary EXCLUDE declarations 2017-06-24 16:38:34 +02:00
Doug Coleman e189954ecc core: Rename iota to <iota> so we can have TUPLE: iota ... ; instead of TUPLE: iota-tuple ... ; 2017-06-02 11:57:05 -05:00
Doug Coleman 7c7bb93c55 factor: Rename GENERIC# to GENERIC#:.
Fixes #1670.
2017-06-01 13:58:58 -05:00
John Benediktsson 3a6eefcc8e using ignore-errors instead of [ drop ] recover. 2017-02-09 15:50:33 -08:00
Björn Lindqvist a9ac763912 alien.libraries: word>dlsym was a stupid idea that didn't work
The def>> attribute is stripped when deploying. So return dlsym? and use
that.
2016-11-30 16:36:24 +01:00
Björn Lindqvist 2ba659dcb1 io.sockets.secure,alien.libraries: new word word>dlsym to replace the dlsym? word 2016-11-30 11:51:54 +01:00
Björn Lindqvist 0e7fd0340d io.sockets.secure.openssl.tests: fix so you dont get an error when test times out 2016-11-19 23:40:12 +01:00
Björn Lindqvist c6361436bf io.sockets.secure.openssl: set connected to t after do-ssl-accept
This should prevent the SSL_shutdown:shutdown while in init error we've
been seeing
2016-11-19 19:05:53 +01:00
Björn Lindqvist 1b7b7e8260 io.sockets.secure.openssl: second |dispose seem to be redundant 2016-11-19 18:04:17 +01:00
Björn Lindqvist 2f12413595 io.sockets.windows: WSASocket-flags not needed 2016-08-04 23:55:56 +02:00
John Benediktsson b864d49e8c io.sockets: adding docs and tests for port-protocol. 2016-08-01 10:22:16 -07:00
John Benediktsson ab66a73744 io.sockets: adding port-protocol to match protocol-port. 2016-07-30 11:12:40 -07:00
Alexander Iljin b35294eade io.sockets.secure-docs: update and add some documentation 2016-06-22 11:27:26 -07:00
Doug Coleman c7041fe96e io.sockets.secure.windows: Windows sockets are a bit confused. Make a word
to get the handle out of two different paths. Probably needs more
refactoring but this makes it work.
2016-06-02 11:07:19 -07:00
Doug Coleman 05083ba503 io.sockets.secure.windows: No need to call file>> because we have a
win32-socket on the stack already.
2016-06-02 10:56:50 -07:00
Doug Coleman b63aaff1c5 io.sockets.secure: (server) needs a method on secure for Windows too. Move the method to a vocab that both platforms load. 2016-06-02 10:25:11 -07:00
John Benediktsson 498285d7dd unicode: make this the API for all unicode things. 2016-03-30 23:29:48 -07:00
Doug Coleman d3bc2035a2 factor: remove rest of double paren words. 2016-03-25 03:13:27 -07:00
John Benediktsson ebfa9402d4 io.sockets.unix: using getsockopt doesn't need to recurse. 2016-03-14 08:42:54 -07:00
Doug Coleman bb7161a46f io.sockets.secure.windows: Add some code for loading the certificates on
windows. Still disabled, and the CA certificates are duplicated.
2016-03-13 16:11:45 -07:00
John Benediktsson a58a2ff7b0 io.sockets.unix: don't need these imports. 2016-03-13 13:43:57 -07:00
John Benediktsson cd90435588 io.sockets.unix: refactor getsockopt into get-socket-option. 2016-03-13 13:34:29 -07:00
John Benediktsson b3fbafcf92 io.sockets.unix: adding tests for connection refused. 2016-03-13 13:15:45 -07:00
John Benediktsson 3fdbbe0fea io.sockets.unix: use getsockopt to check connect success. 2016-03-13 13:08:26 -07:00
Doug Coleman 460555785c io.sockets.secure.openssl: Fix docs. 2016-03-13 01:45:52 -08:00
Doug Coleman df3f58ae61 io.sockets.secure.openssl: Fix subject-name-match? for wildcard domains.
Also remove duplicate names before checking.
2016-03-12 20:22:47 -08:00
Benjamin Pollack b0d62bcdc3 io.sockets.secure: add SNI support for Windows
M: secure ((client)) is identical between Unix and Windows, so this probably
could be moved out of the platform-specific vocab, but doing it sanely would
require a refactor I'm not excited about, so punting on that for now.

Fixes #1551
2016-03-12 09:27:31 -05:00
Björn Lindqvist 2713153273 io.sockets.tests: these needs to be conditional, in case you are ipv4 only 2016-03-10 04:11:23 +01:00
Doug Coleman a1f3378365 io.sockets: Default make-sockaddr-outgoing to make-sockaddr. 2016-03-08 09:21:49 -08:00
Doug Coleman 3cd2775855 io.sockets.unix: Fix ipv6 sends for udp on osx. 2016-03-08 04:46:26 -08:00
Doug Coleman a12a56f777 io.sockets: Special-case 0.0.0.0 and f for outgoing sockets so we can use
them on windows. Add some tests that shouldn't fail. Fixes #85.
2016-03-08 02:27:01 -08:00
Doug Coleman 027a9fb1a2 io.sockets: Fix send-once for inet6. 2016-03-07 16:58:56 -08:00
Doug Coleman 05a8ac2423 Revert "io.sockets: Windows doesn't recognize 0.0.0.0. Add a method for"
This reverts commit 2c82dfb51b.
2016-03-07 14:31:40 -08:00
Doug Coleman 2c82dfb51b io.sockets: Windows doesn't recognize 0.0.0.0. Add a method for
resolve-localhost for Windows, and make the default ipv4 make-sockaddr use
127.0.0.1 since we are making a sockaddr for ipv4 anyway and 127.0.0.1 is
cross-platform. Fixes #85.
2016-03-07 14:07:01 -08:00
John Benediktsson ee134373f0 ip-parser: some cleanup, move ipv6 parsing here. 2016-03-05 09:51:37 -08:00
Benjamin Pollack e707374085 Make <inet4> and <ipv4> use ip-parser:parse-ipv4
Fixes #1209
2016-03-05 09:11:56 -05:00
Doug Coleman a303637850 io.sockets.secure.windows: Try to fix compile error. 2016-03-05 02:57:39 -08:00
Doug Coleman c077ee91e9 openssl: More ciphers. 2016-03-04 18:42:35 +00:00
Doug Coleman 46c9143232 openssl: call SSL_CTX_set_ecdh_auto() for forward secrecy. 2016-03-04 10:05:09 -08:00
Doug Coleman 0bfe6ff826 openssl: support more protocols for forward secrecy. 2016-03-04 09:19:08 -08:00
Doug Coleman 3576c0930c openssl: Prefer tls1.2. Only use secure ciphers. 2016-03-04 09:15:12 -08:00
Benjamin Pollack e83e791a7a Do not attempt to set an SNI hostname on a server 2016-03-03 13:58:31 -08:00
Benjamin Pollack 62d1425971 Add SNI support to Factor
Fixes #1527
2016-03-03 09:48:20 -08:00
Benjamin Pollack bfd656df17 Dump everything before TLSv1
All versions of SSL are deprecated and have major security issues. Just
kill the whole thing. If you want to deliberately expose yourself to
POODLE, you can do it on your own time.
2016-03-01 19:43:06 -05:00
Doug Coleman 3f07cbd194 io.sockets.secure.openssl: Nuke RSA. 2016-03-01 14:02:47 -08:00
Benjamin Pollack 12af22f3ee openssl: only set RSA keys if required to do so
Modern OpenSSL and LibreSSL both do not require SSL_CTX_set_tmp_rsa to
be called unless SSL_CTX_need_tmp_rsa returns true, and LibreSSL and
OpenSSL compiled with deprecation warnings both will fail if this
happens. This commit resolves that.

With this change, it becomes possible to use LibreSSL in place of
OpenSSL with Factor.
2016-02-23 08:11:04 -05:00