platform/upstream/nodejs.git
9 years agosrc: remove Async Listener
Trevor Norris [Tue, 9 Dec 2014 15:01:05 +0000 (16:01 +0100)]
src: remove Async Listener

Async Listener was the name of the user-facing JS API, and is being
completely removed. Instead low level hooks directly into the mechanism
that AL used will be introduced in a future commit.

PR-URL: https://github.com/joyent/node/pull/8110
Signed-off-by: Trevor Norris <trev.norris@gmail.com>
Reviewed-by: Fedor Indutny <fedor@indutny.com>
Reviewed-by: Alexis Campailla <alexis@janeasystems.com>
Reviewed-by: Julien Gilli <julien.gilli@joyent.com>
9 years agotest: mark test-net-GH-5504 as flaky on linux
Bert Belder [Tue, 9 Dec 2014 15:08:48 +0000 (16:08 +0100)]
test: mark test-net-GH-5504 as flaky on linux

That test can trigger a bug on some older Linux kernels.

PR-URL: https://github.com/iojs/io.js/pull/124
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: runner support for flaky tests
Alexis Campailla [Fri, 7 Nov 2014 13:15:24 +0000 (14:15 +0100)]
test: runner support for flaky tests

Adding --flaky-tests option, to allow regarding flaky tests failures
as non-fatal.

Currently only observed by the TapProgressIndicator, which will
add a # TODO directive to tests classified as flaky. According to the
TAP specification, the test harness is supposed to treat failures
that have a # TODO directive as non-fatal.

9 years agodoc: set logical umask in process.umask example
Carlos Campderrós [Thu, 31 Jul 2014 08:34:51 +0000 (10:34 +0200)]
doc: set logical umask in process.umask example

0644 seems to be the desired mode for new files (as it is a very weird
umask), and to achieve that the correct umask would be 0022.

PR-URL: https://github.com/joyent/node/pull/8039
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agourl: change hostname regex to negate invalid chars
Jonathan Johnson [Thu, 27 Nov 2014 02:02:25 +0000 (20:02 -0600)]
url: change hostname regex to negate invalid chars

Regarding joyent/node#8520

This changes hostname validation from a whitelist regex approach
to a blacklist regex approach as described in https://url.spec.whatwg.org/#host-parsing.

url.parse misinterpreted `https://good.com+.evil.org/`
as `https://good.com/+.evil.org/`.  If we use url.parse to check the
validity of the hostname, the test passes, but in the browser the
user is redirected to the evil.org website.

9 years agosmalloc: don't allow to dispose typed arrays
Vladimir Kurchatkin [Tue, 18 Nov 2014 09:30:27 +0000 (12:30 +0300)]
smalloc: don't allow to dispose typed arrays

PR-URL: https://github.com/joyent/node/pull/8743
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agopath: refactor normalizeArray()
Nathan Woltman [Fri, 21 Nov 2014 08:22:07 +0000 (03:22 -0500)]
path: refactor normalizeArray()

The normalizeArray() function now avoids using the slow Array#splice()
method to improve performance and now also filters out empty path parts.

Code that pre-filtered empty parts has been removed.

PR-URL: https://github.com/joyent/node/pull/8724
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agonode.cc: use nullptr instead of NULL
Bert Belder [Tue, 9 Dec 2014 04:57:17 +0000 (05:57 +0100)]
node.cc: use nullptr instead of NULL

PR-URL: https://github.com/iojs/io.js/pull/124
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agonode.cc: fix bad assert
Trevor Norris [Tue, 9 Dec 2014 04:22:49 +0000 (05:22 +0100)]
node.cc: fix bad assert

It was my mistake to change an assert check. This changes it back to how
the assert was originally done.

Fixes: c131c1f "modules: adding load linked modules feature"
Signed-off-by: Trevor Norris <trev.norris@gmail.com>
9 years agouv: float patch to revert tty breakage
Trevor Norris [Fri, 5 Dec 2014 13:34:03 +0000 (05:34 -0800)]
uv: float patch to revert tty breakage

Float https://github.com/libuv/libuv/commit/484a3a9 to fix incorrect
indentation in REPL.

9 years agocrypto: store thread id as pointer-sized value
Bert Belder [Tue, 9 Dec 2014 16:44:37 +0000 (17:44 +0100)]
crypto: store thread id as pointer-sized value

uv_thread_t is a HANDLE (void pointer) on Windows, which means that
on 64-bit windows it cannot be stored with CRYPTO_THREADID_set_numeric
without potential data loss.

PR-URL: https://github.com/iojs/io.js/pull/124
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: update libuv to 1.0.1
Saúl Ibarra Corretgé [Fri, 21 Nov 2014 14:43:12 +0000 (15:43 +0100)]
deps: update libuv to 1.0.1

