John Benediktsson
7c2e8d0fad
io.launcher.unix: simplify use of temp-directory.
2016-03-18 10:36:45 -07:00
John Benediktsson
32b29f7079
io.files.info: cleanup by using with-temp-directory.
2016-03-17 17:51:36 -07:00
John Benediktsson
2e85dd2eb3
io.directories: simplify tests by using with-temp-directory.
2016-03-17 17:11:59 -07:00
Doug Coleman
d4b8e44399
license rename: fix the rest of it.
2016-03-17 02:36:34 -07:00
John Benediktsson
73de6246b7
io.files.temp: use a startup hook as the temp directory could change from run to run.
2016-03-16 21:40:25 -07:00
Doug Coleman
2aadc94b10
io.files.temp: Initialize symbols after the backends are loaded. Top level code sucks.
2016-03-16 21:25:19 -07:00
John Benediktsson
33b6c0426d
io.files.temp: allow changing of current temp and cache directory.
2016-03-16 15:19:10 -07:00
John Benediktsson
497f8cb514
Update tests for LICENSE.txt rename.
2016-03-16 10:13:56 -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
Doug Coleman
334cc880ec
io.standard-paths.windows: We call >lower on the paths being compared, but
...
not on the original file we are looking for. So searching for something
like "Code.exe" would never find it. Fixed.
2016-03-07 13:21:30 -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
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