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
Benjamin Pollack
8073c8a77e
Update OpenSSL calls to work with LibreSSL/newer OpenSSL
...
RSA_generate_key has been deprecated, and is not available in either
LibreSSL or newer OpenSSL that are not compiled with deprecated call
support. This commit switches to the still-supported
RSA_generate_key_ex, which is supported by both libraries.
Note that this is still insufficient for Factor to work under LibreSSL,
though we now get a call further than before.
2016-02-22 14:21:39 -08:00
Doug Coleman
69d5a3a276
io.sockets: remove send-n-times, broadcast-n-times.
2016-02-20 18:37:08 -08:00
Doug Coleman
e4347f5254
io.sockets: Add more utility words for working with udp.
2016-02-19 19:21:13 -08:00
Doug Coleman
67e7874e91
io.files.info.unix.linux: Special characters in mount points are encoded as octal escape sequences.
2015-11-03 15:55:14 -08:00
Doug Coleman
acdd529983
io.monitors.windows: ADS pathnames crashing the monitors threads is the
...
real culprit. Back out change and print out the crash and error message instead of ignoring
errors!
2015-11-02 21:19:12 -08:00
Doug Coleman
51ecaa5ab4
io.files.windows: ALIEN: -1 puts an expired alien in the image. -1 <alien>
...
it is then.
2015-11-02 21:18:49 -08:00
Doug Coleman
d645b2e17c
io.monitors.windows: Strip the :Zone.Identifier from pathnames reported
...
by the file change api.
2015-11-01 19:58:05 -08:00
Doug Coleman
26e5c1aecf
windows.kernel32, io.files.windows: Add support for listing alternate data
...
streams, e.g. file paths like foo.txt:Zone.Identifier.
2015-11-01 18:17:51 -08:00
Björn Lindqvist
575da3e478
VM: fix so that errno is set if MoveFileEx fails, should fix #1490
2015-10-12 12:19:21 +02:00
Björn Lindqvist
37cd54cfbb
io.files.windows.tests: windows test for the save-image not failing failure #1489
...
this one really should always throw permission denied or else something
is very spooky
2015-10-11 04:21:43 +02:00
Björn Lindqvist
e35087fb22
io.files.windows: fix incorrect parsing of file attribute bitfield in win32-file-attributes
2015-10-11 04:11:30 +02:00
Doug Coleman
db793e06f6
io.files.windows: SetFilePointer takes a PLONG not a uint pointer.
2015-10-09 19:50:06 -07:00
Doug Coleman
78f9fe9053
io.monitors.windows: make a DWORD ref instead of a uint. probably
...
irrelevant but it's what the win32 api header uses.
2015-10-09 19:21:24 -07:00
Björn Lindqvist
75b8b4a408
io.servers: filter the list of addrspecs in listen-on so that only
...
usable ones remains
"localhost" resolve-host can return unusable ipv6 addresses on hosts not
supporting ipv6. So a filtering step is needed in listen-on.
2015-10-08 15:08:07 +02:00
Björn Lindqvist
0a3b4b4872
io.sockets.secure.debug: use <test-secure-config> in some places
...
the word can be reused in a few places when setting up ssl. it removes
some duplicated code
2015-10-04 01:25:11 +02:00
Björn Lindqvist
dbcfc178ff
io.directories.unix,environment.unix: better to use
...
native-string-encoding over hardcoding utf8
2015-10-01 15:52:51 +02:00
Alexander Iljin
156a2d0b90
Minor documentation fixes.
2015-09-29 09:12:29 -07:00
John Benediktsson
924fc60e30
io.ports: bring back file read performance, ignoring zeroes.
2015-09-23 20:07:53 -07:00
Doug Coleman
84e0034168
io.standard-paths.unix: iterm2 integration has some spew before every bash command if you have enabled shell integration. these commands end in ascii 7, so find the last one, strip it off, and then split on ":". Fixes the mac graphviz install problem.
2015-09-23 17:11:47 -07:00
John Benediktsson
59caf874a3
syntax: removing #! as a comment character.
...
We don't need two types of comments and shebang (#!) is handled
natively by the lexer, so the original reason for #! is not valid.
2015-09-09 18:28:08 -07:00
John Benediktsson
e477f6996f
Fix comments to be ! not #!.
2015-09-08 16:15:10 -07:00
John Benediktsson
ceb75057da
change ERROR: words from throw-foo back to foo.
2015-08-13 16:13:05 -07:00
John Benediktsson
c9bd438d18
io.launcher: fix bad refactor.
2015-08-13 06:51:44 -07:00
Doug Coleman
b6be8685c3
basis: ERROR: changes.
2015-08-13 03:20:39 -07:00
Doug Coleman
02008979d9
factor: Change ERROR: foo ; to define ``throw-foo`` instead of having ``foo`` throw implicitly. The old ``foo`` still throws implicitly because this is a big change to get right in one patch, but it should be removed soon.
2015-08-12 15:26:18 -05:00
Doug Coleman
e0d1b14e5c
factor: don't need FROM: namespaces => set or namespaces:set anymore
2015-08-12 11:25:57 -05:00
Doug Coleman
46587f8457
factor: arch -> arch-name. fix breakage caused by other patch.
2015-08-12 11:08:24 -05:00
Doug Coleman
16fac5981e
io.styles: image -> image-style in docs too
2015-08-12 09:09:41 -05:00
Doug Coleman
330c7ba156
factor: Removing SLOT: nth/at/global in favor of using change: at for tuple slots named ``at`` and change-at for hashtables.
...
Redo many FROM: and QUALIFIED: and using lists.
2015-08-12 08:49:02 -05:00
Doug Coleman
00338f62f3
factor: put inline on same line as ; for experimentation
2015-08-10 12:55:27 -05:00
John Benediktsson
2a3427bdff
io.files.info: use directory?, symbolic-link?, and regular-file?.
2015-08-05 18:33:35 -07:00
Doug Coleman
23899e2d83
io.files.windows: Need the SLOT: file from io.sockets.secure.openssl
2015-07-30 00:05:37 -07:00
John Benediktsson
823524c3a0
io.backend.unix.macosx: change to << require >>.
2015-07-28 19:33:24 -07:00
John Benediktsson
e26493b97b
io.backend.unix.macosx: change USE: to require.
2015-07-28 19:13:29 -07:00
Björn Lindqvist
5e29aac0a6
Docs: various more compiler-related docs
2015-07-28 17:58:28 -07:00
Doug Coleman
1fcf96cada
factor: remove """ string syntax for now. there are HEREDOC:, STRING:, escaping \", and something else soon.
2015-07-25 22:59:56 -07:00
Doug Coleman
89ffe8fa82
io.encodints.iso2022: fix unit tests
2015-07-21 19:33:08 -07:00
Doug Coleman
c1a330ac7a
io.encodings.iso2022: use $ instead of making ESC a parsing word.
2015-07-21 17:33:14 -07:00
John Benediktsson
5eec781b40
use ``if*`` instead of ``dup [ ] [ drop ] if``.
2015-07-20 22:24:30 -07:00
Doug Coleman
2f6548d6d2
factor: fix breakage with word renamings.
2015-07-20 05:51:16 -07:00
Doug Coleman
618330b31e
factor: rename system:vm -> vm-path to differentiate it from vm:vm (which is a STRUCT:)
2015-07-20 00:10:29 -07:00
Doug Coleman
5f8426cfbe
factor: rename files that are not loadable on mac, too
2015-07-19 16:55:36 -07:00
Doug Coleman
0176591527
factor: actual patch to remove ; from all c/fortran functions
2015-07-19 16:25:30 -07:00
Doug Coleman
4ec2311406
factor: Trim whitespace after ! comments and a few USING: lines that got skipped before.
2015-07-18 20:14:22 -07:00
John Benediktsson
5d6632514a
io.sockets: make host-name a hook and throw correct errors.
2015-07-16 13:15:14 -07:00
Doug Coleman
892c62e1dc
factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test
2015-07-03 09:39:59 -07:00
Doug Coleman
59f3b1ea57
Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
...
Needs a bit more work.
This reverts commit 7e54cc2824
.
2015-07-02 13:47:06 -07:00
Doug Coleman
7e54cc2824
factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!
2015-07-02 11:36:08 -07:00
Doug Coleman
999aa7c897
factor: clean up spaces in -tests files
2015-07-02 10:34:01 -07:00
Doug Coleman
e3cb325040
factor: clean up whitespace in -docs files
2015-07-02 10:31:22 -07:00
Doug Coleman
352e5de16a
core, basis, extra: Remove DOS line endings from files.
...
Remove whitespace from end of lines.
Add a newline to the end of each file.
2015-06-29 17:25:40 -07:00
Doug Coleman
9d2c641a99
io.standard-paths: On mac when you launch Factor from the doc it doesn't have the login shell PATH variable for paths such as /usr/local/bin for homebrew. Add a word that finds things in this path as well.
...
Note that launching a binary found this way needs the full path, as the PATH variable itself is not modified and the binary will still not be in PATH if it wasnt before.
2015-06-24 18:44:09 -07:00
Doug Coleman
6e60c811ac
core: Rename create to create-word, create-in to create-word-in.
2015-06-08 12:47:35 -07:00
Doug Coleman
2ee3516bf1
io.files.unique: Better docs for with-unique-directory.
2015-06-01 15:22:05 -07:00
John Benediktsson
22402a2e07
Revert "io.standard-paths: adding support for PATHEXT."
...
This reverts commit be9bff0e5b
.
2015-06-01 14:59:36 -07:00
John Benediktsson
be9bff0e5b
io.standard-paths: adding support for PATHEXT.
2015-06-01 14:57:47 -07:00
John Benediktsson
0d7c3c5291
io.standard-paths: add ?find-in-path.
2015-06-01 14:26:38 -07:00
John Benediktsson
2884f8dabe
io.standard-paths.windows: use map-find.
2015-06-01 14:26:27 -07:00
Doug Coleman
cf3ccd0abe
io.directories.search: Add some more combinators for finding files.
2015-05-21 22:35:24 -07:00
Doug Coleman
12bd42c663
io.monitors: Fix using, speed up test from 3 second timeouts to 100ms timeouts.
2015-05-19 12:37:07 -07:00
Doug Coleman
0962b4a697
io.monitors: Run each set of monitors tests in its own directory. Fixes #1106 .
2015-05-19 10:50:58 -07:00
John Benediktsson
b366a06c41
use reject instead of [ ... not ] filter.
2015-05-12 18:50:34 -07:00
Björn Lindqvist
ba8caa72fb
io.crlf: the lf>crlf and crlf>lf words looks generally useful, lets put them in io.crlf to reduce some code duplication
2015-05-12 09:32:05 -07:00
Doug Coleman
f2c67d6ab4
io.directories.search: Add two tests for find-up-to-directory, one that finds a file and one that doesn't.
2015-05-08 21:02:29 -07:00
Doug Coleman
2aa6ce7e8c
io.directories.search: fix inline recursive combinator compilation. fix
...
reversed logic for containing-directory
2015-05-07 16:49:32 -07:00
Doug Coleman
510f605df9
io.directories.search: Add find-up-to-root combinator and helper words.
...
Example: "c:\\factor64\\.git\\objects" [ ".txt" tail? ] find-up-to-root .
"c:\\factor64\\.git"
2015-05-05 23:26:52 -07:00
Doug Coleman
74f5eacec7
editors.visual-studio-code: Support for m$ft's new code editor. Can't
...
figure out command line parameters yet.
io.files.temp.windows: Make (get-appdata-directory) not private and rename
it to get-appdata-directory.
2015-04-30 18:21:15 -07:00
Doug Coleman
7895e0fcaa
io.launcher.windows tests: Use unique-file instead of temp-file. Fixes
2015-04-01 15:44:55 -07:00
John Benediktsson
3f3c11c446
ui.backend.cocoa: fix reset of thread-timer.
2015-01-17 15:58:57 -08:00
John Benediktsson
be173c8a43
core-foundation.run-loop: cleanup timer-thread code.
2015-01-17 14:16:24 -08:00
John Benediktsson
3515a45b84
io.launcher: fix stack effects.
2014-12-30 17:23:24 -08:00
John Benediktsson
3e7bc051d4
io.launcher: fix docs for with-process-reader and with-process-writer.
2014-12-30 15:04:34 -08:00
John Benediktsson
9fd568267d
io.launcher: add versions of with-process that preserve process and status.
2014-12-30 14:51:23 -08:00
John Benediktsson
83f7b31910
io.launcher: cleanup public interface, make some things private or internal.
2014-12-30 10:04:09 -08:00
Doug Coleman
c59a025288
io.ports: Make buffered-port not have a length because of Linux virtual files and TCP sockets.
...
Related to issues #1256 and #1259 .
2014-12-23 13:47:50 -08:00
John Benediktsson
76761b2e59
more minor cleanup.
2014-11-30 19:26:23 -08:00
John Benediktsson
49bcbaee7a
removing small and unnecessary files.
2014-11-29 17:24:42 -08:00
Doug Coleman
d23ab51ce8
io.files: Move with-cd to the tests file so that nobody uses it. My bad. Basically nobody should ever use cd or cwd for anything. Fixes #1214 .
2014-11-23 01:39:36 -08:00
Doug Coleman
aff0150a8c
io.files: add with-cd. Related to #1214 .
2014-11-22 22:21:35 -08:00
John Benediktsson
7badef25ce
libc: reduce code duplication.
2014-11-21 10:19:12 -08:00
John Benediktsson
39093727b1
libc: rename (io-error) to throw-errno.
2014-11-21 09:29:45 -08:00
John Benediktsson
3f362dfc99
destructors: change check-disposed not to drop the disposable.
2014-11-21 08:19:05 -08:00
John Benediktsson
45bd145596
io: use errno case instead of cond.
2014-11-20 19:46:14 -08:00
John Benediktsson
c0b4c1adb1
io.buffers: unsafe code is more unsafe.
2014-11-20 17:46:36 -08:00
John Benediktsson
25f3032d04
io.ports: use fixnum where possible, assert c-ptr since we use memcpy.
2014-11-20 17:19:16 -08:00
John Benediktsson
f6ed37a6f7
io.ports: some cleanup before optimizations.
2014-11-20 16:19:39 -08:00
John Benediktsson
e55af0ebfe
io.buffers: simplify test word.
2014-11-20 15:46:07 -08:00
John Benediktsson
c60a3e6e80
io.buffers: adding a buffer-read-into that can take a c-ptr or a sequence.
2014-11-20 14:40:43 -08:00
John Benediktsson
0a31a7c17a
io.backend.unix: { fixnum } read will be a { fixnum } .
2014-11-20 13:23:53 -08:00
Doug Coleman
0fe5b2d90f
io.directories: Add unit test for #890 .
2014-11-18 14:11:13 -08:00
Doug Coleman
831ec24b14
io.sockets.windows: Spacing cleanup.
2014-11-18 14:06:24 -08:00
Doug Coleman
09f0edfb2f
io.launcher.windows: Don't cd to directory when calling run-process. Fixes
2014-11-18 14:03:06 -08:00
Doug Coleman
cab001234a
io.sockets.windows: Fix unit test--recover leaves socket on stack, nip
...
it.
2014-11-18 14:02:44 -08:00
John Benediktsson
0826d8468c
io.launcher: really minor cleanup.
2014-11-16 20:31:50 -08:00
John Benediktsson
f79d61060e
io.buffers: cleanup interface a bit.
2014-11-16 18:54:24 -08:00
John Benediktsson
b7ed0a431c
basis/extra: cleanup some platform requires.
2014-11-15 14:25:12 -08:00
John Benediktsson
d6b6f3893d
basis/extra: switch to "vocab." os name>> append require.
2014-11-13 13:00:44 -08:00
Björn Lindqvist
bbab41ade4
io.sockets.windows.tests: plugs the socket leaks ( #1104 )
2014-11-12 19:32:44 -08:00
Benjamin Pollack
2c3dd8c3c8
Remove executable bit from tons of files that aren't
2014-11-05 20:40:42 -08:00
John Benediktsson
21b4e31d60
Revert "io.backend.unix.macosx: Trying to change instances of USE: to require if"
...
This reverts commit 4bab33bddb
.
2014-11-01 15:29:37 -07:00
Doug Coleman
4bab33bddb
io.backend.unix.macosx: Trying to change instances of USE: to require if
...
the vocab must be loaded but no symbols are directly depended upon.
2014-11-01 13:16:13 -07:00
John Benediktsson
321186f6c5
io.backend.unix.macosx: need this for deploy.
2014-10-27 19:40:22 -07:00
John Benediktsson
8033741135
io/ui: slim down the USE: list
2014-10-24 17:33:27 -07:00
Doug Coleman
be232dac9b
io.backend: Remove duplicate definition of file-mode. Add mkdir-mode using non-magic symbols. Cleanup imports.
2014-10-24 17:16:40 -07:00
Doug Coleman
026aa163c8
io.launcher.windows: Make unit tests show that process fails rather than
...
reporting bogus error. Fixes #1152 (it wasn't really a bug, just bad
tests).
2014-10-16 16:40:49 -07:00
Doug Coleman
d8121a9622
io.launcher.windows.test/env.factor: Fix script for new . behavior.
2014-10-07 13:51:13 -07:00
Björn Lindqvist
c1187500de
io.ports.tests: better to use with-disposal than calling the dispose word explicitly
2014-09-24 14:40:34 -07:00
Björn Lindqvist
47c16ed078
io.streams.limited.tests: use with-stream in the tests to ensure that the pipes are disposed
2014-09-24 14:40:34 -07:00
John Benediktsson
d6019337f9
core-foundation: define some more callbacks.
2014-08-05 16:09:04 -07:00
John Benediktsson
8c58b99b1d
Revert "openssl: define a startup-hook so that openssl initializes automatically"
...
This reverts commit 981ea313a0
.
Conflicts:
basis/openssl/openssl.factor
2014-08-05 12:14:53 -07:00
John Benediktsson
fec182d2d8
io.backend.unix.multiplexers.run-loop: don't enable-all-callbacks twice.
2014-08-05 10:31:42 -07:00
Björn Lindqvist
60ffe0680e
kernel: new combinator 2with = with with
2014-07-22 07:40:13 -07:00
John Benediktsson
5771cae818
io.monitors.recursive: fix second test.
2014-07-11 18:03:37 -07:00
Doug Coleman
4e67fac92d
io.monitors.recursive: On Windows, at least, a recursive file monitor gets
...
set up for every single file. This is causing OOM errors on win32, so
let's just test resource:core\io instead.
2014-07-11 17:15:20 -07:00
Doug Coleman
3ad3e33006
io.launcher: Example is not very cross-platform.
2014-07-10 11:21:33 -07:00
Doug Coleman
6ea98afc99
io.sockets.secure.openssl: We don't care what the error is as long as it fails.
2014-07-09 22:32:32 -07:00
Doug Coleman
baa9bed236
io.launcher: Fix help-lint for Windows. The examples don't work on
...
Windows, so disable them.
2014-07-09 23:19:58 -05:00
Doug Coleman
377180baf6
io.sockets.secure.windows: Fix using, remove duplication.
2014-07-07 21:44:40 -05:00
Doug Coleman
59c5373263
io.sockets.secure: Another fix for cross-platform openssl.
2014-07-07 18:45:22 -07:00
Doug Coleman
075a86f5d9
io.sockets.secure: Move some code from secure.unix to secure.openssl. Add a hook for finding sockets to upgrade.
2014-07-07 18:34:41 -07:00
Doug Coleman
79b0948377
io.backend.unix.multiplexers.run-loop: Really fix bug #775 !
2014-07-04 01:50:45 -07:00
Doug Coleman
138ec84642
io.files.temp.macosx: Create the cache and temp directories every time. Fixes #1089 .
2014-07-03 23:41:20 -07:00
John Benediktsson
0c7a5b7c84
io.backend.unix.multiplexors.select: some cleanup.
2014-06-26 13:49:48 -07:00
Björn Lindqvist
a4e98529fa
io.launcher.windows.tests: many of the tests can result in utf8-encoded strings
2014-06-10 08:10:21 -07:00
Björn Lindqvist
981ea313a0
openssl: define a startup-hook so that openssl initializes automatically
2014-06-06 14:12:09 -07:00
John Benediktsson
57f9d78892
improve help by linking to types directly.
2014-05-23 20:20:15 -07:00
John Benediktsson
ab969b072c
io.directories.search: some cleanup.
2014-05-20 14:46:01 -07:00
John Benediktsson
3fb1532bd6
io.directories.search: add quot stack effects, simplify find-all-files.
2014-05-20 12:29:02 -07:00
John Benediktsson
7e4f2ec618
io.directories.search: faster directory traversal.
2014-05-20 12:06:11 -07:00
John Benediktsson
8293425783
io.encodings.ascii: moving to core.
2014-05-20 11:47:38 -07:00
John Benediktsson
98935b7f15
docs: change ``{ $quotation "( x -- y )" }`` to ``{ $quotation ( x -- y ) }``.
2014-05-18 20:09:10 -07:00
John Benediktsson
4ca5b2ccb3
Revert "unix.ffi: be more explicit about dirent64."
...
This reverts commit edf456149330d44995b1c8bdf61a1c5d2617ed9c.
2014-04-29 14:02:30 -07:00
John Benediktsson
5dd26a9066
unix.ffi: be more explicit about dirent64.
2014-04-29 13:54:27 -07:00
John Benediktsson
09dec78603
io.directories.unix.linux: fix using.
2014-04-29 13:38:27 -07:00
John Benediktsson
26ff963758
io.directories: faster directory-entries by caching dirent structs.
2014-04-29 13:22:56 -07:00
Doug Coleman
50ca01a4d8
io.sockets.windows: Fix using.
2014-04-23 20:07:32 -07:00
John Benediktsson
e3323818cc
io.sockets.secure.openssl: disable tests for now.
2014-04-22 08:16:53 -07:00
John Benediktsson
06912460b4
io.sockets.secure.openssl: use must-fail-with.
2014-04-22 07:41:23 -07:00
John Benediktsson
e7a74e0e61
io.standard-paths.unix: fixing the tests for Ubuntu.
2014-04-22 07:40:57 -07:00
Doug Coleman
876b430ec9
io.standard-paths.unix: Fix ifconfig test.
2014-04-21 23:45:45 -07:00
John Benediktsson
6f87c2afc7
io.sockets: use must-fail-with for resolve-host errors.
2014-04-20 10:02:04 -07:00
John Benediktsson
24cb41aa13
io.sockets: don't need "0 or" for addrinfo.
2014-04-20 09:30:03 -07:00
Björn Lindqvist
e1206d5ef1
io.sockets: add word addrinfo-error to signal host lookup failures
...
If the getaddrinfo call fails, and you want to handle that failure in
a structured way, then you need a designated error type to know what
went wrong.
2014-04-20 09:29:31 -07:00
Björn Lindqvist
516ffcc311
io.sockets.secure.openssl.tests: more and better SSL_connect tests
...
Better error handling so it should be easier to see why the tests fail
on the build server (#1036 ).
2014-04-18 10:06:46 -07:00
Björn Lindqvist
df3417c5b7
io.sockets.secure.openssl: more docs
2014-04-18 10:06:46 -07:00
Björn Lindqvist
e473ef628d
io.sockets.secure.openssl: big refactoring, all error handling merged into one check-ssl-error word
2014-04-18 10:06:46 -07:00
Björn Lindqvist
b72fa3ba0a
Docs: fixed doc example errors triggered by help-lint and added with-disposal where applicable
2014-04-14 08:42:10 -07:00
Björn Lindqvist
9b28623b4f
Docs: examples for io.launcher words
2014-04-14 08:42:09 -07:00
Björn Lindqvist
2cbea3cb31
Docs: a few more examples for words that were missing them
2014-04-14 08:42:09 -07:00
Björn Lindqvist
a3eba146fd
io.sockets: example for the with-socket function
2014-04-14 08:42:09 -07:00
Björn Lindqvist
b79bd45908
io.sockets: example for resolve-host
2014-04-14 08:42:08 -07:00
Doug Coleman
d123f589f7
io.sockets.secure.openssl: Check error code in unit test.
2014-04-08 12:08:58 -07:00
John Benediktsson
5e129a8964
more libc fixes.
2014-04-04 08:03:46 -07:00
John Benediktsson
e50d1375a1
io: need to use libc for OS X?
2014-04-03 21:43:37 -07:00
Doug Coleman
a02e8e3cda
io.sockets.secure.openssl: Fix using list.
2014-04-02 23:11:52 -05:00
Björn Lindqvist
ee19a97869
io.sockets.windows: wrap ioctlsocket and related constants to enable
...
setting sockets in non-blocking mode
2014-04-02 16:50:20 -05:00
Björn Lindqvist
f8387a08ae
Merge:
...
io.sockets.secure.windows: use non-blocking sockets to prevent
SSL_connect from blocking
On Windows, SSL_connect may hang forever if the server doesn't send any
data. To counteract that we temporarily set the socket non-blocking and
then call select in the wait-for-fd method.
Conflicts:
basis/io/sockets/secure/openssl/openssl-tests.factor
2014-04-02 12:16:51 -05:00
Björn Lindqvist
4d8f3e8a78
io.sockets.secure.openssl: do-ssl-connect needs to call wait-for-fd
2014-04-02 12:13:21 -05:00
Björn Lindqvist
eaca04de3b
libc: several vocabs now need to depend on libc
2014-04-02 12:13:00 -05:00
Björn Lindqvist
753b2f0177
io.files: make wait-for-fd generic and dispatch depending on backend
...
do-ssl-accept need to call wait-for-fd so it needs to be generic. On
windows it's a noop but on unix it will wait for the fd.
2014-04-02 12:12:49 -05:00
Björn Lindqvist
6421af3401
io.sockets.secure.*: unification of lots of platform-independent code
...
Code that is duplicated in the backends moved to
io.sockets.secure.openssl. The wait-for-fd verb used by do-ssl-accept
doesn't have any equivalent on Windows so that needs to be
implemented.
2014-04-02 12:12:37 -05:00
Björn Lindqvist
5f38df7741
io.sockets.secure.windows: reading and writing from ssl sockets
...
Unified the drain and refill generics and put their definition in
io.files. They are now used by both the windows and unix ssl backend
for io. Windows ssl kind of works now, but the error cases are not
implemented correctly.
2014-04-02 12:12:14 -05:00
Björn Lindqvist
8c5ceb8b0c
io.files.windows: new generic words drain and refill, like in io.backend.unix
...
The purpose of these words is to abstract out the pushing of the bytes
to the ports so that you can insert the ssl layer in between. Exactly
like how drain and refill are specialized on ssl-handle in
io.sockets.secure.unix.
2014-04-02 12:12:04 -05:00
Björn Lindqvist
6ed3a09b5d
io.sockets.secure: new hook variable ssl-certificate-verification-supported?
...
t if the backend is able to verify certificates, f
otherwise. Currently certificate validation isn't implemented on Windows
2014-04-02 12:11:53 -05:00
John Benediktsson
03b7e67547
fix some help-lint errors.
2014-03-12 20:08:15 -07:00
John Benediktsson
0a2fef0775
io.sockets: change protocol-port to handle ``f`` on all platforms.
2014-03-12 07:27:39 -07:00
John Benediktsson
0a2e632d4c
io.standard-paths.unix: fix tests on arch linux.
2014-03-11 11:37:00 -07:00
John Benediktsson
b039b6a542
io.streams.string: cleanup tests.
2014-03-11 11:25:53 -07:00
John Benediktsson
ee040a242c
io.streams: some more test cases for sequence-read-until.
2014-03-10 15:29:11 -07:00
Björn Lindqvist
39b13b6736
io.sockets.secure.openssl: guard against SSL_get_peer_certificate returning null
2014-03-06 18:41:37 +01:00
John Benediktsson
332fc7bc1a
io.files.info.unix.linux: cleanup stack effects.
2014-02-27 15:26:38 -08:00
John Benediktsson
bf1f4e9aa2
io.streams.sequence: cleanup by moving type checks.
2014-02-25 09:32:47 -08:00
John Benediktsson
f243b31ddd
io.streams.sequence: rename (stream-seek) to sequence-seek.
2014-02-25 07:56:28 -08:00
John Benediktsson
ee9ead89f8
io.streams.sequence: bounds check sequence-read-until.
2014-02-25 07:52:07 -08:00
John Benediktsson
0b04d3f279
io.streams.string: faster M\ string-reader stream-readln.
2014-02-24 21:47:49 -08:00
John Benediktsson
2fe03b6711
io.streams.string: inline <string-writer> so with-string-writer is faster.
2014-02-10 20:46:25 -08:00
John Benediktsson
517268c18f
io.encodings.utf7: add copyright for Björn Lindqvist.
2014-01-11 08:55:54 -08:00
Björn Lindqvist
a47c41e45c
io.encodings.utf7: cleaned up vocab per review
...
1. Tuple is used to hold the decoding buffer instead of a global
2. Fixed problematic sequence type conversions.
2014-01-11 08:43:36 -08:00
Björn Lindqvist
797d73bb8c
io.encodings.utf7: documentation and metadata files
2014-01-11 08:43:36 -08:00
Björn Lindqvist
c286d91289
io.encodings.utf7: working utf7 decoding with tests
2014-01-11 08:43:36 -08:00
Björn Lindqvist
9a7a2648fd
io.encodings.utf7: decoder implementation, doesn't support utf7imap4 yet
2014-01-11 08:43:36 -08:00
Björn Lindqvist
9c90bc0c67
io.encodings.utf7: better encoding using the group-by combinator
2014-01-11 08:43:36 -08:00
Björn Lindqvist
900c670894
io.encodings.utf7: implementation of decoding for new codec utf7
2014-01-11 08:43:36 -08:00
John Benediktsson
1acf307e15
io.streams: make stream-element-type inline on string-reader and byte-reader.
2013-12-02 17:44:03 -08:00
Doug Coleman
a71e2d8060
io.sockets.secure.openssl: Fix docs.
2013-11-28 12:59:36 -06:00
John Benediktsson
473fdc0d84
io.encodings.string: faster decode by using sbufs.
2013-11-24 16:22:29 -08:00
John Benediktsson
13ec450ac8
io.encodings.string: faster for ascii and utf8.
2013-11-24 16:08:26 -08:00
John Benediktsson
0806a8ce15
io.encodings: string>byte-array-fast for when aux>> is f.
2013-11-24 13:43:00 -08:00
John Benediktsson
53592b9c7d
io.sockets.secure.windows: add platforms.txt.
2013-11-16 16:20:34 -08:00
Doug Coleman
4bcb356ba8
io.sockets.secure.openssl: libssl error is opaque, check that cert files
...
exist in Factor beforehand so we can get a nicer error message.
Add missing USE: and neaten up the list.
2013-11-16 15:59:31 -08:00
Björn Lindqvist
5f2238f7d4
io.sockets.secure.windows: secure socket implementation for windows, it works reasonably but certificate validation is not working correctly yet
2013-10-11 10:23:40 -07:00
Björn Lindqvist
729bd8a362
io.sockets.secure.openssl.tests: remove windows.winsock import and another test for subject-name
2013-10-11 10:23:40 -07:00
Björn Lindqvist
ad627a1395
openssl.libssl: on windows the X509_* family of functions is in a
...
different dll than the other functions in libssl
2013-10-11 10:23:40 -07:00
Doug Coleman
e407981e12
io.directories: Add with-resource-directory word and use it.
2013-09-24 13:13:39 -07:00
John Benediktsson
602e0aab94
io.ports: speed up stream-flush.
2013-09-18 19:27:40 -07:00
Björn Lindqvist
bc56b5099f
io.sockets, urls: move documentation for protocol-port
2013-09-16 17:31:37 -07:00
Björn Lindqvist
7c179f876c
unix.ffi, windows.winsock: wraps for servent functions
2013-09-16 17:31:37 -07:00
John Benediktsson
32b07016b0
io.sockets.secure.openssl: some style improvements.
2013-09-16 17:24:31 -07:00
Björn Lindqvist
44a1d61bd4
io.sockets.secure: common-name -> subject-name
2013-09-16 17:17:48 -07:00
Björn Lindqvist
c2fd5031e0
io.sockets.secure, io.sockets.secure.openssl: improved host name verification that takes into account a certificates subject alternative names.
2013-09-16 17:17:48 -07:00
Björn Lindqvist
f4f60b8ba3
io.sockets.secure.openssl: support for getting issuer name
2013-09-16 17:17:47 -07:00
Doug Coleman
7ed9365c00
io.monitors.recursive: Fry quotations - do not apply liberally.
2013-07-16 14:43:29 -07:00
Doug Coleman
36a4eb7ee1
io.monitors.recursive: Bug - <recursive-monitor> could fail and leak a file monitor.
...
Fix - Monitors tests were "leaking" dummy-monitors objects.
2013-07-16 14:30:38 -07:00
Doug Coleman
ec1ecbe549
io.directories.unix: If you mount a .iso, all the file types are +unknown+ according to directory-files.
...
Fall back to file-info on +unknown+ file types and use with-directory in with-unix-directory so the paths are correct for file-info.
Fixes #911 .
2013-07-11 09:46:26 -07:00
Doug Coleman
1136ed9c19
io.launcher: Fix bug -- if dispose fails, still call dispose on the other
...
resource.
2013-05-19 10:22:07 -07:00
Doug Coleman
7c1caacc35
io.launcher: Fix two potential bugs.
...
1) If first (pipe) succeeds but second one fails, first pipe leaks.
2) out>> dispose fails, then in>> dispose is never called and leaks.
2013-05-19 10:18:14 -07:00
Doug Coleman
c64cb2c886
io.pipes: If dispose on in>> throws, then out>> leaks.
2013-05-19 10:12:38 -07:00
Doug Coleman
19002c93a6
io.files.info: Longer names for file-info predicates.
2013-04-18 10:08:42 -07:00
Doug Coleman
345b5bb678
io.files.info: Add file? and symlink? words.
2013-04-18 07:35:47 -07:00
Doug Coleman
7a35d85f30
io.directories.search: Show directory entries instead of throwing them away.
2013-04-13 16:18:54 -07:00
Doug Coleman
84a93dd998
io.directories.search.windows: Windows8 doesn't find ProgramFiles with the
...
existing methods, find it in an os-env.
2013-04-09 12:19:06 -07:00
John Benediktsson
1718c69e56
io.files: use split instead of split*.
2013-03-31 16:04:11 -07:00
John Benediktsson
5a99bbaf1d
io.directories.unix: style fix to line up code.
2013-03-25 19:47:56 -07:00
Doug Coleman
4bb509ccdf
io.encodings.strict: Fix docs
2013-03-25 11:57:25 -07:00
Doug Coleman
efc2dedab4
io.pools: Fix load
2013-03-24 21:40:29 -07:00
Doug Coleman
f12633e73b
io.launcher.unix, unix.ffi: Reset ignored signal in process launcher. Fix SIG_DFL etc.
2013-03-24 12:38:02 -07:00
Doug Coleman
e0216808e2
io.encodings.strict: Rename
2013-03-24 10:11:18 -07:00
Doug Coleman
dc1adc942b
io.pools: Rename
2013-03-24 10:11:17 -07:00
Doug Coleman
20e14a96df
unix.statfs etc: Naming conflicts.
2013-03-23 22:38:38 -07:00
Doug Coleman
f4410e295a
io.files.info.windows: Fix file-info-tuple inheritance.
2013-03-23 19:14:28 -07:00
Doug Coleman
3b7d0681af
unix: rename C function kevent.
2013-03-23 17:44:00 -07:00
Doug Coleman
2761c45277
io.files.info: Fix unit test.
2013-03-23 17:20:00 -07:00
Doug Coleman
d2024a84e3
io.files.info: Rename file-info and file-system-info.
2013-03-23 16:43:32 -07:00
Doug Coleman
8c19602ae9
assocs: Add of and ?of. Change all the things at once! Fixes #701 .
2013-03-23 14:59:07 -07:00
Doug Coleman
f9ea61bf91
basis/extra: Update last usages of <sliced-groups> to <groups>.
2013-03-23 12:08:18 -07:00
Doug Coleman
8917ae9ad7
grouping: Remove <groups>, old <sliced-groups> is now <groups>. Fixes
2013-03-23 11:37:51 -07:00
John Benediktsson
67a2b9dc9a
io.encodings: speed up ascii and utf8 stream-read-until.
2013-03-18 13:35:22 -07:00
John Benediktsson
86b2dea8d5
io.encodings: remove duplication in decoder-readln.
2013-03-15 10:50:40 -07:00
John Benediktsson
68fed78c7d
io.encodings.strict: some fixes.
2013-03-15 07:55:20 -07:00
John Benediktsson
d11805228f
io.files.info.unix.linux: use string>csv instead.
2013-03-15 06:40:24 -07:00
Doug Coleman
ce72121c7a
basis: End <PRIVATE with PRIVATE>.
2013-03-10 22:36:57 -07:00
Doug Coleman
d7a61ae809
io.encodings.utf32: Fix unmatched <PRIVATE.
2013-03-10 22:20:59 -07:00
John Benediktsson
85d0c607b0
io.directories: fix docs for (directory-entries).
2013-03-06 17:35:53 -08:00
Doug Coleman
f4834ce51c
io.backend.unix: Nobody uses (refill), remove it.
2013-02-05 09:35:51 -08:00
John Benediktsson
83712ad87e
io.directories: defining "?delete-file".
2012-10-25 10:07:15 -07:00
Doug Coleman
2921829b79
windows: Attempt to fix circularity.
2012-10-24 19:03:25 -07:00
John Benediktsson
04e783a886
io.files.info.unix: errno EACCES should be handled separately.
2012-10-24 17:51:13 -07:00
John Benediktsson
83b40e44d2
io.files.info: make access checks throw on file-does-not-exist.
2012-10-24 17:40:00 -07:00