PR-URL: https://github.com/joyent/node/pull/8785
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agoopenssl: don't define SIXTY_FOUR_BIT_LONG on Windows
Bert Belder [Tue, 9 Dec 2014 16:49:42 +0000 (17:49 +0100)]
openssl: don't define SIXTY_FOUR_BIT_LONG on Windows

On Windows a long integer is always 32-bits, even when the target
architecture uses 64-bit pointers.

PR-URL: https://github.com/iojs/io.js/pull/124
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodocs: fix project name
Tyler Kellen [Wed, 3 Dec 2014 16:45:44 +0000 (11:45 -0500)]
docs: fix project name

Renamed node.js to io.js and updated links to external resources.

PR-URL: https://github.com/iojs/io.js/pull/42
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoRevert "openssl: don't define SIXTY_FOUR_BIT_LONG on Windows"
Ben Noordhuis [Tue, 9 Dec 2014 14:16:55 +0000 (15:16 +0100)]
Revert "openssl: don't define SIXTY_FOUR_BIT_LONG on Windows"

This reverts commit 878cc3e532ec5feb7145ba0523db2c6383df748b.

Reverted for breaking the x86_64 Linux build:

    In file included from ../deps/openssl/openssl/include/openssl/bn.h:1:0,
                     from ../deps/openssl/openssl/crypto/bn/asm/../bn_lcl.h:115,
                     from ../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:1:
    ../deps/openssl/openssl/include/openssl/../../crypto/bn/bn.h:813:20: note: previous declaration of 'bn_add_words' was here
     BN_ULONG bn_add_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,int num);
                        ^
    ../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:210:15: error: conflicting types for 'bn_sub_words'
     BN_ULONG bn_sub_words (BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,int n)

9 years agoopenssl: don't define SIXTY_FOUR_BIT_LONG on Windows
Bert Belder [Tue, 9 Dec 2014 14:46:59 +0000 (15:46 +0100)]
openssl: don't define SIXTY_FOUR_BIT_LONG on Windows

On Windows (and potentially other LP64 platforms), a long integer is
always 32-bits, even when the target architecture uses 64-bit pointers.

Signed-off-by: Bert Belder <bertbelder@gmail.com>
9 years agotest-require-resolve: use case insensitive compare
Bert Belder [Mon, 8 Dec 2014 16:49:24 +0000 (17:49 +0100)]
test-require-resolve: use case insensitive compare

The test fixtures directory is derived from the path to the currently
running script, which is itself specified on the command line. That
means that the case of the fixtures dir may not match what the test
expects (when executed on a case-insensitive file system).

PR-URL: https://github.com/iojs/io.js/pull/116
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: make fs-symlink-dir-junction-relative pass on unix
Bert Belder [Tue, 9 Dec 2014 07:08:51 +0000 (08:08 +0100)]
test: make fs-symlink-dir-junction-relative pass on unix

9 years agofs: resolve junction targets relative to their parent
Vincent Weevers [Wed, 3 Dec 2014 14:38:53 +0000 (15:38 +0100)]
fs: resolve junction targets relative to their parent

PR-URL: https://github.com/joyent/node/pull/8813
Reviewed-By: Bert Belder <bertbelder@gmail.com>
9 years agopath: path.normalize no longer lower-cases drive letters
Bert Belder [Mon, 8 Dec 2014 20:12:12 +0000 (21:12 +0100)]
path: path.normalize no longer lower-cases drive letters

Fixes an omission in e24fa83.

9 years agoRevert "path: resolve normalize drive letter to lower case"
Nikolai Vavilov [Sat, 6 Dec 2014 14:42:24 +0000 (16:42 +0200)]
Revert "path: resolve normalize drive letter to lower case"

This reverts commit f6e574018090ed4d63596b8a3bb614f8f48b6267.

Changing drive letters to lowercase violates the principle of
least surprise. Other functions that do this should get fixed too.

Conflicts:
lib/path.js

PR-URL: https://github.com/iojs/io.js/pull/100
Reviewed-By: Bert Belder <bertbelder@gmail.com>
9 years agocontributing: add all core modules to Caine's spec
Fedor Indutny [Mon, 8 Dec 2014 15:02:30 +0000 (18:02 +0300)]
contributing: add all core modules to Caine's spec

Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agocontributing: add information for caine bot
Fedor Indutny [Mon, 8 Dec 2014 02:36:03 +0000 (05:36 +0300)]
contributing: add information for caine bot

Reviewed-By: Rod Vagg <r@va.gg>
PR-URL: https://github.com/iojs/io.js/pull/107

9 years agodoc: fixes grammar in timers/tls
Brendan Ashworth [Fri, 5 Dec 2014 07:01:55 +0000 (23:01 -0800)]
doc: fixes grammar in timers/tls

This commit fixes a few grammar issues located
within the doc files for timers and tls.

They primarily include incorrect use of a / an
and a single insertion of a comma.

