Commit Graph

11453 Commits (dff051696eb3ecda883a12e3f056257cf50406e8)

Author SHA1 Message Date
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
John Benediktsson d3935d2ef3 add some libc usings for macosx. 2014-04-16 07:55:37 -07:00
Doug Coleman 3fa95d3370 smtp: Use a config object. Fix docs. Fix unit tests. 2014-04-15 21:59:14 -07:00
Doug Coleman c0fbf0455d tools.scaffold: Add word to scaffold a mason rc file. 2014-04-15 19:05:00 -07:00
John Benediktsson ebc8b769c6 vocabs.files: change vocab-tests example to sort output. 2014-04-15 13:35:59 -07:00
John Benediktsson 8fc9b823e3 help.lint.checks: remove leaks check for now due to bootstrap issues. 2014-04-15 10:48:49 -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 a48567b8af Docs: more matrix-related documentation 2014-04-14 08:42:09 -07:00
Björn Lindqvist 8b4af6bc86 Docs: doc and examples for math.matrices 2014-04-14 08:42:09 -07:00
Björn Lindqvist 9b28623b4f Docs: examples for io.launcher words 2014-04-14 08:42:09 -07:00
Björn Lindqvist 1b620dee5b Docs: examples for vocab-files and vocab-tests 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
Björn Lindqvist e151972d47 urls.tests: unit tests for url-addr 2014-04-14 08:42:08 -07:00
Björn Lindqvist d3e5312b44 urls: example for secure url-addr 2014-04-14 08:42:08 -07:00
Björn Lindqvist 792ed03b4d help.lint.checks: check for disposable leaks and print more details when $values are wrong 2014-04-14 08:37:52 -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 29006e4a86 libc: fix tests using. 2014-04-04 09:29:42 -07:00
John Benediktsson d031109cc4 libc: test "1 strerror" since zero gives different output on different platforms. 2014-04-04 09:28:39 -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 4676ff921a windows.winsock: fix the definition of SOCKET_ERROR and unit tests that
verifies its correctness
2014-04-02 16:50:13 -05:00
Björn Lindqvist a5397756fe windows.winsock: use the windows api types instead of int and void*
where applicable
2014-04-02 16:50:06 -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 58388f7c26 libc: fix vocab definition of platform dependent parts of libc 2014-04-02 12:13:14 -05:00
Björn Lindqvist a222ac173b libc.*: add platform files 2014-04-02 12:13:07 -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 57a933e330 libc.*, unix.*: move constants and functions from the unix namespace to libc
The E* errno and SIG* constants are defined on Windows too, so they
should be in the libc vocab which is available there. They will be
used for SSL error handling.
2014-04-02 12:12:25 -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 dcd3938d0d images.loader: simplify registrations. 2014-03-14 09:17:13 -07:00
John Benediktsson ab76deaf25 images: minor cleanup. 2014-03-14 08:26:05 -07:00
John Benediktsson 4e206f4181 images.loader: optionally register "non-system" image classes. 2014-03-14 07:32:27 -07:00
Björn Lindqvist 944718c817 images.loader: docs for save-graphic-image 2014-03-14 07:32:26 -07:00
Björn Lindqvist 3a8164cd8a images.loader: support for saving images on the gtk-image backend 2014-03-14 07:32:26 -07:00
John Benediktsson d4a56057f0 http.client: add starred versions that do not check response code for success. 2014-03-13 12:26:35 -07:00
John Benediktsson 03b7e67547 fix some help-lint errors. 2014-03-12 20:08:15 -07:00
John Benediktsson 272102e647 http.client: fix duplicate using. 2014-03-12 19:51:50 -07:00
John Benediktsson ed5bc3b8fa http.client: few more fixes. 2014-03-12 19:49:58 -07:00
John Benediktsson cb9c171383 http.client: remove unused word. 2014-03-12 19:39:15 -07:00
John Benediktsson 712be93989 http.client: remove http-get* and its friends, change http-request* and with-http-request* to not check response codes. 2014-03-12 19:39:15 -07:00
John Benediktsson a6989e2cc2 logging.server: add support for changing the logging root temporarily. 2014-03-12 12:41:57 -07:00
John Benediktsson 317b0c8d20 oauth needs this, and this needed protocol-port fixes.
Revert "Revert "urls: Allow URLs of the form //foo.com, which take on the protocol of the URL they derive from.""

