Commit Graph

7156 Commits (ee77a6a953c65ff1fddf4017496387c42dd84d63)

Author SHA1 Message Date
Ben Noordhuis b7fd55e9a0 events: speed up newListener/removeListener events 2012-09-22 03:48:59 +02:00
Ben Noordhuis 84221fd1d6 events: add 'removeListener' event 2012-09-22 03:48:59 +02:00
Ben Noordhuis d0e6c3f5a6 test: add common.mustCall function
Verifies that the callback gets invoked <n> times during the lifetime of the
test script.
2012-09-22 03:48:58 +02:00
Bryan Cantrill 7bd84de5ed v8: loosen artificial mmap constraint
Fixes #4010.
2012-09-22 02:57:33 +02:00
isaacs 0400571676 domain: Properly exit() on domain disposal
This addresses #4034.  There are two problems happening:

1. The domain is not exited automatically when calling dispose() on it.
Then, since the domain is disposed, attempting to exit it again will do
nothing.

2. The active domain is stored on process.domain.  Since thrown errors
call `process.emit('uncaughtException', er)`, and the process is an
event emitter with a `.domain` member, it re-enters the domain a second
time before calling the error handler, pushing it onto the stack again.

Thus, if the handler calls `domain.dispose()`, then the domain is now on
the stack twice, and cannot be exited properly.  Since the domain is
disposed, any subsequent IO will be no-op'ed, since we've declared that
this context is done and best forgotten.

The solution here is twofold:

1. In EventEmitter.emit, do not enter the domain if `this===process`.
2. Automatically exit the domain when calling `domain.dispose()`.
2012-09-21 09:22:50 -07:00
Bryan Cantrill 017009f8c5 v8: fix postmortem metadata generation 2012-09-21 02:22:23 +02:00
isaacs d77c24de3f V8: reapply floating patches 2012-09-21 01:52:27 +02:00
isaacs 3411a03dd1 V8: Upgrade to 3.13.7.1 2012-09-21 01:52:24 +02:00
Bryan Cantrill cc1b09d6b7 test: add tests for postmortem and DTrace support 2012-09-21 01:51:57 +02:00
Ben Noordhuis bbf6b4ecbb configure: turn on VFPv3 on ARMv7
Fixes a V8 build error caused by missing arm_fpu and arm_neon settings.
2012-09-19 14:38:25 +02:00
Ben Noordhuis c4aedf8a2a doc: zlib: document flush() and reset() methods 2012-09-19 13:22:29 +02:00
Fedor Indutny 63ff449d87 crypto: bring module into modern age
Introduce 'buffer' encoding, allow returning and giving buffers as
arguments of 'crypto' routines.

Fix #3278
2012-09-18 10:58:37 +04:00
Fedor Indutny 3301c90ff7 authors: add @tasogarepg to AUTHORS 2012-09-18 10:57:59 +04:00
tasogarepg 21c4b9a9eb debugger: fix --debug-brk 2012-09-18 10:56:37 +04:00
isaacs d406a8250f Now working on v0.9.3 2012-09-17 18:34:48 -07:00
isaacs 7fcb7b4d9c Merge branch 'v0.9.2-release' 2012-09-17 18:34:31 -07:00
isaacs 43a2b29182 blog: Post for 0.9.2 2012-09-17 18:33:36 -07:00
isaacs 6e20558890 2012.09.17, Version 0.9.2 (Unstable)
* http_parser: upgrade to ad3b631

* openssl: upgrade 1.0.1c

* darwin: use FSEvents to watch directory changes (Fedor Indutny)

* unix: support missing API on NetBSD (Shigeki Ohtsu)

* unix: fix EMFILE busy loop (Ben Noordhuis)

* windows: un-break writable tty handles (Bert Belder)

* windows: map WSAESHUTDOWN to UV_EPIPE (Bert Belder)

* windows: make spawn with custom environment work again (Bert Belder)

* windows: map ERROR_DIRECTORY to UV_ENOENT (Bert Belder)

* tls, https: validate server certificate by default (Ben Noordhuis)

* tls, https: throw exception on missing key/cert (Ben Noordhuis)

