Chris Dent [Mon, 14 Jan 2013 22:24:30 +0000 (22:24 +0000)]
install: add simplejson fallback
Make tools/install.py work with python 2.5
2.5 is still fairly widespread and does not include a json lib as
standard. Most python folk will have simplejson if they are in that
boat.
In general it seems a bit tricky to solve this perfectly...
Bert Belder [Sat, 5 Jan 2013 21:14:50 +0000 (22:14 +0100)]
buffer: zero-length buffers shouldn't be slab-backed
Fedor Indutny [Mon, 14 Jan 2013 17:09:35 +0000 (21:09 +0400)]
tls: allow wildcards in common name
see #4592
Ben Noordhuis [Mon, 14 Jan 2013 15:35:03 +0000 (16:35 +0100)]
http: fix "Cannot call method 'emit' of null"
Fix the following exception:
http.js:974
this._httpMessage.emit('close');
^
TypeError: Cannot call method 'emit' of null
at Socket.onServerResponseClose (http.js:974:21)
at Socket.EventEmitter.emit (events.js:124:20)
at net.js:421:10
at process._tickCallback (node.js:386:13)
at process._makeCallback (node.js:304:15)
Fixes #4586.
isaacs [Fri, 11 Jan 2013 19:24:37 +0000 (11:24 -0800)]
blog: release v0.9.6
Nathan Rajlich [Fri, 11 Jan 2013 00:59:09 +0000 (16:59 -0800)]
make binary: allow custom config flags
For example, to cross-compile from my OS X laptop for Raspberry Pi, you would
do something like:
$ make binary BINARYNAME=node-v`python tools/getnodeversion.py`-linux-arm-pi \
DESTCPU=arm CONFIG_FLAGS="--dest-os=linux"
isaacs [Thu, 10 Jan 2013 15:47:09 +0000 (07:47 -0800)]
blog, changelog: 0.8.17 was released in 2013, not 2012
isaacs [Thu, 10 Jan 2013 03:05:37 +0000 (19:05 -0800)]
blog: Correct shasums for v0.8.17
isaacs [Thu, 10 Jan 2013 01:21:16 +0000 (17:21 -0800)]
blog: Add security notice to v0.8.17 post
isaacs [Thu, 10 Jan 2013 01:08:24 +0000 (17:08 -0800)]
blog: Post about v0.8.17
isaacs [Thu, 10 Jan 2013 01:07:33 +0000 (17:07 -0800)]
Now working on 0.8.18
isaacs [Thu, 10 Jan 2013 01:07:21 +0000 (17:07 -0800)]
Merge branch 'v0.8.17-release' into v0.8
isaacs [Thu, 10 Jan 2013 00:04:21 +0000 (16:04 -0800)]
2012.01.09, Version 0.8.17 (Stable)
* npm: Upgrade to v1.2.0
- peerDependencies (Domenic Denicola)
- node-gyp v0.8.2 (Nathan Rajlich)
- Faster installs from github user/project shorthands (Nathan Zadoks)
* typed arrays: fix 32 bit size/index overflow (Ben Noordhuis)
* http: Improve performance of single-packet responses (Ben Noordhuis)
* install: fix openbsd man page location (Ben Noordhuis)
* http: bubble up parser errors to ClientRequest (Brian White)
Ben Noordhuis [Wed, 9 Jan 2013 23:39:44 +0000 (00:39 +0100)]
typed arrays: fix 32 bit size/index overflow
Fix an out-of-bound read/write bug due to integer wrapping. Reported by
Dean McNamee.
isaacs [Wed, 9 Jan 2013 23:21:30 +0000 (15:21 -0800)]
npm: Upgrade to v1.2.0
Fedor Indutny [Fri, 4 Jan 2013 12:37:38 +0000 (16:37 +0400)]
object_wrap: add missing HandleScope
by Sven Panne's suggestion, see [0] for details.
[0]: https://code.google.com/p/v8/issues/detail?id=2468
Ben Noordhuis [Tue, 8 Jan 2013 03:27:34 +0000 (04:27 +0100)]
dgram: don't assert on send('string')
Raise a TypeError when the argument to send() or sendto() is anything
but a Buffer.
Fixes the following assertion:
$ node -e 'require("dgram").createSocket("udp4").send("BAM")'
node: ../../src/udp_wrap.cc:220: static v8::Handle<v8::Value>
node::UDPWrap::DoSend(const v8::Arguments&, int): Assertion
`Buffer::HasInstance(args[0])' failed.
Aborted (core dumped)
Fixes #4496.
Johannes Ewald [Fri, 4 Jan 2013 18:07:40 +0000 (19:07 +0100)]
doc: improve example of process.hrtime()
The example clarifies now that diff[0] *
1000000000 + diff[1] equals
the result in nanoseconds.
Tim Bradshaw [Thu, 20 Dec 2012 22:29:45 +0000 (22:29 +0000)]
os: change CPU time from Integer to Number
CPU time values must be Numbers, not Integers, as they can be too large
for Integers on 32 bit platforms.
Ben Noordhuis [Sun, 30 Dec 2012 23:36:47 +0000 (00:36 +0100)]
doc: add CONTRIBUTING.md
isaacs [Sun, 30 Dec 2012 01:26:32 +0000 (17:26 -0800)]
blog: Post for v0.9.5
Ben Noordhuis [Sat, 29 Dec 2012 16:34:41 +0000 (17:34 +0100)]
deps: upgrade libuv to
4997738
Maciej Małecki [Fri, 21 Dec 2012 01:56:47 +0000 (02:56 +0100)]
build: allow to specify custom tags
When building custom `node` versions (e.g., floating features/fixes from
different versions) it's often useful to specify a custom tag which
easily identifies build when invoking `node -v`.
Introduce a way to specify this tag in `node_version.h` file or by
running `./configure --tag="<tag>"`. Insert it right after the patch
version (and before `-pre`, if build is not a release).
isaacs [Wed, 26 Dec 2012 23:26:53 +0000 (15:26 -0800)]
lint
isaacs [Fri, 21 Dec 2012 20:37:39 +0000 (12:37 -0800)]
blog: Post about v0.9.4
isaacs [Fri, 21 Dec 2012 16:42:29 +0000 (16:42 +0000)]
npm: upgrade to 1.1.70
isaacs [Fri, 21 Dec 2012 00:46:40 +0000 (00:46 +0000)]
blog: More streams2 wordsmithing
isaacs [Fri, 21 Dec 2012 00:08:50 +0000 (00:08 +0000)]
blog: Update blog post re streams2
Ben Noordhuis [Wed, 19 Dec 2012 11:35:07 +0000 (12:35 +0100)]
http: pack response body buffer in first tcp packet
Apply the same optimization to res.end(buf) that is applied to res.end(str).
Speeds up `node benchmark/http_simple_auto -k -c 1 -n 25000 buffer/1`
(non-chunked response body) by about 750x. That's not a typo.
Chunked responses:
$ cat tmp/http-chunked-client.js
// Run `node benchmark/http_simple` in another terminal.
var http = require('http'), url = require('url');
var options = url.parse('http://127.0.0.1:8000/buffer/1/1');
options.agent = new http.Agent({ maxSockets: 1 });
for (var i = 0; i < 25000; ++i) http.get(options);
Before:
$ time out/Release/node tmp/http-chunked-client.js
real 16m40.411s
user 0m9.184s
sys 0m0.604s
After:
$ time out/Release/node tmp/http-chunked-client.js
real 0m5.386s
user 0m2.768s
sys 0m0.728s
That's still a 185x speed-up.
Fixes #4415.
Ben Noordhuis [Wed, 19 Dec 2012 13:09:10 +0000 (14:09 +0100)]
bench: use res.end() for chunked encoding
Use res.end() for the final chunk so we can benchmark the 'hot path' shortcut
in lib/http.js that packs the headers and the body into a single packet.
isaacs [Tue, 18 Dec 2012 16:43:45 +0000 (08:43 -0800)]
blog: post about streams2 feature
Nicolas Chambrier [Mon, 17 Dec 2012 15:53:52 +0000 (16:53 +0100)]
doc: add Google+ French community
Ben Noordhuis [Mon, 17 Dec 2012 11:05:14 +0000 (12:05 +0100)]
install: fix openbsd man page location
Man pages go into $PREFIX/man on OpenBSD, not $PREFIX/share/man.
Brian White [Tue, 7 Aug 2012 00:42:13 +0000 (20:42 -0400)]
http: bubble up parser errors to ClientRequest
Make parser errors bubble up to the ClientRequest instead of the underlying
net.Socket object.
This is a back-port of commit
c78678b from the master branch.
Fixes #3776.
isaacs [Thu, 13 Dec 2012 19:50:47 +0000 (11:50 -0800)]
blog: Post for 0.8.16
isaacs [Thu, 13 Dec 2012 19:50:35 +0000 (11:50 -0800)]
Now working on 0.8.17
isaacs [Thu, 13 Dec 2012 19:50:15 +0000 (11:50 -0800)]
Merge commit 'v0.8.16' into v0.8
isaacs [Wed, 12 Dec 2012 22:44:54 +0000 (14:44 -0800)]
2012.12.13, Version 0.8.16 (Stable)
* npm: Upgrade to 1.1.69
* fs: fix WriteStream/ReadStream fd leaks (Ben Noordhuis)
* crypto: fix leak in GetPeerCertificate (Fedor Indutny)
* buffer: Don't double-negate numeric buffer arg (Trevor Norris)
* net: More accurate IP address validation and IPv6 dotted notation. (Joshua Erickson)
isaacs [Wed, 12 Dec 2012 22:41:28 +0000 (14:41 -0800)]
npm: Upgrade to v1.1.69
Ben Noordhuis [Tue, 11 Dec 2012 15:01:58 +0000 (16:01 +0100)]
fs: fix WriteStream fd leak
Close the file descriptor when a write operation fails.
Fixes #4387.
Ben Noordhuis [Tue, 11 Dec 2012 13:45:45 +0000 (14:45 +0100)]
fs: fix ReadStream fd leak
Close the file descriptor when a read operation fails.
Fixes #4387.
Ben Noordhuis [Tue, 31 Jul 2012 15:47:53 +0000 (17:47 +0200)]
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.
isaacs [Tue, 11 Dec 2012 00:56:49 +0000 (16:56 -0800)]
doc: Add nodejstr to community page
Ben Noordhuis [Thu, 6 Dec 2012 20:58:29 +0000 (21:58 +0100)]
doc: remove broken require.extensions example
Fixes #4384.
Fedor Indutny [Sat, 1 Dec 2012 18:26:40 +0000 (22:26 +0400)]
crypto: fix leak in GetPeerCertificate
Ben Noordhuis [Sun, 2 Dec 2012 02:01:17 +0000 (03:01 +0100)]
tools: fix platform detection on freebsd, sunos
This is a back-port of upstream gyp commit r1482.
Ben Noordhuis [Sun, 2 Dec 2012 01:54:14 +0000 (02:54 +0100)]
install: fix freebsd man page location
Man pages go into $PREFIX/man on FreeBSD, not $PREFIX/share/man.
Lewuathe [Fri, 30 Nov 2012 01:13:52 +0000 (10:13 +0900)]
Fix dropped html tag
Trevor Norris [Fri, 30 Nov 2012 21:02:39 +0000 (13:02 -0800)]
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.
Kyle Robinson Young [Thu, 29 Nov 2012 18:59:12 +0000 (10:59 -0800)]
website: typo fixes
Joshua Erickson [Tue, 9 Oct 2012 00:51:59 +0000 (19:51 -0500)]
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.
Ryunosuke SATO [Tue, 27 Nov 2012 14:52:49 +0000 (23:52 +0900)]
doc: Fix missing link target to 'https.request()'
isaacs [Mon, 26 Nov 2012 17:18:51 +0000 (09:18 -0800)]
blog: Post for v0.8.15
isaacs [Mon, 26 Nov 2012 17:18:33 +0000 (09:18 -0800)]
Now working on 0.8.16
isaacs [Mon, 26 Nov 2012 17:12:52 +0000 (09:12 -0800)]
Merge branch 'v0.8.15-release' into v0.8
isaacs [Thu, 25 Oct 2012 20:49:32 +0000 (13:49 -0700)]
2012.11.26, Version 0.8.15 (Stable)
* npm: Upgrade to 1.1.66 (isaacs)
* linux: use /proc/cpuinfo for CPU frequency (Ben Noordhuis)
* windows: map WSAESHUTDOWN to UV_EPIPE (Ben Noordhuis)
* windows: map ERROR_GEN_FAILURE to UV_EIO (Bert Belder)
* unix: do not set environ unless one is provided (Charlie McConnell)
* domains: don't crash if domain is set to null (Bert Belder)
* windows: fix the x64 debug build (Bert Belder)
* net, tls: fix connect() resource leak (Ben Noordhuis)
Ben Noordhuis [Mon, 26 Nov 2012 00:50:04 +0000 (01:50 +0100)]
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.
Ben Noordhuis [Sat, 24 Nov 2012 14:24:36 +0000 (15:24 +0100)]
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.
isaacs [Fri, 23 Nov 2012 20:54:33 +0000 (12:54 -0800)]
blog: Don't filter out non-latest release notes
This causes too many people to ask me why it's broken.
isaacs [Fri, 23 Nov 2012 20:51:23 +0000 (12:51 -0800)]
npm: Upgrade to 1.1.66
Trevor Norris [Thu, 22 Nov 2012 17:30:18 +0000 (09:30 -0800)]
doc: Add lines about additonal uses of Buffer
That Buffers can be used with Typed Array Views and DataViews. Included
are a couple simple examples.
Closes #4257.
Ben Noordhuis [Tue, 20 Nov 2012 18:21:48 +0000 (19:21 +0100)]
deps: upgrade libuv to
5639b2f
Bert Belder [Thu, 8 Nov 2012 23:49:24 +0000 (00:49 +0100)]
domains: don't crash if domain is set to null
Closes #4256
Bert Belder [Thu, 8 Nov 2012 22:54:53 +0000 (23:54 +0100)]
windows: fix the x64 debug build
Francois Marier [Mon, 29 Oct 2012 03:13:10 +0000 (16:13 +1300)]
doc: remove duplicate set of options
Francois Marier [Mon, 29 Oct 2012 03:16:40 +0000 (16:16 +1300)]
doc: reflect hostname v. host preference in examples
The documentation for http.request and https.request states that
`hostname` is preferred over `host` so the code examples should
use that option name.
isaacs [Thu, 25 Oct 2012 21:42:47 +0000 (14:42 -0700)]
blog: Correct shasums for v0.8.14
isaacs [Thu, 25 Oct 2012 21:17:43 +0000 (14:17 -0700)]
blog: Post for v0.8.14
isaacs [Thu, 25 Oct 2012 21:16:53 +0000 (14:16 -0700)]
Now working on 0.8.15
isaacs [Thu, 25 Oct 2012 21:15:27 +0000 (14:15 -0700)]
Merge branch 'v0.8.14-release' into v0.8
isaacs [Thu, 25 Oct 2012 20:49:32 +0000 (13:49 -0700)]
2012.10.25, Version 0.8.14 (Stable)
* events: Don't clobber pre-existing _events obj in EE ctor (isaacs)
isaacs [Thu, 25 Oct 2012 20:37:08 +0000 (13:37 -0700)]
events: Don't clobber pre-existing _events obj in EE ctor
isaacs [Thu, 25 Oct 2012 19:53:03 +0000 (12:53 -0700)]
blog: Post for v0.8.13
isaacs [Thu, 25 Oct 2012 19:52:46 +0000 (12:52 -0700)]
Now working on 0.8.14
isaacs [Thu, 25 Oct 2012 19:52:26 +0000 (12:52 -0700)]
Merge branch 'v0.8.13-release' into v0.8
isaacs [Thu, 25 Oct 2012 18:32:31 +0000 (11:32 -0700)]
2012.10.25, Version 0.8.13 (Stable)
* V8: Upgrade to 3.11.10.25
* npm: Upgrade to 1.1.65
* url: parse hostnames that start with - or _ (Ben Noordhuis)
* repl: Fix Windows 8 terminal issue (Bert Belder)
* typed arrays: use signed char for signed int8s (Aaron Jacobs)
* crypto: fix bugs in DiffieHellman (Ben Noordhuis)
* configure: turn on VFPv3 on ARMv7 (Ben Noordhuis)
* Re-enable OpenSSL UI for entering passphrases via tty (Ben Noordhuis)
* repl: ensure each REPL instance gets its own "context" (Nathan Rajlich)
isaacs [Wed, 24 Oct 2012 16:21:39 +0000 (09:21 -0700)]
V8 build: 'echo -n' considered harmful
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.