This reverts commit 76fa8b7a29f3738f44230c473b7edf841f1de7c3.
2014-03-12 07:43:40 -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 65846fb5ba Revert "urls: Allow URLs of the form //foo.com, which take on the protocol of the URL they derive from."
This reverts commit e6598fc22fd91309288fbe9840f7872d8fd84438.
2014-03-11 20:20:23 -07:00
Doug Coleman c6fd2da67f tools.coverage: Add a ``test-coverage-recursively`` word. Not all vocabs can be tested for unit test coverage, so don't make this the default. Fixes #1013. 2014-03-11 21:20:34 -05: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 e0e88895a1 loggin: some cleanup, particularly of write-message. 2014-03-11 11:22:24 -07:00
John Benediktsson ee040a242c io.streams: some more test cases for sequence-read-until. 2014-03-10 15:29:11 -07:00
John Benediktsson b0b5e6733d Revert "Revert "alien.data: <ref> doesn't need to zero memory.""
This reverts commit 01142121511d4b9338c84286d4efdd3c8d5a4665.
2014-03-07 11:19:36 -08:00
John Benediktsson 985faa7ec7 Revert "alien.data: <ref> doesn't need to zero memory."
This reverts commit f9a714b48fc1700431b61f7f1968893d2b2b3ee7.
2014-03-07 09:46:13 -08: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 04a4e0ed5c checksums.sha: minor speedup. 2014-03-04 10:05:03 -08:00
Björn Lindqvist 3bbdd067be ui.backend.gtk: connect ui signals before realizing the widget
gtk_widget_add_events() needs to be called before gtk_widget_realize()
otherwise oxygen-gtk will steal all lmb clicks
2014-03-02 19:11:55 -08:00
John Benediktsson ab5b128192 alien.data: <ref> doesn't need to zero memory. 2014-02-27 20:53:54 -08:00
John Benediktsson e5850f93e0 calendar.unix: simplify current-timeval. 2014-02-27 15:26:52 -08:00
John Benediktsson 332fc7bc1a io.files.info.unix.linux: cleanup stack effects. 2014-02-27 15:26:38 -08:00
John Benediktsson dae32f2d9d checksums.internet: simplify. 2014-02-27 14:03:00 -08:00
John Benediktsson 5e4ac4b698 checksums.xxhash: cleanup, faster. 2014-02-27 13:59:34 -08:00
John Benediktsson 0fb0eaa1cf random: simplify using bitwise operations. 2014-02-25 15:59:51 -08:00
John Benediktsson a05c735731 checksums.md5: remove extra "32 bits". 2014-02-25 15:59:43 -08:00
John Benediktsson 212af2d05d checksums.murmur: remove code duplication. 2014-02-25 15:56:16 -08:00
John Benediktsson 5e210e36b9 checksums.xxhash: adding xxHash checksum implementation. 2014-02-25 15:55:32 -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 dcd8d4ef51 pack: add some tests for expand-pack-format. 2014-02-24 13:48:11 -08:00
John Benediktsson 77c122941d pack: support numbered format strings. 2014-02-24 11:23:13 -08:00
Björn Lindqvist 1456e14a09 ui.backend.windows: correct wndproc signature so that factor works with vs2012 2014-02-21 17:40:43 -08:00
Björn Lindqvist dc3c947a5e csv: empty strings and files are valid csv:s 2014-02-19 03:37:37 -08:00
John Benediktsson 6fd68ecb64 checksums.md5: more types and inline, lots faster. 2014-02-17 18:26:57 -08:00
John Benediktsson c3f79c1482 checksums.sha: more types, faster. 2014-02-17 18:26:17 -08:00
Doug Coleman 48562e6e48 random.mersenne-twister: Don't use system-random-generator to initialize
Mersenne Twister. If there is no system random generator, startup can
fail.
2014-02-14 18:48:25 -08:00
Björn Lindqvist 3715bb6b9a windows.errors: fix #987 2014-02-12 18:08:52 -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 4f631c4f8b generalizations: fix docs for nrot and -nrot. 2014-02-10 20:40:01 -08:00
John Benediktsson 6e0a9fdf1f formatting: make printf faster. 2014-02-10 20:39:08 -08:00
Björn Lindqvist a82dc84f2d formatting: new format specifier for unparsed representation 2014-02-09 21:09:24 -08:00
John Benediktsson ebbfa17b47 math.bitwise: fix docs for mask and unmask (they don't return a boolean). 2014-02-09 15:36:49 -08:00
John Benediktsson 9aa160ad91 random.mersenne-twister: fix name of stack effect. 2014-02-09 11:00:57 -08:00
John Benediktsson d9961f5f4a random.mersenne-twister: more complete fix for bias. 2014-02-07 11:56:29 -08:00
John Benediktsson 0110bd49f1 random.mersenne-twister: fix non-random bias. 2014-02-07 07:31:53 -08:00
John Benediktsson 7d489d5839 xml.tokenize: fix cdata parsing problem. 2014-02-06 21:12:57 -08:00
John Benediktsson a718127fd1 random: some cleanup. 2014-02-06 18:17:03 -08:00
John Benediktsson c02fc27afc random: faster random-bits, make some things private. 2014-02-06 17:54:33 -08:00
John Benediktsson 986714489d random: 40% faster random-bytes*. 2014-02-06 11:05:16 -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 b910ca090c compiler.tree.propagation.transforms: previous H{ } and HS{ } optimization no longer necessary. 2014-01-08 09:56:08 -08:00
John Benediktsson 54cca48aca use swapd in a few places. 2014-01-05 20:30:38 -08:00
John Benediktsson abd069c1ad math.matrices: add error for negative m^n (and test). 2014-01-05 20:08:55 -08:00
John Benediktsson 97b0ad7499 math.polynomials: add test for negative p^. 2014-01-05 20:08:46 -08:00
John Benediktsson 351d68b1e1 Revert "alien.libraries: dlopen should handle resource:-paths"
This reverts commit cc663fff88fa7321af6deea424890128d3b0bc07.

Conflicts:
	basis/alien/libraries/libraries-tests.factor
2013-12-20 21:07:31 -08:00
John Benediktsson 135c0bd5ed random: add help for random-unit. 2013-12-13 10:11:51 -08:00
John Benediktsson 0cbf869261 math.bits: fix docs for make-bits to be more clear. 2013-12-12 18:30:49 -08:00
Björn Lindqvist 4db103b91e alien.libraries.tests: compressed USING line.. at least its in alphabetical order 2013-12-12 18:00:25 -08:00
Björn Lindqvist ab7494eef9 alien.libraries: dlopen should handle resource:-paths 2013-12-12 18:00:25 -08:00
Doug Coleman 288ebd6c88 urls: Allow URLs of the form //foo.com, which take on the protocol of the URL they derive from. 2013-12-07 11:43:32 -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 47a0ebcc99 compiler.tree.propagation.transforms: faster H{ } and HS{ } clone. 2013-11-25 16:42:59 -08:00
John Benediktsson 1cfcf39bda Revert "math.functions: make float sqrt a little faster."
This reverts commit 7ae5e9c0c11bbc82ac7854bfa5964723e1cb42d9.
2013-11-25 16:42:52 -08:00
John Benediktsson 76e32e8a5f summary: adding summary of sets. 2013-11-25 16:25:02 -08:00
John Benediktsson 97530d86d4 compiler.tree.propagation.transforms: rename to non-negative-fixnum?. 2013-11-25 12:58:21 -08:00
John Benediktsson 9bb5e34762 compiler.tree.propgation.transforms: make bit? use integer>fixnum. 2013-11-25 12:48:48 -08:00
John Benediktsson fafeecb5fb math.functions: make float sqrt a little faster. 2013-11-25 11:14:51 -08:00
John Benediktsson e4e349741b fix some uses of "1 head*" to be "but-last". 2013-11-24 20:42:30 -08: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 069d09807e math.bitwise: removing bit-clear? since it is just "bit? not". 2013-11-24 12:05:52 -08:00
John Benediktsson 17941b8ad7 math.bitwise: speed up >signed. 2013-11-24 12:01:08 -08:00
John Benediktsson 29ca470b79 checksums.superfast: use bits word. 2013-11-24 10:45:55 -08:00
John Benediktsson ee294292f6 checksums.murmur: use bits word. 2013-11-24 10:45:46 -08:00
John Benediktsson 627993fc1a checksums.superfast: reuse more code, slightly faster for non-byte-arrays. 2013-11-24 09:58:02 -08:00
John Benediktsson 405e543f92 checksums.superfast: reuse code and make a bit faster. 2013-11-23 18:49:59 -08:00
John Benediktsson 34853bf550 checksums.superfast: make checksum on byte-arrays much faster. 2013-11-22 18:50:59 -08:00
John Benediktsson 055895da3b checksums.murmur: make checksum on byte-arrays much faster. 2013-11-22 18:50:38 -08:00
John Benediktsson 670439ce81 checksums.superfast: implementation of SuperFastHash. 2013-11-22 17:45:41 -08:00
John Benediktsson 3207dac8a0 checksums.murmur: should be unsigned int32. 2013-11-22 17:06:18 -08:00
John Benediktsson 1367ced138 checksums.murmur: implementation of MurmurHash. 2013-11-22 10:34:19 -08:00
John Benediktsson 52498a9f67 checksums.fletcher: adding Fletcher's checksum in 16/32/64-bits. 2013-11-22 09:03:17 -08:00
John Benediktsson 7c9e0f3017 concurrency.combinators: adding parallel-assoc-map. 2013-11-21 14:52:38 -08:00
John Benediktsson 6d9f5c7f00 colors: implement no-op color conversions. 2013-11-20 20:40:08 -08:00
John Benediktsson a634f8c0ff hints: add string specializer to member-eq?. 2013-11-20 16:38:57 -08:00
Björn Lindqvist 27e40ec005 pcre: moved from basis/ to extra/ 2013-11-19 18:13:39 -08:00
Björn Lindqvist 6748bc4bc7 pcre: support for the regexp literal syntax from the regexp vocab 2013-11-19 18:13:39 -08:00
Björn Lindqvist 0c08896981 pcre: fix tc that failed on Windows 2013-11-19 18:13:39 -08:00
Björn Lindqvist a7648bb5a8 pcre: encoding needs to be set to utf8 2013-11-19 18:13:38 -08:00
Björn Lindqvist 8193dc2891 pcre: load dll on windows 2013-11-19 18:13:38 -08:00
Björn Lindqvist 5a67c54486 pcre: correct directory structure to factors expected format 2013-11-19 18:13:38 -08:00
Björn Lindqvist ba8810dac3 pcre: new module pcre.utils for the utility functions which aren't really regexp-related 2013-11-19 18:13:38 -08:00
Björn Lindqvist 80c32e2bc6 pcre: findnext algorithm improved 2013-11-19 18:13:38 -08:00