* tls: async session storage (Fedor Indutny)

* installer: don't install header files (Ben Noordhuis)

* buffer: implement Buffer.prototype.toJSON() (Nathan Rajlich)

* buffer: added support for writing NaN and Infinity (koichik)

* http: make http.ServerResponse emit 'end' (Ben Noordhuis)

* build: ./configure --ninja (Ben Noordhuis, Timothy J Fontaine)

* installer: fix --without-npm (Ben Noordhuis)

* cli: make -p equivalent to -pe (Ben Noordhuis)

* url: Go much faster by using Url class (isaacs)
2012-09-17 17:54:59 -07:00
Bert Belder 9423aa995b openssl: fix the Windows x64 build 2012-09-17 17:54:59 -07:00
isaacs 22974a1acd openssl: Set flags to properly build on sunos 2012-09-17 17:54:59 -07:00
Bert Belder 90a625399f openssl: fix the Windows x64 build 2012-09-18 02:13:29 +02:00
isaacs 1510116337 test: fs.watch filename support on Darwin 2012-09-17 15:49:07 -07:00
isaacs b788c5e77b uv: Upgrade to 778144f0
joyent/libuv@778144f0b5
2012-09-17 15:36:15 -07:00
Alex Xu fb6c314b6d configure: always use shlex instead of split
Use shlex module instead of builtin string split to parse CC.
2012-09-17 22:59:42 +02:00
isaacs 7144be70db url: Go much faster by using Url class
V8 loves it when JavaScript pretends to be a Classic inheritance
type of language.

Before:

$ ./node benchmark/url.js
benchmarking parse() ... 1.868 sec
benchmarking format() ... 1.906 sec
benchmarking resolve("../foo/bar?baz=boom") ... 7.800 sec
benchmarking resolve("foo/bar") ... 7.099 sec
benchmarking resolve("http://nodejs.org") ... 8.403 sec
benchmarking resolve("./foo/bar?baz") ... 7.974 sec

After:

$ ./node benchmark/url.js
benchmarking parse() ... 1.769 sec
benchmarking format() ... 1.793 sec
benchmarking resolve("../foo/bar?baz=boom") ... 4.254 sec
benchmarking resolve("foo/bar") ... 3.932 sec
benchmarking resolve("http://nodejs.org") ... 4.382 sec
benchmarking resolve("./foo/bar?baz") ... 4.293 sec
2012-09-17 10:44:23 -07:00
Ben Noordhuis 39a0836d5c fs: fix watchFile() missing deletion events
Make sure the deletion event gets reported in the following scenario:

  1. Watch a file.
  2. The initial stat() goes okay.
  3. Something deletes the watched file.
  4. The second stat() fails with ENOENT.

The second stat() translates into the first 'change' event but a logic error
stopped it from getting emitted.

Fixes #4027.
2012-09-17 17:52:50 +02:00
Robin Lee a08271c7a8 doc: fix three typos 2012-09-17 16:05:53 +02:00
Ben Noordhuis 96ca59fbf3 process: fix setuid() and setgid() error reporting
Zero errno before calling getgrnam_r() or getpwnam_r(). If errno had previously
been clobbered, node would report the wrong error.
2012-09-17 07:20:47 +02:00
Ben Noordhuis 3806cf0d64 test: set rejectUnauthorized in tls/https tests
Update the tls and https tests to explicitly set rejectUnauthorized instead of
relying on the NODE_TLS_REJECT_UNAUTHORIZED environment variable getting set.
2012-09-15 00:19:30 +02:00
Ben Noordhuis 35607f3a2d tls, https: validate server certificate by default
This commit changes the default value of the rejectUnauthorized option from
false to true.

What that means is that tls.connect(), https.get() and https.request() will
reject invalid server certificates from now on, including self-signed
certificates.

There is an escape hatch: if you set the NODE_TLS_REJECT_UNAUTHORIZED
environment variable to the literal string "0", node.js reverts to its
old behavior.

