Ben Noordhuis [Mon, 20 Aug 2012 15:20:41 +0000 (17:20 +0200)]
deps: upgrade libuv to
012cbda
Nathan Rajlich [Sun, 19 Aug 2012 18:11:47 +0000 (11:11 -0700)]
build: don't use "-Wnewline-eof" on OS X
This is the only thing preventing a manually compiled version of GCC
(rather than Apple's provided llvm-gcc or heavily modified gcc 4.2)
from working properly, so we might as well enable support for that.
With this patch I was able to compile node using a manually compiled
gcc 4.7.1.
Closes #3887.
Bert Belder [Fri, 17 Aug 2012 00:30:57 +0000 (02:30 +0200)]
windows: make junctions work again
Closes GH-3879
Bert Belder [Thu, 16 Aug 2012 23:08:06 +0000 (01:08 +0200)]
Avoid compiler warning about negating unsigned value
Bert Belder [Thu, 16 Aug 2012 22:46:52 +0000 (00:46 +0200)]
windows: avoid MSVC warnings about templates not having a dll interface
isaacs [Thu, 16 Aug 2012 16:56:31 +0000 (09:56 -0700)]
website: Improved install button behavior
Just install whatever's best for the OS.
Detect host os and architecture from the navigator properties. If we
can't make a good guess, then they get the tarball, and of course
everything we have is on the full download page.
isaacs [Tue, 24 Jul 2012 21:19:50 +0000 (14:19 -0700)]
v8: Reapply floating patches
isaacs [Thu, 16 Aug 2012 21:42:39 +0000 (14:42 -0700)]
v8: Upgrade to 3.11.10.18
isaacs [Thu, 16 Aug 2012 01:56:48 +0000 (18:56 -0700)]
blog: Fix binary links for 0.8.7 post
Nathan Rajlich [Thu, 16 Aug 2012 01:05:33 +0000 (18:05 -0700)]
email-footer: update the binary package links to x86/x64
isaacs [Thu, 16 Aug 2012 00:33:03 +0000 (17:33 -0700)]
website: fix font-size on 'explore' list items
isaacs [Thu, 16 Aug 2012 00:25:25 +0000 (17:25 -0700)]
Now working on 0.8.8
isaacs [Thu, 16 Aug 2012 00:25:01 +0000 (17:25 -0700)]
Merge branch 'v0.8.7-release' into v0.8
isaacs [Thu, 16 Aug 2012 00:23:59 +0000 (17:23 -0700)]
blog: release 0.8.7
isaacs [Wed, 15 Aug 2012 16:20:56 +0000 (09:20 -0700)]
2012.08.15, Version 0.8.7 (Stable)
* npm: Upgrade to 1.1.49
* website: download page (Golo Roden)
* crypto: fix uninitialized memory access in openssl (Ben Noordhuis)
* buffer, crypto: fix buffer decoding (Ben Noordhuis)
* build: compile with -fno-tree-vrp when gcc >= 4.0 (Ben Noordhuis)
* tls: handle multiple CN fields when verifying cert (Ben Noordhuis)
* doc: remove unused util from child_process (Kyle Robinson Young)
* build: rework -fvisibility=hidden detection (Ben Noordhuis)
* windows: don't duplicate invalid stdio handles (Bert Belder)
* windows: fix typos in process-stdio.c (Bert Belder)
isaacs [Wed, 15 Aug 2012 22:47:52 +0000 (15:47 -0700)]
website: Sharpen and clean up download page more
Retinaify the images!
isaacs [Wed, 15 Aug 2012 18:28:52 +0000 (11:28 -0700)]
build: Don't set gcc_version for Windows
isaacs [Wed, 15 Aug 2012 15:33:35 +0000 (08:33 -0700)]
website: Use table for download page
Paragraphs of text are too wordy.
Use big pretty images and clickable blocky links.
Golo Roden [Mon, 13 Aug 2012 15:43:26 +0000 (17:43 +0200)]
website: download page
- Improved styling of download links.
- index.html#download now redirects to /download/
- Added missing hyphens, and added the missing "and 64-bit" for the Mac
Installer.
isaacs [Wed, 15 Aug 2012 03:27:28 +0000 (20:27 -0700)]
npm: Upgrade to 1.1.49
- node-gyp@0.6.5
- abstracted-out configs
- publishing over proxies
- bugfixes to all the deps
Ben Noordhuis [Wed, 15 Aug 2012 00:10:02 +0000 (02:10 +0200)]
crypto: fix uninitialized memory access in openssl
ASN1_STRING_to_UTF8() passes an ASN1_STRING to ASN1_STRING_set() but forgot to
initialize the `length` field.
Fixes the following valgrind error:
$ valgrind -q --track-origins=yes --num-callers=19 \
out/Debug/node test/simple/test-tls-client-abort.js
==2690== Conditional jump or move depends on uninitialised value(s)
==2690== at 0x784B69: ASN1_STRING_set (asn1_lib.c:382)
==2690== by 0x809564: ASN1_mbstring_ncopy (a_mbstr.c:204)
==2690== by 0x8090F0: ASN1_mbstring_copy (a_mbstr.c:86)
==2690== by 0x782F1F: ASN1_STRING_to_UTF8 (a_strex.c:570)
==2690== by 0x78F090: asn1_string_canon (x_name.c:409)
==2690== by 0x78EF17: x509_name_canon (x_name.c:354)
==2690== by 0x78EA7D: x509_name_ex_d2i (x_name.c:210)
==2690== by 0x788058: ASN1_item_ex_d2i (tasn_dec.c:239)
==2690== by 0x7890D4: asn1_template_noexp_d2i (tasn_dec.c:746)
==2690== by 0x788CB6: asn1_template_ex_d2i (tasn_dec.c:607)
==2690== by 0x78877A: ASN1_item_ex_d2i (tasn_dec.c:448)
==2690== by 0x7890D4: asn1_template_noexp_d2i (tasn_dec.c:746)
==2690== by 0x788CB6: asn1_template_ex_d2i (tasn_dec.c:607)
==2690== by 0x78877A: ASN1_item_ex_d2i (tasn_dec.c:448)
==2690== by 0x787C93: ASN1_item_d2i (tasn_dec.c:136)
==2690== by 0x78F5E4: d2i_X509 (x_x509.c:141)
==2690== by 0x7C9B91: PEM_ASN1_read_bio (pem_oth.c:81)
==2690== by 0x7CA506: PEM_read_bio_X509 (pem_x509.c:67)
==2690== by 0x703C9A: node::crypto::SecureContext::AddRootCerts(v8::Arguments const&) (node_crypto.cc:497)
==2690== Uninitialised value was created by a stack allocation
==2690== at 0x782E89: ASN1_STRING_to_UTF8 (a_strex.c:560)
Ben Noordhuis [Wed, 8 Aug 2012 22:01:38 +0000 (00:01 +0200)]
test: raise pummel/test-net-throttle write req size
pummel/test-net-throttle assumes that a couple of big write requests result in
some of them getting queued because the kernel's send buffer fills up.
Said assumption breaks on systems with large send buffers. Raise the size of
the write request to ameliorate the issue.
This is a back-port of commit
6770555 from the master branch.
Ben Noordhuis [Tue, 14 Aug 2012 20:25:52 +0000 (22:25 +0200)]
buffer, crypto: fix buffer decoding
Before this commit, DecodeWrite() mistakenly tried to convert buffers to
UTF-8 strings which:
a) produced invalid character sequences when the buffer contained
octets > 127, and
b) lead to spurious test failures because DecodeWrite() wrote less bytes
than DecodeBytes() said it would, with the remainder either containing
zeros or garbage
Fix that by simply copying the buffer's data to the target buffer when the
encoding is BINARY or by converting the buffer to a binary string when it's
UTF8 or ASCII.
Fixes #3651, #3866.
Ben Noordhuis [Mon, 13 Aug 2012 13:04:03 +0000 (15:04 +0200)]
build: compile with -fno-tree-vrp when gcc >= 4.0
Ben Noordhuis [Mon, 13 Aug 2012 13:33:04 +0000 (15:33 +0200)]
deps: upgrade libuv to
2c3e8b6
Ben Noordhuis [Sun, 12 Aug 2012 19:46:56 +0000 (21:46 +0200)]
tls: handle multiple CN fields when verifying cert
Fixes #3861.
Kyle Robinson Young [Sat, 11 Aug 2012 17:56:04 +0000 (10:56 -0700)]
doc: remove unused util from child_process
Nathan Rajlich [Thu, 9 Aug 2012 23:30:41 +0000 (16:30 -0700)]
Makefile: add a better check to ensure a node "release"
Closes #3841.
Closes #3842.
isaacs [Tue, 7 Aug 2012 19:05:23 +0000 (12:05 -0700)]
blog post for 0.8.6
isaacs [Tue, 7 Aug 2012 19:02:49 +0000 (12:02 -0700)]
Now working on 0.8.7
isaacs [Tue, 7 Aug 2012 19:02:38 +0000 (12:02 -0700)]
Merge branch 'v0.8.6-release' into v0.8
isaacs [Mon, 6 Aug 2012 20:10:47 +0000 (13:10 -0700)]
2012.08.07, Version 0.8.6 (Stable)
* npm: Upgrade to v1.1.48
* Add 'make binary' to build binary tarballs for all Unixes (Nathan Rajlich)
* zlib: Emit 'close' on destroy(). (Dominic Tarr)
* child_process: Fix stdout=null when stdio=['pipe'] (Tyler Neylon)
* installer: prevent ETXTBSY errors (Ben Noordhuis)
* installer: honor --without-npm, default install path (Ben Noordhuis)
* net: make pause work with connecting sockets (Bert Belder)
* installer: fix cross-compile installs (Ben Noordhuis)
* net: fix .listen({fd:0}) (Ben Noordhuis)
* windows: map WSANO_DATA to UV_ENOENT (Bert Belder)
isaacs [Tue, 7 Aug 2012 02:09:36 +0000 (19:09 -0700)]
npm: Upgrade to 1.1.48
Fixes an issue with publishing readmes that are not called
'README.md', so that they still end up on the website
Nathan Rajlich [Mon, 6 Aug 2012 20:22:05 +0000 (13:22 -0700)]
install: prevent a KeyError from being thrown when PORTABLE is not set
isaacs [Mon, 6 Aug 2012 20:07:31 +0000 (13:07 -0700)]
npm: Upgrade to 1.1.47
isaacs [Mon, 6 Aug 2012 19:40:28 +0000 (12:40 -0700)]
Nathan Rajlich [Mon, 6 Aug 2012 19:25:45 +0000 (12:25 -0700)]
Merge branch 'binary-tarballs' into v0.8
Nathan Rajlich [Mon, 6 Aug 2012 18:57:47 +0000 (11:57 -0700)]
email-footer: add links to the expected common binary packages
We can do other OSs like 32 and 64-bit OS X, but we should encourage
users to use the installer on OS X so we'll omit it here.
Nathan Rajlich [Sat, 4 Aug 2012 22:34:04 +0000 (15:34 -0700)]
Makefile: move the release verification logic into a `make release-only` target
Nathan Rajlich [Sat, 4 Aug 2012 19:39:54 +0000 (12:39 -0700)]
Makefile: properly set the ARCH variable when forcing a DESTCPU
Nathan Rajlich [Sat, 4 Aug 2012 19:24:34 +0000 (12:24 -0700)]
Makefile: allow the dest-cpu to be specified for `make binary`
Needed for 64-bit Solaris, and 32-bit OS X
Nathan Rajlich [Sat, 4 Aug 2012 19:12:37 +0000 (12:12 -0700)]
Makefile: add `make binary` helper target
Nathan Rajlich [Sat, 4 Aug 2012 19:12:22 +0000 (12:12 -0700)]
Makefile: add `make tar` helper target
Nathan Rajlich [Sat, 4 Aug 2012 19:07:17 +0000 (12:07 -0700)]
Makefile: add target for precompiled binary tarballs
This target compiles node with "/" as the prefix and installs into a directory
like: "node-v0.8.6-darwin-x86_64". Then it creates a gzipped-tarball of that
directory, called something like: "node-v0.8.6-darwin-x86_64.tar.gz".
Nathan Rajlich [Mon, 6 Aug 2012 17:18:27 +0000 (10:18 -0700)]
install: add a "portable" mode to the shebang-rewriting logic
This "portable" mode rewrites the npm shebang to use the "node" executable
in the same directory relative to the "npm" script. This makes the "npm"
script "just work" even when "node" is not in the user's $PATH.
This mode is necessary for the precompiled binary packages that may potentially
be extracted to anywhere. The regular shebang-rewriting logic would normally
set the npm script's shebang to "/bin/node" which will not be present on anyone's
machine. In the end, we want the precompiled packages to be as user-friendly as
possible.
Nathan Rajlich [Sat, 4 Aug 2012 18:06:14 +0000 (11:06 -0700)]
install: install the "wafadmin/Tools" files into the correct dir
Previously they were going into just "wafadmin" and node-waf wasn't working.
Kyle Robinson Young [Sat, 4 Aug 2012 19:45:50 +0000 (12:45 -0700)]
doc: fix typos in child_process
isaacs [Sun, 5 Aug 2012 21:47:23 +0000 (14:47 -0700)]
doc: util.pump is deprecated. Use Stream.pipe
isaacs [Sun, 5 Aug 2012 21:22:44 +0000 (14:22 -0700)]
errnoException must be done immediately
isaacs [Sun, 5 Aug 2012 18:26:18 +0000 (11:26 -0700)]
test-message: fix message output
1. The net changes add a stack frame to stdin errors.
2. The error line numbers were overly strict in many places.
Nathan Rajlich [Sat, 4 Aug 2012 07:12:52 +0000 (00:12 -0700)]
install: use os.path.join() to create the npm shebang
Prettier formatting for the shebang if the "prefix" ends with a /
Dominic Tarr [Tue, 24 Jul 2012 14:40:58 +0000 (02:40 +1200)]
zlib: Emit 'close' on destroy().
Tyler Neylon [Fri, 3 Aug 2012 19:38:09 +0000 (12:38 -0700)]
child_process: Fix stdout=null when stdio=['pipe']
Previously, a command with a short stdio array would result in the child's
stdout and stderr objects set to null. For example:
var c = child_process.spawn(cmd, args, {stdio: ['pipe']});
// results in c.stdout === null.
The expected behavior is the above line functioning the same as this one:
var c = child_process.spawn(cmd, args, {stdio: ['pipe', null, null]});
// provides correct (non-null) c.stdout; as does the above, after this fix.
isaacs [Sat, 4 Aug 2012 18:30:44 +0000 (11:30 -0700)]
blog post for 0.6.21
Nathan Rajlich [Sat, 4 Aug 2012 07:10:58 +0000 (00:10 -0700)]
install: install the "wafadmin" files into the correct directory
Before they were just being copied into "lib/node/".
Now they go into "lib/node/wafadmin/".
Ben Noordhuis [Sat, 4 Aug 2012 00:41:32 +0000 (02:41 +0200)]
installer: prevent ETXTBSY errors
The installer does what amounts to `cp -p`. If the node binary is in use at
the time of the copy, it'd fail with a ETXTBSY error. That's why it's unlinked
first now.
Ben Noordhuis [Sat, 4 Aug 2012 00:18:16 +0000 (02:18 +0200)]
installer: honor --without-npm, default install path
* honor the --without-waf and --without-npm configure switches
* a small logic bug made the installer script install to $PWD instead of
/usr/local if --prefix= was not passed to configure
Bert Belder [Fri, 3 Aug 2012 15:11:08 +0000 (17:11 +0200)]
net: make pause work with connecting sockets
This fixes the problem that calling pause() on a socket would not
actually prevent 'data' events from being emitted. It also replaces
the existing test by a more elaborate one.
Ref: #3118
isaacs [Thu, 2 Aug 2012 22:00:57 +0000 (15:00 -0700)]
blog: Fix date on 0.8.5 release
isaacs [Thu, 2 Aug 2012 21:59:47 +0000 (14:59 -0700)]
Blog post about 0.8.5
isaacs [Thu, 2 Aug 2012 21:58:15 +0000 (14:58 -0700)]
Now working on 0.8.6
isaacs [Thu, 2 Aug 2012 21:57:34 +0000 (14:57 -0700)]
Merge branch 'v0.8.5-release' into v0.8
isaacs [Thu, 2 Aug 2012 15:12:22 +0000 (08:12 -0700)]
2012.08.02, Version 0.8.5 (Stable)
* node: tag Encode and friends NODE_EXTERN (Ben Noordhuis)
* fs: fix ReadStream / WriteStream missing callback (Gil Pedersen)
* fs: fix readFileSync("/proc/cpuinfo") regression (Ben Noordhuis)
* installer: don't assume bash is installed (Ben Noordhuis)
* Report errors properly from --eval and stdin (isaacs)
* assert: fix throws() throws an error without message property (koichik)
* cluster: fix libuv assert in net.listen() (Ben Noordhuis)
* build: always link sunos builds with libumem (Trent Mick)
* build: improve armv7 / hard-float detection (Adam Malcontenti-Wilson)
* https: Use host header as effective servername (isaacs)
* sunos: work around OS bug to prevent fs.watch() from spinning (Bryan Cantrill)
* linux: fix 'two watchers, one path' segfault (Ben Noordhuis)
* windows: fix memory leaks in many fs functions (Bert Belder)
* windows: don't allow directories to be opened for writing/appending (Bert Belder)
* windows: make fork() work even when not all stdio handles are valid (Bert Belder)
* windows: make unlink() not remove mount points, and improve performance (Bert Belder)
* build: Sign pkg installer for OS X (isaacs)
isaacs [Thu, 2 Aug 2012 20:35:41 +0000 (13:35 -0700)]
build: Sign pkg installer for OS X
This makes the installer work on Mountain Lion.
Ben Noordhuis [Thu, 2 Aug 2012 15:47:33 +0000 (17:47 +0200)]
doc: improve cluster.workers documentation
isaacs [Thu, 2 Aug 2012 15:11:09 +0000 (08:11 -0700)]
test: stdin error messages
isaacs [Thu, 2 Aug 2012 02:10:42 +0000 (19:10 -0700)]
npm: Upgrade to 1.1.46
Ben Noordhuis [Wed, 1 Aug 2012 23:06:31 +0000 (01:06 +0200)]
installer: fix cross-compile installs
The old installer was a JS script, which didn't work if node had been
cross-compiled for another architecture. Replace it with a python script.
Fixes #3807.
Ben Noordhuis [Thu, 2 Aug 2012 11:37:02 +0000 (13:37 +0200)]
net: fix .listen({fd:0})
Ben Noordhuis [Thu, 2 Aug 2012 10:11:35 +0000 (12:11 +0200)]
deps: remove openssl apps and tests
Shrinks the tarball by a few hundred kilobytes and fixes a broken symlinks
issue on Windows.
Fixes #3813.
Ben Noordhuis [Wed, 1 Aug 2012 23:35:51 +0000 (01:35 +0200)]
node: tag Encode and friends NODE_EXTERN
Makes the symbols visible on Windows. They were already visible on Unices.
Fixes #3811.
Gil Pedersen [Wed, 1 Aug 2012 14:04:28 +0000 (16:04 +0200)]
fs: fix ReadStream / WriteStream missing callback
The (undocumented) callback argument to .destroy() was not called if the
stream was no longer readable / writable.
Ben Noordhuis [Wed, 1 Aug 2012 18:25:24 +0000 (20:25 +0200)]
fs: fix readFileSync("/proc/cpuinfo") regression
Don't use positional reads. Not all proc files support pread(), especially on
older linux kernels.
Fixes #3808.
isaacs [Wed, 1 Aug 2012 17:14:17 +0000 (10:14 -0700)]
blog: Remove all windows line endings once and for all
Dave Pacheco [Wed, 1 Aug 2012 17:04:27 +0000 (10:04 -0700)]
update profiling blog post to use shell redirection instead of -o
isaacs [Wed, 1 Aug 2012 17:11:30 +0000 (10:11 -0700)]
blog: Remove ^M chars from profiling-node-js blog post
Ben Noordhuis [Wed, 1 Aug 2012 11:36:56 +0000 (13:36 +0200)]
installer: don't assume bash is installed
Use `/bin/sh` instead of `bash` when running the relocate.sh script.
Bert Belder [Tue, 31 Jul 2012 23:42:36 +0000 (01:42 +0200)]
Eugen Dueck [Tue, 31 Jul 2012 04:15:46 +0000 (13:15 +0900)]
doc: http: document res.write() `drain` return value
Bert Belder [Tue, 31 Jul 2012 22:52:37 +0000 (00:52 +0200)]
v8: don't show performance warnings when compiling with msvc
Patch sent upstream: http://codereview.chromium.org/
10829109/
Bert Belder [Tue, 31 Jul 2012 19:38:58 +0000 (21:38 +0200)]
docs: remove unused require from example
Closes GH-3801
Bert Belder [Tue, 31 Jul 2012 19:26:26 +0000 (21:26 +0200)]
Ben Noordhuis [Tue, 31 Jul 2012 11:45:16 +0000 (13:45 +0200)]
deps, tools: remove stray reject files
Ben Noordhuis [Tue, 31 Jul 2012 01:09:04 +0000 (03:09 +0200)]
doc: document child_process.fork() limitation
isaacs [Mon, 30 Jul 2012 18:01:50 +0000 (11:01 -0700)]
doc: Remove timeout arg in child_process.fork
Fix #3784
Shigeki Ohtsu [Mon, 30 Jul 2012 09:26:25 +0000 (18:26 +0900)]
doc: fix domains example
Need `utf8` encoding for JSON.parse and fix to avoid JSON.parse error when only
one argument is passed in domain.bind
isaacs [Sat, 28 Jul 2012 21:00:27 +0000 (14:00 -0700)]
Report errors properly from --eval and stdin
koichik [Sat, 24 Mar 2012 07:00:14 +0000 (16:00 +0900)]
assert: fix throws() throws an error without message property
Fixes #2893.
Ben Noordhuis [Sat, 28 Jul 2012 23:59:26 +0000 (01:59 +0200)]
cluster: fix libuv assert in net.listen()
Problem: calling `server.listen()` (no port) on a net.Server triggered the
following libuv assertion:
node: ../deps/uv/src/unix/stream.c:406: uv__write: Assertion `fd_to_send >= 0'
failed.
Cause: uv_tcp_t handles are lazily initialized. Omitting the port made the
handle get initialized even more lazily. Too lazily - it wasn't initialized
when the handle was sent over to the child process.
Solution: implicitly bind to a random port in listen() when the port number
is omitted, it forces the handle to initialize. This is not a change in
behavior, listen() has always been identical to listen(0).
Fixes #3325.
Ben Noordhuis [Sat, 28 Jul 2012 14:50:55 +0000 (16:50 +0200)]
deps: upgrade libuv to
4fe1916
Ben Noordhuis [Sat, 28 Jul 2012 12:10:10 +0000 (14:10 +0200)]
node: use variadic functions in ev-emul.h
Fixes #3786.
Trent Mick [Fri, 27 Jul 2012 17:56:40 +0000 (10:56 -0700)]
always link sunos builds with libumem
Adam Malcontenti-Wilson [Sat, 23 Jun 2012 01:39:10 +0000 (11:39 +1000)]
build: improve armv7 / hard-float detection
isaacs [Wed, 25 Jul 2012 19:00:25 +0000 (12:00 -0700)]
https: Use host header as effective servername
Nathan Rajlich [Wed, 25 Jul 2012 17:34:13 +0000 (10:34 -0700)]
assert: remove unnecessary use of __proto__
AssertionError already inherits from Error above using util.inherits(),
so this extra line was redundant.
test/simple/test-assert.js already tests for `instanceof`, and still passes.
isaacs [Wed, 25 Jul 2012 17:38:41 +0000 (10:38 -0700)]
Blog post for 0.8.4
isaacs [Wed, 25 Jul 2012 17:28:03 +0000 (10:28 -0700)]
Now working on v0.8.5
isaacs [Wed, 25 Jul 2012 17:26:03 +0000 (10:26 -0700)]
Merge branch 'v0.8.4-release' into v0.8
isaacs [Tue, 24 Jul 2012 23:19:08 +0000 (16:19 -0700)]
Fix #3761 build: Default to V=1
isaacs [Tue, 24 Jul 2012 23:04:40 +0000 (16:04 -0700)]
2012.07.25, Version 0.8.4 (Stable)
* V8: Upgrade to 3.11.10.17
* npm: Upgrade to 1.1.45
* net: fix Socket({ fd: 42 }) api (Ben Noordhuis)
* readline: Remove event listeners on close (isaacs)
* windows: correctly prep long path for fs.exists(Sync) (Bert Belder)
* debugger: wake up the event loop when a debugger command is dispatched (Peter Rybin)
* tls: verify server's identity (Fedor Indutny)
* net: ignore socket.setTimeout(Infinity or NaN) (Fedor Indutny)