Commit Graph

1958 Commits (2433ec8276838e90136669d5b1215ba597f15fdd)

Author SHA1 Message Date
Ben Noordhuis 2433ec8276 buffer: allocate memory with mmap()
Work around an issue with the glibc malloc() implementation where memory blocks
are never returned to the operating system when they are allocated with brk()
and have overlapping lifecycles.

Fixes #4283.
2012-12-16 10:19:09 +01:00
isaacs cd51fa8f5a test: Update message tests for streams2 2012-12-14 17:46:24 -08:00
isaacs abbd47e4a3 test: Update simple/test-fs-{write,read}-stream-err for streams2
Streams2 style streams might have already kicked off a read() or write()
before emitting 'data' events.  Make the test less dependent on ordering
of when data events occur.
2012-12-14 17:46:23 -08:00
isaacs 19ecc3a4a6 test updates for streams2 2012-12-14 17:46:23 -08:00
isaacs 0977638ffb test: Fix many tests for http streams2 refactor 2012-12-14 17:46:23 -08:00
isaacs b4df1e62de test updates 2012-12-14 10:52:30 -08:00
isaacs 695abba5ac test: Fix many tests for streams2 net refactor 2012-12-14 10:52:30 -08:00
isaacs f8bb031bdc test: Sync writables may emit finish before callbacks 2012-12-14 10:52:28 -08:00
isaacs 99021b7a4f streams2: pause() should be immediate 2012-12-14 10:52:28 -08:00
isaacs 42981e2aad streams2: Switch to old-mode immediately, not nextTick
This fixes the CONNECT/Upgrade HTTP functionality, which was not getting
sliced properly, because readable wasn't emitted on this tick.

Conflicts:

	test/simple/test-http-connect.js
2012-12-14 10:52:28 -08:00
isaacs e0c600e00e test: Tests for streaming crypto interfaces 2012-12-14 10:52:27 -08:00
isaacs 175f78c6ba crypto: Streaming api for Hmac 2012-12-14 10:52:27 -08:00
isaacs 90de2ddb77 crypto: Streaming interface for Hash 2012-12-14 10:52:26 -08:00
isaacs 3d3a0b3046 test: Writable stream end() method doesn't take a callback 2012-12-14 10:52:26 -08:00
isaacs 70461c39be test: simple/test-file-write-stream needs to use 0 lowWaterMark 2012-12-14 10:52:26 -08:00
isaacs 79fd9620f5 test: Fix test-repl-autolibs inspect call 2012-12-14 10:52:26 -08:00
isaacs 0e01d6398f zlib: streams2 2012-12-14 10:52:26 -08:00
isaacs 44b308b1f7 fs: streams2 2012-12-14 10:52:26 -08:00
isaacs 49ea653363 streams2: Remove pipe if the dest emits error 2012-12-13 17:00:34 -08:00
isaacs 2ff499c022 streams2: Do multipipe without always using forEach
The Array.forEach call is too expensive.
2012-12-13 17:00:32 -08:00
isaacs c2f62d496a test: Update stream2 transform for corrected behavior 2012-12-13 17:00:32 -08:00
isaacs acfb0ef908 test: fixture for streams2 testing 2012-12-13 17:00:28 -08:00
isaacs f3e71eb417 test: Writable bufferizing, non-bufferizing, and callbacks 2012-12-13 17:00:27 -08:00
isaacs 9b1b85490b streams2: Tests of new interfaces 2012-12-13 17:00:26 -08:00
isaacs 77ed12fe7a Merge remote-tracking branch 'ry/v0.8' into master
Conflicts:
	AUTHORS
	ChangeLog
	deps/uv/test/test-spawn.c
	deps/uv/uv.gyp
	src/cares_wrap.cc
	src/node.cc
	src/node_version.h
	test/simple/test-buffer.js
	tools/gyp/pylib/gyp/common.py
	tools/install.py
2012-12-13 16:57:58 -08:00
Ben Noordhuis d65832ccd0 fs: fix WriteStream fd leak
Close the file descriptor when a write operation fails.

Fixes #4387.
2012-12-12 09:46:22 +01:00
Ben Noordhuis 6e97b2cc17 fs: fix ReadStream fd leak
Close the file descriptor when a read operation fails.

Fixes #4387.
2012-12-12 09:46:22 +01:00
Ben Noordhuis 65d824b488 test: add common.mustCall function
Verifies that the callback gets invoked <n> times during the lifetime of the
test script.

This is a back-port of commit d0e6c3f from the master branch.
2012-12-12 09:46:09 +01:00
Ryunosuke SATO eb502205d5 events: setMaxListeners() should not have side effects
This object initialization has been unnecessary since 12cf730b.

Ref #3803.
2012-12-10 13:07:35 +01:00
Bert Belder 3c293ba272 http: protect against response splitting attacks 2012-12-07 17:13:51 -08:00
isaacs 33fa740577 fs: Raise error when null bytes detected in paths
Reworking of @bnoordhuis's more aggressive approach.
2012-12-07 16:52:46 -08:00
Ben Noordhuis 5b65638124 tls, https: add tls handshake timeout
Don't allow connections to stall indefinitely if the SSL/TLS handshake does
not complete.