same as [this PR](https://github.com/joyent/node/pull/8581)

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/iojs/io.js/pull/76

9 years agomodule: test for directories, fix require with ..
Robert Kowalski [Mon, 10 Feb 2014 20:14:53 +0000 (21:14 +0100)]
module: test for directories, fix require with ..

Given my home-directory is `/Users/rocko` - and I have a file named
`npm.json` in it and also a repository with name `npm`, which is a
folder for the node-module.

When try to require the `/Users/rocko/npm/index.js` two direcotry
levels down in the npm folder (e.g. `/Users/rocko/npm/test/tap`)
with require("../../") node will load `/Users/rocko/npm/index.json`.

When I use require("../..") node will load `/Users/rocko/npm.json`
which is fixed by this commit.

PR-URL: https://github.com/iojs/io.js/pull/58
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agonet: give better error messages
Evan Lucas [Wed, 3 Dec 2014 03:16:32 +0000 (21:16 -0600)]
net: give better error messages

Add address and/or port to errors where applicable for better reporting.
In the event the local address and port are accessible, it will also add
those to the error message.

See joyent/node#7005
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/iojs/io.js/pull/35

9 years agodebugger: use requireRepl() to load debugger repl
cjihrig [Wed, 26 Nov 2014 15:46:59 +0000 (10:46 -0500)]
debugger: use requireRepl() to load debugger repl

Currently, the debugger uses require('repl') to setup the repl.
However, require.extensions is not available yet, causing a
crash on tab completion of require('. This commit uses the
module.requireRepl() method to bootstrap the repl.

Fixes: https://github.com/joyent/node/issues/8359
PR-URL: https://github.com/iojs/io.js/pull/49
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: don't run find in non-existent directory
Jose Luis Rivas [Sat, 6 Dec 2014 17:46:53 +0000 (12:46 -0500)]
build: don't run find in non-existent directory

PR-URL: https://github.com/iojs/io.js/pull/97
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: move simple/test-abort-fatal-error to pummel
Ben Noordhuis [Fri, 5 Dec 2014 22:55:17 +0000 (23:55 +0100)]
test: move simple/test-abort-fatal-error to pummel

Move it from simple/ to pummel/ because it can take an awful long to
run to completion:

    $ time out/x64.release/node test/simple/test-abort-fatal-error.js

    real    0m8.150s
    user    0m0.328s
    sys     0m0.054s

PR-URL: https://github.com/node-forward/node/pull/91
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agoevents: implement EventEmitter#getMaxListeners()
Christian Tellnes [Fri, 5 Dec 2014 13:50:05 +0000 (14:50 +0100)]
events: implement EventEmitter#getMaxListeners()

Fixes https://github.com/joyent/node/issues/8237.

PR-URL: https://github.com/iojs/io.js/pull/82
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: rename rpmbuild .spec file
Ben Noordhuis [Thu, 4 Dec 2014 21:02:51 +0000 (22:02 +0100)]
build: rename rpmbuild .spec file

Rename the .spec file from node.spec to iojs.spec and update the build
script.  Done as a separate commit to not obscure the changes from the
previous commit.

PR-URL: https://github.com/iojs/io.js/pull/71
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agobuild: update rpmbuild .spec file
Ben Noordhuis [Thu, 4 Dec 2014 21:00:55 +0000 (22:00 +0100)]
build: update rpmbuild .spec file

Rename the package to iojs.  No Conflicts: header is necessary because
the package was already marked as conflicting with the Fedora nodejs
package.

PR-URL: https://github.com/iojs/io.js/pull/71
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agocontributing: commiter git FAQ
Fedor Indutny [Thu, 4 Dec 2014 14:08:19 +0000 (17:08 +0300)]
contributing: commiter git FAQ

Describe in details how our current git flow works and could be used.

Fix iojs/io.js#67
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/iojs/io.js/pull/68

9 years agoconfigure: remove shared cares build option
Johan Bergström [Wed, 3 Dec 2014 07:28:40 +0000 (18:28 +1100)]
configure: remove shared cares build option

Bundled cares differs from upstream which will result
in a compilation error when trying to used a shared cares.

Fixes: https://github.com/joyent/node/pull/8786
PR-URL: https://github.com/iojs/io.js/pull/38
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agopolicy: added contribution policy
Rod Vagg [Thu, 4 Dec 2014 09:48:43 +0000 (20:48 +1100)]
policy: added contribution policy

Policy originally by @isaacs and @othiym23, submitted by @mikeal,
committed fresh by @rvagg because .. #22 is kind of a mess

PR-URL: https://github.com/iojs/io.js/pull/22
Reviewed-By: Mikeal Rogers <mikeal.rogers@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agomodules: adding load linked modules feature
Thorsten Lorenz [Mon, 15 Sep 2014 17:00:22 +0000 (12:00 -0500)]
modules: adding load linked modules feature

- introduced NM_F_LINKED flag to identify linked modules
- setting node_is_initialized after calling V8::Initialize in order to
  make the right decision during initial module registration
- introduced modlist_linked in order to track modules that were
  pre-registered in order to complete it once node is initialized
- completing registration of linked module similarly to the way it's
  done inside DLOpen

PR-URL: https://github.com/iojs/io.js/pull/8
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoconfigure: remove shared cares build option
Johan Bergström [Wed, 3 Dec 2014 07:28:40 +0000 (18:28 +1100)]
configure: remove shared cares build option

Bundled cares differs from upstream which will result
in a compilation error when trying to used a shared cares.

Fixes: https://github.com/joyent/node/pull/8786
PR-URL: https://github.com/iojs/io.js/pull/38
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoAdded Gitter badge
The Gitter Badger [Wed, 3 Dec 2014 14:55:54 +0000 (14:55 +0000)]
Added Gitter badge

Reviewed-By: Mikeal Rogers <mikeal.rogers@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
PR-URL: https://github.com/iojs/io.js/pull/41

9 years agodocs: fix prerequisite list formatting
Bryce Kahle [Wed, 3 Dec 2014 17:11:18 +0000 (12:11 -0500)]
docs: fix prerequisite list formatting

PR-URL: https://github.com/iojs/io.js/pull/44
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodocs: improve repo description
Leonardo Balter [Wed, 3 Dec 2014 20:07:44 +0000 (15:07 -0500)]
docs: improve repo description

PR-URL: https://github.com/iojs/io.js/pull/48
Reviewed-By: Mikeal Rogers <mikeal.rogers@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: update README with irc channel
Martin Cozzi [Wed, 3 Dec 2014 01:10:55 +0000 (17:10 -0800)]
doc: update README with irc channel

Fixes: https://github.com/iojs/io.js/issues/30
PR-URL: https://github.com/iojs/io.js/pull/31
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agodoc: fixed article usage in README.
Jamund Ferguson [Tue, 2 Dec 2014 23:08:25 +0000 (15:08 -0800)]
doc: fixed article usage in README.

added a the because it sounded weird.

PR-URL: https://github.com/iojs/io.js/pull/29
Reviewed-by: Mikeal Rogers <mikeal.rogers@gmail.com>
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agourl: support `path` for url.format
Yazhong Liu [Thu, 20 Nov 2014 15:46:38 +0000 (23:46 +0800)]
url: support `path` for url.format

this adds support for a "path" field that overrides
"query", "search", and "pathname" if given.

Fixes: https://github.com/joyent/node/issues/8722
PR-URL: https://github.com/joyent/node/pull/8755
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agodocs: Change contributing documentation to io.js
Tom Gallacher [Tue, 2 Dec 2014 17:39:39 +0000 (17:39 +0000)]
docs: Change contributing documentation to io.js

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/iojs/io.js/pull/25

9 years agodocs: simple project messaging.
Mikeal Rogers [Tue, 2 Dec 2014 02:06:21 +0000 (18:06 -0800)]
docs: simple project messaging.

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/iojs/io.js/pull/24

9 years agodocs: add issue contributing section
Max Ogden [Tue, 2 Dec 2014 01:31:19 +0000 (17:31 -0800)]
docs: add issue contributing section

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/iojs/io.js/pull/21

9 years agotest: extend timeouts in child/exec tests
Rod Vagg [Sat, 29 Nov 2014 02:36:14 +0000 (13:36 +1100)]
test: extend timeouts in child/exec tests

increased resillence on slower computers

Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/iojs/io.js/pull/10

9 years agotest: bump --stack-size to stop child fails on ARM
Rod Vagg [Sat, 29 Nov 2014 10:52:51 +0000 (21:52 +1100)]
test: bump --stack-size to stop child fails on ARM

On ARM, we get a "Maximum call stack size exceeded" when using
require() in the child process, bump it up a bit to avoid the
failures so we can test what we are actually after

Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/iojs/io.js/pull/14

9 years agodeps: openssl - add x32 support
Ben Noordhuis [Tue, 14 Oct 2014 20:52:16 +0000 (22:52 +0200)]
deps: openssl - add x32 support

This commit adds preliminary x32 support.  Configure with:

    $ ./configure --dest-cpu=x32

PR-URL: https://github.com/node-forward/node/pull/24
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agoopenssl: fix keypress requirement in apps on win32
Fedor Indutny [Wed, 11 Dec 2013 17:19:04 +0000 (21:19 +0400)]
openssl: fix keypress requirement in apps on win32

Original source:

http://openssl.6102.n7.nabble.com/PATCH-s-client-Fix-keypress-requirement-with-redirected-input-on-Windows-td46787.html

Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agotest: don't remove empty.txt on win32
Rod Vagg [Thu, 27 Nov 2014 22:43:15 +0000 (09:43 +1100)]
test: don't remove empty.txt on win32

on win32 we use empty.txt in the fixtures directory, otherwise we
use a file constructed specifically for this test due to POSIX
socket path length limitations, in which case we need to do
appropriate cleanup

Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/iojs/io.js/pull/2

9 years agotest: another fix for test-crypto-stream
Fedor Indutny [Fri, 28 Nov 2014 14:13:12 +0000 (17:13 +0300)]
test: another fix for test-crypto-stream

Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agotest: fix test-crypto-stream
Fedor Indutny [Wed, 15 Oct 2014 16:50:15 +0000 (20:50 +0400)]
test: fix test-crypto-stream

Because of constant-timeness change made in openssl-1.0.1j the error is
no longer returned from EVP_DecryptFinal_ex. Now it just return 0, and
thus the error message does not contain proper error code. Adapt to this
change, there is not much that we could do about it.

9 years agopunycode: update to v1.3.2
Mathias Bynens [Fri, 28 Nov 2014 09:50:12 +0000 (10:50 +0100)]
punycode: update to v1.3.2

Changes since v1.2.3:

* Email address support in `toASCII` and `toUnicode`
* `punycode.ucs2.encode` now no longer mutates the `codePoints`
  argument
* Ensure trailing `.` in domain names are preserved
* Some minor code cleanup + bug fixes

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/iojs/io.js/pull/6

9 years agodeps: update openssl to 1.0.1j
Fedor Indutny [Thu, 27 Nov 2014 15:37:49 +0000 (18:37 +0300)]
deps: update openssl to 1.0.1j

Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/iojs/io.js/pull/1

9 years agotest: fix floating point NaN tests on mips
James Cowgill [Wed, 26 Nov 2014 17:06:19 +0000 (17:06 +0000)]
test: fix floating point NaN tests on mips

MIPS machines use a slightly different format for NaNs (still perfectly
valid though). This patch adjusts the buffer testcases to allow for
this.

See https://en.wikipedia.org/wiki/NaN#Encoding for some more info.

Based on patch applied to debian by Jérémy Lal <kapouer@melix.org>

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/joyent/node/pull/8793

9 years agocrypto: proper fix for d7e700's cause
Fedor Indutny [Wed, 26 Nov 2014 11:37:14 +0000 (14:37 +0300)]
crypto: proper fix for d7e700's cause

Remove useless tests, and `ERR_peek_error()` calls. Things are being set
in a proper order now and there is no need for hacky extra checks.

The right order was:

1. Set certificate
2. Set key

Because setting certificate doesn't properly handle key mismatch errors.

Fix: node-forward/node#67
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/node-forward/node/pull/68

9 years agocrypto: allow creation of GCM ciphers with createCipher
Calvin Metcalf [Tue, 11 Nov 2014 18:38:02 +0000 (13:38 -0500)]
crypto: allow creation of GCM ciphers with createCipher

Sets the authenticated encryption specific methods ([set|get]AuthTag and setAAD)
on the Cipher prototype not just the Cipheriv prototype.

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/joyent/node/pull/8711

9 years agocrypto: throw if the key doesn't match cert
Fedor Indutny [Mon, 24 Nov 2014 13:17:13 +0000 (16:17 +0300)]
crypto: throw if the key doesn't match cert

fix joyent/node#8770
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/node-forward/node/pull/66

9 years agotest: named pipe is invalid when appending .txt
Rod Vagg [Wed, 19 Nov 2014 01:31:46 +0000 (17:31 -0800)]
test: named pipe is invalid when appending .txt

On Windows, appending '.txt' to a named pipe does not produce a valid
regular file name.  We want an empty _file_, not an invalid named pipe.
Fix-up for commit 1f79e4f.

PR-URL: https://github.com/node-forward/node/pull/63
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoMerge remote-tracking branch 'joyent/v0.12' into v0.12
Ben Noordhuis [Sat, 22 Nov 2014 16:34:31 +0000 (17:34 +0100)]
Merge remote-tracking branch 'joyent/v0.12' into v0.12

Conflicts:
Makefile
deps/v8/src/base/platform/platform.h

PR-URL: https://github.com/node-forward/node/pull/65
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agolib: turn on strict mode
Ben Noordhuis [Sat, 22 Nov 2014 15:59:48 +0000 (16:59 +0100)]
lib: turn on strict mode

Turn on strict mode for the files in the lib/ directory.  It helps
catch bugs and can have a positive effect on performance.

PR-URL: https://github.com/node-forward/node/pull/64
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agopath: added parse() and format() functions
Rory Bradford [Tue, 8 Apr 2014 21:48:24 +0000 (22:48 +0100)]
path: added parse() and format() functions

The parse() function splits a path and returns an object
with the different elements. The format() function is the
reverse of this and adds an objects corresponding path
elements to make up a string. Fixes #6976.

Fixes: https://github.com/joyent/node/issues/6976
PR-URL: https://github.com/joyent/node/pull/8750
Reviewed-by: Julien Gilli <julien.gilli@joyent.com>
9 years agopath: allow calling platform specific methods
Timothy J Fontaine [Tue, 11 Jun 2013 00:09:54 +0000 (17:09 -0700)]
path: allow calling platform specific methods

Add path.posix and path.win32 which have the specific methods like
resolve and normalize so you can specifically normalize or resolve
based on the target platform.

PR-URL: https://github.com/joyent/node/pull/5661
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agodoc: correct broken link in net.markdown
Steve Sharp [Thu, 20 Nov 2014 18:35:30 +0000 (10:35 -0800)]
doc: correct broken link in net.markdown

Fixes broken link to Readable Stream documentation.

Fixes: https://github.com/joyent/node/issues/8464
PR-URL: https://github.com/joyent/node/pull/8756
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agotls: do not hang without `newSession` handler
Fedor Indutny [Tue, 4 Nov 2014 16:14:55 +0000 (11:14 -0500)]
tls: do not hang without `newSession` handler

When listening for client hello parser events (like OCSP requests), do
not hang if `newSession` event handler is not present.

fix joyent/node#8660
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/node-forward/node/pull/47

9 years agolib: add setFlagsFromString() to tracing module
Ben Noordhuis [Fri, 14 Nov 2014 22:20:07 +0000 (23:20 +0100)]
lib: add setFlagsFromString() to tracing module

Expose v8::V8::SetFlagsFromString() on tracing.v8 in lib/tracing.js.

PR-URL: https://github.com/node-forward/node/pull/62
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agodoc: clarify return value of http.createServer
MK Safi [Wed, 14 Aug 2013 23:15:49 +0000 (02:15 +0300)]
doc: clarify return value of http.createServer

PR-URL: https://github.com/joyent/node/pull/6054
Reviewed-by: Isaac Z. Schlueter <i@izs.me>
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agosrc: remove static variables from tls_wrap
Ben Noordhuis [Wed, 12 Nov 2014 15:25:07 +0000 (16:25 +0100)]
src: remove static variables from tls_wrap

Remove the error message globals.  More prep work for multi-isolate
support.

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/node-forward/node/pull/58

9 years agosrc: turn two global vars into local vars
Ben Noordhuis [Wed, 12 Nov 2014 14:29:34 +0000 (15:29 +0100)]
src: turn two global vars into local vars

Bring us a little closer to multi-isolate readiness by removing two
global variables.

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/node-forward/node/pull/58

9 years agotest: fix test-cluster-eaccess to work on windows
Rod Vagg [Thu, 13 Nov 2014 05:35:20 +0000 (15:35 +1000)]
test: fix test-cluster-eaccess to work on windows

properly create an EADDRINUSE condition rather than
simulating one with a plain file

PR-URL: https://github.com/node-forward/node/pull/59
Reviewed-By: Bert Belder <bertbelder@gmail.com>
9 years agotest: use common.PIPE for emptyTxt path
Rod Vagg [Thu, 6 Nov 2014 04:30:10 +0000 (14:30 +1000)]
test: use common.PIPE for emptyTxt path

Work-around for long paths exceeding limits for UNIX socket binds,
emptyTxt would otherwise be burried deep in the fixtures directory.

PR-URL: https://github.com/node-forward/node/pull/51
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agodoc: fix typos in http.markdown
Artur Cistov [Fri, 15 Feb 2013 22:21:48 +0000 (22:21 +0000)]
doc: fix typos in http.markdown

PR-URL: https://github.com/joyent/node/pull/4784
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agodns: propagate domain for c-ares methods
Chris Dickinson [Sun, 16 Nov 2014 02:33:20 +0000 (18:33 -0800)]
dns: propagate domain for c-ares methods

Fixes: https://github.com/joyent/node/issues/5471
PR-URL: https://github.com/joyent/node/pull/8732
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agoprocess: pid can be a string in process.kill()
Sam Roberts [Wed, 8 Oct 2014 21:36:21 +0000 (14:36 -0700)]
process: pid can be a string in process.kill()

Not allowing string was a change from v0.10 behaviour, commented on in
joyent/node#7991. Allow them again, but still check that argument is
numberish. Also, simplify the fragile and non-portable test code
introduced in 832ec1cd507 that required fixups 2a415358ee, and
ef3c4ed3d.

PR-URL: https://github.com/joyent/node/pull/8531
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agofs: fix symlink error message
Vladimir Kurchatkin [Sat, 1 Nov 2014 10:07:03 +0000 (13:07 +0300)]
fs: fix symlink error message

the arguments were swapped, so fs.symlink{Sync,} would
report that the wrong file EEXIST'd in error.

Fixes: https://github.com/joyent/node/issues/8651
Fixes: https://github.com/joyent/node/issues/4314
Fixes: https://github.com/joyent/node/issues/5381
PR-URL: https://github.com/joyent/node/pull/8657
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agosrc: fixups after v8 upgrade
Ben Noordhuis [Fri, 14 Nov 2014 00:26:22 +0000 (01:26 +0100)]
src: fixups after v8 upgrade

* v8::Platform has a new MonotonicallyIncreasingTime() method,
  implement it.

* The ASCII apocalypse continues with the replacement of external
  ASCII strings with external one byte strings.

9 years agodeps: fix postmortem-metadata generator in v8
Refael Ackermann [Mon, 29 Sep 2014 09:20:50 +0000 (13:20 +0400)]
deps: fix postmortem-metadata generator in v8

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/joyent/node/pull/8476

9 years agodeps: upgrade v8 to 3.30.37
Ben Noordhuis [Thu, 13 Nov 2014 23:52:27 +0000 (00:52 +0100)]
deps: upgrade v8 to 3.30.37

9 years agocrypto: fix X509 cert memory leak in GetPeerCert
Fedor Indutny [Tue, 11 Nov 2014 05:08:09 +0000 (08:08 +0300)]
crypto: fix X509 cert memory leak in GetPeerCert

`SSL_get_peer_certificate` returns referenced X509 object, we should
decrement the reference count once it is not needed.

Fix joyent/node#8674
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/node-forward/node/pull/56

9 years agomodule: correct the order of the assertions
haoxin [Tue, 9 Sep 2014 02:22:37 +0000 (10:22 +0800)]
module: correct the order of the assertions

this puts the type-checking assertions in require
into proper order.

PR-URL: https://github.com/joyent/node/pull/8333
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-by: Fedor Indutny <fedor@indutny.com>
9 years agobuild: i18n: support little-endian machines
Steven Loomis [Tue, 5 Aug 2014 01:00:55 +0000 (21:00 -0400)]
build: i18n: support little-endian machines

Note that this may not affect anything until powerpc support lands in
v8.

Related: https://github.com/srl295/node/issues/7
Related: https://github.com/srl295/node/commit/ba8ab91bc4762ade646474276c4a4b8cdaf83115
PR-URL: https://github.com/joyent/node/pull/8712
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agobuild: i18n: fix icu toolset dependencies
Steven R. Loomis [Thu, 6 Nov 2014 03:09:43 +0000 (19:09 -0800)]
build: i18n: fix icu toolset dependencies

So what I did here is to make the icutools library actually contain the
entire ICU dependencies needed for host-side tools. Sadly, this will
build ICU twice, but avoids conflicts between host and target side.
This all seems like a gyp bug of some sort, but without docs for
toolsets, who’s to say?

I removed the icuio library as a separate target, because it was only
used by the host-side tools.

PR-URL: https://github.com/joyent/node/pull/8681
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agobuild: i18n: fix build on OSX
Steven R. Loomis [Sat, 4 Oct 2014 06:10:29 +0000 (23:10 -0700)]
build: i18n: fix build on OSX

Fix config option that doesn't work with OSX.

Fixes: https://github.com/joyent/node/issues/8521
PR-URL: https://github.com/joyent/node/pull/8602
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agosrc: fix windows build error
Ben Noordhuis [Tue, 11 Nov 2014 11:06:55 +0000 (12:06 +0100)]
src: fix windows build error

Fix a Windows-only build error that was introduced in
commit 1183ba4 ("zlib: support concatenated gzip files").

Rename the NO_ERROR and FAILED enumerations, they conflict
with macros of the same name in <winerror.h>.

PR-URL: https://github.com/node-forward/node/pull/57
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agolib,src: make os.endianness() inlinable
Ben Noordhuis [Mon, 10 Nov 2014 23:40:58 +0000 (00:40 +0100)]
lib,src: make os.endianness() inlinable

Turn os.endianness() from a run-time function into a pure JS function.
Upsides: makes it a good candidate for inlining at the call site.
Downsides: none that I can think of.

PR-URL: https://github.com/node-forward/node/pull/55
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodoc: note ability to require files within packages
sudodoki [Mon, 16 Jun 2014 22:05:58 +0000 (01:05 +0300)]
doc: note ability to require files within packages

Adding note to api/modules.markdown about ability to
load arbitrary path from modules from node_module path
by adding reference to path after module name in call
to require()

PR-URL: https://github.com/joyent/node/pull/7794
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Reviewed-by: Fedor Indutny <fedor@indutny.com>
Reviewed-by: Timothy J Fontaine <tjfontaine@gmail.com>
9 years agotls: remove tls.createSecurePair code deprecation
Jackson Tian [Mon, 10 Nov 2014 05:09:58 +0000 (13:09 +0800)]
tls: remove tls.createSecurePair code deprecation

In https://github.com/joyent/node/pulls/8695, the deprecation was
removed from doc.  This removes the deprecation from the code.

PR-URL: https://github.com/joyent/node/pull/8700
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agotest: kill children before cluster parent
Rod Vagg [Sat, 8 Nov 2014 09:03:20 +0000 (20:03 +1100)]
test: kill children before cluster parent

Killing the cluster master first on Windows causes an ESRCH when killing
the children as the OS takes care of them itself.

PR-URL: https://github.com/node-forward/node/pull/53
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agozlib: support concatenated gzip files
Luis Reis [Tue, 9 Sep 2014 16:30:15 +0000 (17:30 +0100)]
zlib: support concatenated gzip files

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/joyent/node/pull/6442

9 years agocrypto: escape DNS altname
Fedor Indutny [Wed, 5 Nov 2014 03:24:19 +0000 (22:24 -0500)]
crypto: escape DNS altname

Vulnerability credit goes to:

    Calvin Liang conradjliang@hotmail.com

Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: ...private

9 years agodoc: remove tls.createSecurePair deprecation
Chris Dickinson [Fri, 7 Nov 2014 22:24:12 +0000 (14:24 -0800)]
doc: remove tls.createSecurePair deprecation

pending tls.TLSSocket growing the ability to work
with streams, createSecurePair will remain.

PR-URL: https://github.com/joyent/node/pull/8695
Reviewed-by: Fedor Indutny <fedor@indutny.com>
9 years agouv: revert change causing build failures
Trevor Norris [Fri, 7 Nov 2014 21:44:09 +0000 (13:44 -0800)]
uv: revert change causing build failures

Revert uv_thread_self() to return unsigned long instead of uv_thread_t.
This was causing a build failure on Windows and is only a temporary fix
until the proper patch lands upstream.

Reverts: https://github.com/joyent/libuv/commit/59658a8
Fixes: ce112c2 "deps: update uv to v1.0.0-rc2"

9 years agocore: fix usage of uv_cwd
Saúl Ibarra Corretgé [Fri, 17 Oct 2014 07:31:59 +0000 (09:31 +0200)]
core: fix usage of uv_cwd

It was modified in libuv to be consistent with uv_exepath and not
include the trailing NULL byte in the returned size.

PR-URL: https://github.com/joyent/node/pull/8566
Reviewed-by: Fedor Indutny <fedor@indutny.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agocore: replace uv_fs_readdir with uv_fs_scandir
Saúl Ibarra Corretgé [Fri, 17 Oct 2014 07:31:23 +0000 (09:31 +0200)]
core: replace uv_fs_readdir with uv_fs_scandir

PR-URL: https://github.com/joyent/node/pull/8566
Reviewed-by: Fedor Indutny <fedor@indutny.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agodeps: update uv to v1.0.0-rc2
Saúl Ibarra Corretgé [Mon, 20 Oct 2014 22:45:30 +0000 (00:45 +0200)]
deps: update uv to v1.0.0-rc2

PR-URL: https://github.com/joyent/node/pull/8566
Reviewed-by: Fedor Indutny <fedor@indutny.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years agotest: use common.PIPE in simple/test-cluster-eaccess
Rod Vagg [Wed, 5 Nov 2014 23:03:50 +0000 (09:03 +1000)]
test: use common.PIPE in simple/test-cluster-eaccess

PR-URL: https://github.com/node-forward/node/pull/50
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: unlink custom unix socket before test
Ben Noordhuis [Wed, 29 Oct 2014 16:21:12 +0000 (17:21 +0100)]
test: unlink custom unix socket before test

Unlink NODE_COMMON_PIPE before running the test if set in the
environment.  The test runner won't do it for us like it does
for files in test/tmp.

PR-URL: https://github.com/node-forward/node/pull/40
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agobuild: add rpmbuild .spec file
Ben Noordhuis [Fri, 5 Jul 2013 18:10:25 +0000 (20:10 +0200)]
build: add rpmbuild .spec file

Add a .spec file and a rpmbuild(1) driver script.  Useful for people
on RHEL-based systems that want to compile and package from source.

PR-URL: https://github.com/node-forward/node/pull/10
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agosrc: network interface names are UTF-8 encoded
Ben Noordhuis [Mon, 3 Nov 2014 15:42:07 +0000 (16:42 +0100)]
src: network interface names are UTF-8 encoded

Fixes a bug that was introduced in commit f674b09 when v8::String::New()
calls were replaced with calls to one-byte, two-byte and UTF-8 versions.
It turns out that for network interface names, using a one-byte encoding
can produce the wrong results on Windows.  Use UTF-8 instead.

Libuv on Windows correctly encodes non-ASCII characters in the interface
name as UTF-8.  On Unices however, the interface name is just a binary
string with no particular encoding; that's why on UNIX platforms, we
keep interpreting it as a one-byte string.

Fixes joyent/node#8633.

PR-URL: https://github.com/node-forward/node/pull/44
Reviewed-By: Bert Belder <bertbelder@gmail.com>