isaacs [Thu, 25 Oct 2012 16:15:35 +0000 (09:15 -0700)]
npm: Upgrade to 1.1.65
isaacs [Thu, 25 Oct 2012 14:48:36 +0000 (07:48 -0700)]
events: Make the EventEmitter class monomorphic
Always add domain, _events, and _maxListeners properties, set to the
default values at first.
Leads to a very very slight perf improvement when using setMaxListeners,
or dealing with a lot of EE objects that don't have any listeners.
Ben Noordhuis [Wed, 24 Oct 2012 22:52:15 +0000 (00:52 +0200)]
v8: remove optimization switches
Remove compiler switches from $(TOPLEVEL)/deps/v8/build/common.gypi, we set
them globally in $(TOPLEVEL)/common.gypi.
Commit
29d12c73 accidentally reintroduced the switches again. In particular,
the 'cflags!': ['-O2','-Os'] section forced building V8 without any
optimizations, resulting in a steep (~66%) performance drop on some benchmarks.
Fixes #4191.
Ben Noordhuis [Wed, 24 Oct 2012 22:44:37 +0000 (00:44 +0200)]
build: add --unsafe-optimizations configure switch
Turns on -O3 and other optimizations that may produce buggy code with some
toolchains. Use at your own risk.
Ben Noordhuis [Tue, 23 Oct 2012 12:06:04 +0000 (14:06 +0200)]
url: parse hostnames that start with - or _
Allow hostnames like '-lovemonsterz.tumblr.com' and '_jabber._tcp.google.com'.
Fixes #4177.
isaacs [Wed, 24 Oct 2012 17:08:58 +0000 (10:08 -0700)]
blog: Post for v0.9.3 release
Bert Belder [Wed, 24 Oct 2012 00:42:57 +0000 (02:42 +0200)]
repl: call resume() after setRawMode()
Solves #4178, but does not fix the underlying issue
Olivier Lalonde [Tue, 23 Oct 2012 16:45:10 +0000 (00:45 +0800)]
doc: child_process: document uid and gid spawn() options
isaacs [Tue, 23 Oct 2012 18:38:09 +0000 (11:38 -0700)]
V8: Reapply patches
isaacs [Tue, 23 Oct 2012 18:35:27 +0000 (11:35 -0700)]
V8: Upgrade to 3.11.10.25
isaacs [Tue, 23 Oct 2012 18:34:46 +0000 (11:34 -0700)]
npm: Upgrade to 1.1.64
Ben Noordhuis [Tue, 23 Oct 2012 15:07:23 +0000 (17:07 +0200)]
test: add typed arrays regression test
Ensure that uint8 values >= 128 are correctly promoted to int8 <= -1.
Aaron Jacobs [Tue, 23 Oct 2012 05:43:51 +0000 (16:43 +1100)]
typed arrays: use `signed char` for signed int8s
The C standard allows plain `char` to be unsigned. The build environment
at Google trips this issue.
yangguo@chromium.org [Tue, 23 Oct 2012 13:04:05 +0000 (13:04 +0000)]
v8: use correct timezone information on Solaris
`timezone` variable contains the difference, in seconds, between UTC and
local standard time (see `man 3 localtime` on Solaris).
Call to `tzset` is required to apply contents of `TZ` variable to
`timezone` variable.
BUG=v8:2064
Review URL: https://chromiumcodereview.appspot.com/
10967066
Patch from Maciej Małecki <me@mmalecki.com>.
This is a back-port of upstream commit r12802.
Ben Noordhuis [Sun, 21 Oct 2012 22:18:14 +0000 (00:18 +0200)]
crypto: fix DH use-after-free and memory leak
Fix a use-after-free bug and a memory leak in the error path of
DiffieHellman::ComputeSecret().
* the BIGNUM key was used after being freed with BN_free().
* the output buffer was not freed
Ben Noordhuis [Sun, 21 Oct 2012 22:03:47 +0000 (00:03 +0200)]
crypto: fix DH 1 byte buffer underflow
Passing a bad key to DiffieHellman::ComputeSecret() made it zero the byte
before the heap allocated buffer due to an erroneous size calculation.
Ben Noordhuis [Sun, 21 Oct 2012 21:55:52 +0000 (23:55 +0200)]
test: add diffie-hellman regression test
Exercises the error path in DiffieHellman::ComputeSecret() in src/node_crypto.cc
isaacs [Tue, 16 Oct 2012 17:59:23 +0000 (10:59 -0700)]
doc: Typo. s/arguemnt/argument/
Nathan Rajlich [Mon, 15 Oct 2012 21:51:43 +0000 (14:51 -0700)]
test: disable global variable check for "test-repl-options.js"
Previously, the "global" mode of REPLs was broken when created after another
non-global REPL (they would end up sharing the same context). Now that "global"
mode is fixed for that case (
b1e78cef097c682ed63528ad7efe294b18a9fb1d), this
test case gets its global scope modified with "module" and other REPL-specific
properties, so disable the global check.
Ben Noordhuis [Wed, 19 Sep 2012 12:37:08 +0000 (14:37 +0200)]
configure: turn on VFPv3 on ARMv7
Fixes a V8 build error caused by missing arm_fpu and arm_neon settings.
This is a back-port of commit bbf6b4e from the master branch.
Fixes #4142.
Ben Noordhuis [Mon, 15 Oct 2012 21:40:15 +0000 (23:40 +0200)]
Revert "Disable OpenSSL UI"
This reverts commit
1c88c3b3b56c6047180e116c5614dad2b13995f9.
It breaks the "read a password from stdin" functionality that OpenSSL provides.
Fixes #4059, #4143.
Conflicts:
deps/openssl/openssl.gyp
Jan Lehnardt [Sun, 14 Oct 2012 12:44:06 +0000 (14:44 +0200)]
docs: fix copy and paste error
Ben Noordhuis [Fri, 12 Oct 2012 13:27:47 +0000 (15:27 +0200)]
doc: rectify http.ClientResponse close/end events
* The 'close' event doesn't emit an error object.
* It's possible for a 'close' event to come after an 'end' event, contrary to
what the documentation said.
Fixes #4116.
Nathan Rajlich [Fri, 12 Oct 2012 23:34:36 +0000 (16:34 -0700)]
repl: ensure each REPL instance gets its own "context"
Before there was this weird module-scoped "context" variable which seemingly
shared the "context" of subsequent REPL instances, unless ".clear" was invoked
inside the REPL. To be proper, we need to ensure that each REPL gets its own
"context" object. I literally don't know why this "sharing" behavior was in place
before, but it was just plain wrong.
Max Ogden [Fri, 12 Oct 2012 18:31:59 +0000 (21:31 +0300)]
doc: set default background color to white
isaacs [Fri, 12 Oct 2012 15:57:25 +0000 (08:57 -0700)]
Now working on 0.8.13
isaacs [Fri, 12 Oct 2012 15:57:12 +0000 (08:57 -0700)]
blog: Post about 0.8.12
isaacs [Fri, 12 Oct 2012 15:56:53 +0000 (08:56 -0700)]
Merge branch 'v0.8.12-release' into v0.8
isaacs [Thu, 11 Oct 2012 21:22:13 +0000 (14:22 -0700)]
2012.10.12, Version 0.8.12 (Stable)
* npm: Upgrade to 1.1.63
* crypto: Reduce stability index to 2-Unstable (isaacs)
* windows: fix handle leak in uv_fs_utime (Bert Belder)
* windows: fix application crashed popup in debug version (Bert Belder)
* buffer: report proper retained size in profiler (Ben Noordhuis)
* buffer: fix byteLength with UTF-16LE (koichik)
* repl: make "end of input" JSON.parse() errors throw in the REPL (Nathan Rajlich)
* repl: make invalid RegExp modifiers throw in the REPL (Nathan Rajlich)
* http: handle multiple Proxy-Authenticate values (Willi Eggeling)
isaacs [Thu, 11 Oct 2012 21:11:38 +0000 (14:11 -0700)]
npm: Upgrade to 1.1.63
isaacs [Thu, 11 Oct 2012 15:32:36 +0000 (08:32 -0700)]
doc: Reduce crypto stability to 2-Unstable
Ben Noordhuis [Wed, 10 Oct 2012 22:44:49 +0000 (00:44 +0200)]
buffer: report proper retained size in profiler
Make buffers report the proper retained size in heap snapshots.
Before this commit, Buffer objects would show up in the heap profiler as being
only a few hundred bytes large, even if the actual buffer was many megabytes.
Bert Belder [Wed, 10 Oct 2012 15:18:48 +0000 (17:18 +0200)]
uv: upgrade to b0c1a38
Ben Noordhuis [Sun, 7 Oct 2012 22:00:30 +0000 (00:00 +0200)]
crypto: fix -Wtautological-compare warning
Andreas Madsen [Mon, 8 Oct 2012 17:10:29 +0000 (19:10 +0200)]
doc: consistent use of the callback argument
Andrew Paprocki [Sun, 7 Oct 2012 08:04:26 +0000 (10:04 +0200)]
Fix -Wsizeof-array-argument compiler warning.
Nathan Rajlich [Sat, 6 Oct 2012 01:33:28 +0000 (18:33 -0700)]
repl: move "isSyntaxError()" definition to the bottom
fixes lint "line length too long" error
Nathan Rajlich [Fri, 5 Oct 2012 23:48:13 +0000 (16:48 -0700)]
doc: document the custom "inspect()" function behavior
Closes #3361.
koichik [Tue, 2 Oct 2012 14:57:38 +0000 (23:57 +0900)]
buffer: fix byteLength with UTF-16LE
Fixes #4075.
Alex Kocharin [Wed, 3 Oct 2012 19:02:14 +0000 (23:02 +0400)]
doc: better example for process.hrtime()
Fixes #3984.
Ben Noordhuis [Wed, 3 Oct 2012 11:38:03 +0000 (13:38 +0200)]
doc: stream: clarify meaning of 'drain' some more
Courtesy of Lee Coltrane (@coltrane).
Ben Noordhuis [Mon, 1 Oct 2012 20:27:19 +0000 (22:27 +0200)]
doc: stream: clarify meaning of 'drain' event
isaacs [Mon, 1 Oct 2012 21:30:02 +0000 (14:30 -0700)]
doc: Correct stream.write fd mention
No streams actually work this way.
Nathan Rajlich [Mon, 1 Oct 2012 18:36:06 +0000 (11:36 -0700)]
repl: make "end of input" JSON.parse() errors throw in the REPL
Nathan Rajlich [Mon, 1 Oct 2012 05:43:35 +0000 (22:43 -0700)]
repl: make invalid RegExp modifiers throw in the REPL
Fixes #4012.
isaacs [Sun, 30 Sep 2012 22:47:27 +0000 (15:47 -0700)]
blog: s/LibUV/libuv/
isaacs [Sun, 30 Sep 2012 17:34:28 +0000 (10:34 -0700)]
blog: LXJS talk by @piscisaureus
thewilli [Mon, 24 Sep 2012 08:18:05 +0000 (11:18 +0300)]
http: handle multiple Proxy-Authenticate values
Just as the 'WWW-Authenticate' HTTP header the 'Proxy-Authenticate' header might
be received several times as well. Currently only one value is preserved. This
change allows to receive multiple values concatenated by space and comma.
isaacs [Thu, 27 Sep 2012 20:25:55 +0000 (13:25 -0700)]
doc: Make the CLA more simple/sane
1. Emails should go to @isaacs, not emily.
2. Ask for the electronic signature first, not the printed faxed thing.
isaacs [Thu, 27 Sep 2012 17:25:37 +0000 (10:25 -0700)]
blog: Post about 0.8.11
isaacs [Thu, 27 Sep 2012 17:25:12 +0000 (10:25 -0700)]
Now working on 0.8.12
isaacs [Thu, 27 Sep 2012 17:24:32 +0000 (10:24 -0700)]
Merge branch 'v0.8.11-release' into v0.8
isaacs [Thu, 27 Sep 2012 16:39:23 +0000 (09:39 -0700)]
2012.09.27, Version 0.8.11 (Stable)
* fs: Fix stat() size reporting for large files (Ben Noordhuis)
Bert Belder [Tue, 25 Sep 2012 23:56:42 +0000 (01:56 +0200)]
test: pick another CNAME record to test dns queries
Google.com no longer has a CNAME record.
Ben Noordhuis [Tue, 25 Sep 2012 23:20:08 +0000 (01:20 +0200)]
fs: fix stat() reporting for large files
Use Number::New(), not Integer::New(). Large values won't fit in an Integer.
Apply to the size, ino and blocks fields.
isaacs [Tue, 25 Sep 2012 22:37:53 +0000 (15:37 -0700)]
blog: Post about v0.8.10
isaacs [Tue, 25 Sep 2012 22:36:10 +0000 (15:36 -0700)]
Now working on 0.8.11
isaacs [Tue, 25 Sep 2012 22:33:01 +0000 (15:33 -0700)]
Merge branch 'v0.8.10-release' into v0.8
isaacs [Tue, 25 Sep 2012 15:09:30 +0000 (08:09 -0700)]
2012.09.25, Version 0.8.10 (Stable)
* npm: Upgrade to 1.1.62
* repl: make invalid RegExps throw in the REPL (Nathan Rajlich)
* v8: loosen artificial mmap constraint (Bryan Cantrill)
* process: fix setuid() and setgid() error reporting (Ben Noordhuis)
* domain: Properly exit() on domain disposal (isaacs)
* fs: fix watchFile() missing deletion events (Ben Noordhuis)
* fs: fix assert in fs.watch() (Ben Noordhuis)
* fs: don't segfault on deeply recursive stat() (Ben Noordhuis)
* http: Remove timeout handler when data arrives (Frédéric Germain)
* http: make the client "res" object gets the same domain as "req" (Nathan Rajlich)
* windows: don't blow up when an invalid FD is used (Bert Belder)
* unix: map EDQUOT to UV_ENOSPC (Charlie McConnell)
* linux: improve /proc/cpuinfo parser (Ben Noordhuis)
* win/tty: reset background brightness when color is set to default (Bert Belder)
* unix: put child process stdio fds in blocking mode (Ben Noordhuis)
* unix: fix EMFILE busy loop (Ben Noordhuis)
* sunos: don't set TCP_KEEPALIVE (Ben Noordhuis)
* tls: Use slab allocator for memory management (Fedor Indutny)
* openssl: Use optimized assembly code for x86 and x64 (Bert Belder)
Bert Belder [Tue, 25 Sep 2012 19:25:55 +0000 (21:25 +0200)]
openssl: fix compilation issues on SmartOS x64
the SunOS linker is more strict than usual, so we have to be more
correct.
isaacs [Tue, 25 Sep 2012 18:15:44 +0000 (11:15 -0700)]
test: Fix premature close in test-http-client-timeout-agent
isaacs [Tue, 25 Sep 2012 18:09:34 +0000 (11:09 -0700)]
tls: lint
cc @indutny >_<
isaacs [Tue, 25 Sep 2012 18:08:44 +0000 (11:08 -0700)]
domain: Remove stray console.log
Bert Belder [Wed, 12 Sep 2012 23:50:38 +0000 (01:50 +0200)]
openssl: use optimized asm code on x86 and x64
Bert Belder [Sat, 8 Sep 2012 00:43:18 +0000 (02:43 +0200)]
openssl: add generated asm code
Bert Belder [Fri, 21 Sep 2012 16:03:28 +0000 (18:03 +0200)]
openssl: add 'clean' target to asm Makefile
Ben Noordhuis [Mon, 10 Sep 2012 16:35:58 +0000 (18:35 +0200)]
openssl: generate asm code with a Makefile
Bert Belder [Fri, 21 Sep 2012 16:07:08 +0000 (18:07 +0200)]
openssl: disable HT sidechannel attack mitigation
It used to be off before. It's extremely unlikely that such an attack
would be a viable attack against node. And it makes AES much slower.
Bert Belder [Wed, 12 Sep 2012 23:11:06 +0000 (01:11 +0200)]
openssl: revert empty_OPENSSL_cpuid_setup.patch
Bert Belder [Wed, 12 Sep 2012 23:03:50 +0000 (01:03 +0200)]
openssl: fix perlasm issue
When perlasm generates MASM code it sets the assembler target to 468.
In this mode MASM refuses to assemble the CPUID instruction. Bumping
the target to 586 solves this problem.
Bert Belder [Sat, 8 Sep 2012 00:08:22 +0000 (02:08 +0200)]
openssl: add optimized bignum x64 asm code for windows
Fedor Indutny [Thu, 5 Jul 2012 19:50:21 +0000 (15:50 -0400)]
tls: use slab allocator
isaacs [Tue, 25 Sep 2012 15:28:55 +0000 (08:28 -0700)]
npm: upgrade to 1.1.62
Adam Blackburn [Sat, 22 Sep 2012 22:48:47 +0000 (16:48 -0600)]
doc: put API table of contents in alphabetical order
Nathan Rajlich [Mon, 24 Sep 2012 18:30:26 +0000 (11:30 -0700)]
http: make the client "res" object gets the same domain as "req"
Fixes #4046.
Nathan Rajlich [Sat, 22 Sep 2012 01:46:16 +0000 (18:46 -0700)]
repl: make invalid RegExps throw in the REPL
Fixes #2746.
Bert Belder [Sat, 22 Sep 2012 01:53:16 +0000 (03:53 +0200)]
uv: upgrade to 39ca621
Bryan Cantrill [Tue, 18 Sep 2012 22:35:29 +0000 (15:35 -0700)]
v8: loosen artificial mmap constraint
Fixes #4010.
isaacs [Thu, 20 Sep 2012 22:13:36 +0000 (15:13 -0700)]
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()`.
isaacs [Tue, 18 Sep 2012 01:33:36 +0000 (18:33 -0700)]
blog: Post for 0.9.2
Ben Noordhuis [Mon, 17 Sep 2012 15:40:23 +0000 (17:40 +0200)]
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.
Robin Lee [Sun, 2 Sep 2012 07:36:21 +0000 (15:36 +0800)]
doc: fix three typos
Ben Noordhuis [Mon, 17 Sep 2012 05:17:11 +0000 (07:17 +0200)]
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.
Ben Noordhuis [Fri, 14 Sep 2012 00:34:10 +0000 (02:34 +0200)]
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.
Ben Noordhuis [Thu, 13 Sep 2012 23:59:44 +0000 (01:59 +0200)]
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.
Nathan Rajlich [Mon, 20 Aug 2012 19:06:29 +0000 (12:06 -0700)]
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
yangguo@chromium.org [Mon, 20 Aug 2012 00:01:32 +0000 (17:01 -0700)]
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
Frédéric Germain [Sun, 9 Sep 2012 12:32:40 +0000 (14:32 +0200)]
http: Remove timeout handler when data arrives
Ben Noordhuis [Wed, 12 Sep 2012 15:04:31 +0000 (17:04 +0200)]
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.
Ben Noordhuis [Wed, 12 Sep 2012 00:46:45 +0000 (02:46 +0200)]
doc: http: expand request.headers documentation
isaacs [Tue, 11 Sep 2012 18:59:37 +0000 (11:59 -0700)]
Now working on 0.8.10
isaacs [Tue, 11 Sep 2012 18:57:57 +0000 (11:57 -0700)]
blog: Post for 0.8.9
isaacs [Tue, 11 Sep 2012 18:58:35 +0000 (11:58 -0700)]
Merge branch 'v0.8.9-release' into v0.8
isaacs [Tue, 11 Sep 2012 15:19:12 +0000 (08:19 -0700)]
2012.09.11, Version 0.8.9 (Stable)
* v8: upgrade to 3.11.10.22
* GYP: upgrade to r1477
* npm: Upgrade to 1.1.61
* npm: Don't create world-writable files (isaacs)
* windows: fix single-accept mode for shared server sockets (Bert Belder)
* windows: fix uninitialized memory access in uv_update_time() (Bert Belder)
* windows: don't throw when a signal handler is attached (Bert Belder)
* unix: fix memory leak in udp (Ben Noordhuis)
* unix: map errno ESPIPE (Ben Noordhuis)
* unix, windows: fix memory corruption in fs-poll.c (Ben Noordhuis)
* sunos: fix os.cpus() on x86_64 (Ben Noordhuis)
* child process: fix processes with IPC channel don't emit 'close' (Bert Belder)
* build: add a "--dest-os" option to force a gyp "flavor" (Nathan Rajlich)
* build: set `process.platform` to "sunos" on SunOS (Nathan Rajlich)
* build: fix `make -j` fails after `make clean` (Bearice Ren)
* build: fix openssl configuration for "arm" builds (Nathan Rajlich)
* tls: support unix domain socket/named pipe in tls.connect (Shigeki Ohtsu)
* https: make https.get() accept a URL (koichik)
* http: respect HTTP/1.0 TE header (Ben Noordhuis)
* crypto, tls: Domainify setSNICallback, pbkdf2, randomBytes (Ben Noordhuis)
* stream.pipe: Don't call destroy() unless it's a function (isaacs)
isaacs [Tue, 11 Sep 2012 17:57:16 +0000 (10:57 -0700)]
Update doc and test for sunos/solaris switch
isaacs [Tue, 11 Sep 2012 15:45:18 +0000 (08:45 -0700)]
doc: Fork me image should be full url
isaacs [Tue, 11 Sep 2012 15:43:20 +0000 (08:43 -0700)]
doc: Put current version on homepage
isaacs [Tue, 11 Sep 2012 15:40:17 +0000 (08:40 -0700)]
doc: Add Node Dublin to community page
isaacs [Mon, 10 Sep 2012 22:58:30 +0000 (15:58 -0700)]
stream.pipe: Don't call destroy() unless it's a function
isaacs [Mon, 10 Sep 2012 16:11:54 +0000 (09:11 -0700)]
npm: Upgrade to 1.1.61