Adds a new tls.Server and https.Server configuration option, handshakeTimeout.

Fixes #4355.
2012-12-06 17:39:24 +01:00
Ben Noordhuis 3ece130ea2 process: add getgroups(), setgroups(), initgroups()
DRY the getuid(), getgid(), etc. functions while we're at it.
2012-12-06 17:14:58 +01:00
Ben Noordhuis c81dec70e6 test: remove simple/test-child-process-fork2
The test assumes the parent and the child are scheduled fairly. Probably true
most of the time but not always, making it fail spuriously.

Bad test, remove it.
2012-12-05 05:46:20 +01:00
Shigeki Ohtsu 1c8a5269c5 test: fix simple/test-debug-brk-file race condition
V8 debug agent needs some time to be ready and no longer sends the first event
break response to a debug client. We wait some time to connect the agent and
check its break status by obtaining breakpoint list and seeing if it exists on
line 0.
2012-12-05 04:31:22 +01:00
Ben Noordhuis 1f76a2eddc fs: add long stacktrace debugging facility
Enable long stacktraces if NODE_DEBUG=fs is set in the environment. Only
applies to the default rethrow callback; it's to help you find places where
you forgot to pass in a callback.
2012-12-04 08:12:12 +01:00
Ben Noordhuis 9d02bfbc25 test: fix simple/test-setproctitle on freebsd 2012-12-03 03:08:19 +01:00
isaacs 4de274cbee test: TTY only has writeBuffer(), not write()
This test is only passing because it's skipped normally.
2012-12-01 11:17:51 -08:00
Trevor Norris 6772308883 buffer: Don't double-negate numeric buffer arg
Fix #4331

Using double negate forces values into 32bit space. Because of this
Math.ceil needs to be used. Since NaN comparisons are always false, use
that to our advantage to return 0 if it is.

Also added two tests to verify the changes.
2012-11-30 16:23:49 -08:00
Joshua Erickson c9f2531ae0 net: More accurate IP address validation and IPv6 dotted notation.
* Added isIP method to make use of inet_pton to cares_wrap.cc
* Modified net.isIP() to make use of new C++ isIP method.
* Added new tests to test-net-isip.js.

This is a back-port of commit fb6377e from the master branch.
2012-11-28 21:51:27 +01:00
Chad Rhyner 8fc578b631 test: disable eio-race tests
Disabled the following unit tests:

* test-eio-race.js
* test-eio-race2.js
* test-eio-race4.js

These tests are known to fail on busy boxes due to being timing sensitive,
and are deemed not meaningful tests.

See https://github.com/joyent/node/issues/4272

Fixes #4272.
2012-11-27 07:18:00 +01:00
Ben Noordhuis 121ed91331 tls: fix tls.connect() resource leak
The 'secureConnect' event listener was attached with .on(), which blocked it
from getting garbage collected. Use .once() instead.

Fixes #4308.
2012-11-26 01:51:05 +01:00
Ben Noordhuis 4cb17cb219 net: fix net.connect() resource leak
The 'connect' event listener was attached with .on(), which blocked it from
getting garbage collected. Use .once() instead.

Fixes #4308.
2012-11-24 15:27:14 +01:00
Scott Blomquist f657ce685d windows: add tracing with performance counters
Patch by Henry Rawas and Scott Blomquist.
2012-11-21 01:21:53 +01:00
Bert Belder bc9388342f windows: fix normalization of UNC paths 2012-11-21 01:21:25 +01:00
Ben Noordhuis b6e989759b repl: don't interpret floating point numbers
Don't interpret floating point numbers, e.g. ".1234", as REPL commands.

Fixes #4268.
2012-11-10 18:21:17 +01:00
Bert Belder b3bfb6fbb6 domains: don't crash if domain is set to null
Closes #4256
2012-11-09 00:49:24 +01:00
Nathan Rajlich 5e4e87ade5 os: add os.endianness() function 2012-11-08 12:31:45 -08:00
Nathan Rajlich 3c91a7ae10 readline: use a "string_decoder" to parse "keypress" events
While updating the readline test cases to test both "terimal: false" and
"terminal: true" mode, it turned out that the test case testing utf8 chars
being sent over multiple write() calls was failing. The solution is to use
a string_decoder instance when parsing the "keypress" events.
2012-11-06 16:28:30 -08:00
Nathan Rajlich e95e095289 readline: don't emit "line" events with a trailing '\n' char
Before this commit, readline was inconsistent in whether or not it would emit
"line" events with or without the trailing "\n" included. When "terminal"
mode was true, then there would be no "\n", when it was false, then the "\n"
would be present. However, the trailing "\n" doesn't add much, and most of the
time people just end up stripping it manually.

Part of #4243.
2012-11-06 16:28:24 -08:00