Commit Graph

1221 Commits (f7b7b5afbf419cc8ea06e1c55e21b9bb5a32cecd)

Author SHA1 Message Date
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
Doug Coleman c458b7dcaf io.files.info.windows: Implement file-readable?, writable?, and executable? 2012-10-24 17:29:32 -07:00
John Benediktsson 379f060636 io.files.info.unix: make sure to normalize so special paths work. 2012-10-24 17:11:35 -07:00
John Benediktsson 37bb5f6917 io.files.info: adding checks for read, write, or execute permissions. 2012-10-24 16:44:12 -07:00
John Benediktsson 013160df9a change some "2drop 2drop" to "4drop". 2012-10-23 12:21:30 -07:00
John Benediktsson 87f55eb033 Change "3dup drop" to "2over". 2012-10-22 20:45:15 -07:00
John Benediktsson adb3a15d21 io.launcher.unix: fix tests to use arch in file names. 2012-09-22 10:30:10 -07:00
Doug Coleman 0bdcf5173f io.files.info: On my Windows7 box, D: is "not really there" and it kills
file-systems. Ignore errors instead of dying.
2012-09-16 17:23:25 -07:00
Doug Coleman bcc86baf45 io.sockets: Minor cleanup. 2012-08-26 00:04:53 -07:00
Doug Coleman 30673f65cf io.ports: More correct memory handling. There are still leaks in the tests... 2012-08-25 19:44:22 -07:00
Doug Coleman 27f445d505 assocs: Add sift-keys and sift-values. Remove three other implementations
of sift-values and use the new one.
2012-08-23 22:36:10 -07:00
John Benediktsson 8343c88f4d io.sockets: fix stack effect names. 2012-08-02 14:49:50 -07:00
John Benediktsson 7d8d6cdd51 core-foundation.run-loop: remove reset on every iteration. 2012-08-01 16:59:33 -07:00
John Benediktsson 1b32690d22 io.backend.unix.multiplexors.run-loop: switch to "mx get-global". 2012-08-01 16:20:31 -07:00
John Benediktsson 1a3e8a2994 io.backend: fix docs to show nanoseconds instead of micros. 2012-08-01 12:08:18 -07:00
John Benediktsson 3e6e6458e5 core-foundation.run-loop: do less work, speeds up yield by 50%. 2012-08-01 10:57:58 -07:00