Fixes #3949.
2012-09-15 00:19:06 +02:00
Bert Belder 4c171a504d uv: upgrade to 3d9de13 2012-09-14 04:00:30 +02:00
Bert Belder d908b83f59 uv: upgrade to a28f145 2012-09-14 02:56:41 +02:00
Ben Noordhuis db5c26e3b5 fs: fix assert in fs.watch()
Fix the following error:

  FSEventWrap: Aborting due to unwrap failure at ../../src/fs_event_wrap.cc:169

It's possible and legal for a handle to be closed twice. HandleWrap::Close()
deals with that by ignoring the second close. Now FSEventWrap::Close() does
too.

Fixes #3997.
2012-09-14 02:37:51 +02:00
Ben Noordhuis 07804c7c9a fs: don't segfault on deeply recursive stat()
Check that the calls to Integer::New() and Date::New() succeed and bail out if
they don't.

V8 returns an empty handle on stack overflow. Trying to set the empty handle as
a property on an object results in a NULL pointer dereference in release builds
and an assert in debug builds.

Fixes #4015.
2012-09-14 02:37:51 +02:00
Nathan Rajlich 1d52968d1d v8: Replace VFP by VFP2 in common.gypi
This fixes an omission in cl 10818026.
Patch by Nathan Rajlich.

Review URL: http://codereview.chromium.org/10913256
2012-09-13 15:00:46 -07:00
yangguo@chromium.org 25c2940a08 v8: Relax requirement from VFP3 to VFP2 where possible.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10818026

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-13 15:00:05 -07:00
Pavel Lang 7ab4a77d6f buffer: update constructor prototype
Change Buffer::New(char*, size_t) to Buffer::New(const char*, size_t).
2012-09-13 16:31:04 +02:00
Ben Noordhuis bec863b7de crypto: use uv_thread_self() 2012-09-13 16:20:36 +02:00
Ben Noordhuis dd1b947706 deps: upgrade libuv to 1f9bd99 2012-09-13 16:18:54 +02:00
Ben Noordhuis 2c97da82f5 bench: correct time calculation in url.js 2012-09-13 14:02:22 +02:00
Shigeki Ohtsu 1bcf29ef33 openssl: disable EC_NISTP_64_GCC_128 on ia32
uint128_t won't work on 32-bit platform

Closes #4008.
2012-09-12 20:51:40 -07:00
Ben Noordhuis 10ba95c11a bench: improve url parser benchmark 2012-09-13 01:21:54 +02:00
Felix Böhm f5c68b280f bench: add url parser benchmark 2012-09-13 01:21:53 +02:00
isaacs bb207c2827 Merge remote-tracking branch 'ry/v0.8' into master
Conflicts:
	ChangeLog
	src/node_version.h
	test/simple/test-util-inspect.js
2012-09-12 15:13:07 -07:00
Frédéric Germain 451ff1540a http: Remove timeout handler when data arrives 2012-09-12 09:50:06 -07:00
Ben Noordhuis d3fa0dcb89 openssl: disable harmless compiler warnings
Compile with -Wno-missing-field-initializers and -Wno-old-style-declaration.
The warnings are harmless but they clutter the build output a great deal.
2012-09-12 17:57:22 +02:00
Ben Noordhuis 58a5bc1ec7 doc: fs: clarfify fs.watch() documentation
fs.watch() is implemented on all supported platforms but, depending on the
object being watched, doesn't always work reliably (or at all).

Fixes #4005.
2012-09-12 17:08:32 +02:00
Bert Belder 4b8721aad0 openssl: remove obsolete patch files
These patches were provided by Android and Chromium. In this form they
are not useful. The ones that we need are landed as separate commits.

As of openssl 1.0.1c, three of them made it upstream:
  * npn.patch (Next Protocol Negotiation support)
  * tls_exporter.patch (RFC 5705 Keying Material Exporters for TLS)
  * openssl_no_dtls1.patch (minor bugfix)
2012-09-12 05:24:03 +02:00
Bert Belder 8d082d0f88 openssl: update the GYP build to work with openssl 1.0.1c 2012-09-12 05:24:01 +02:00
Bert Belder c4b9be7c5a openssl: replace symlinks by #include shims
Git for Windows can't create symlinks. This works too.
2012-09-12 05:23:59 +02:00