platform/upstream/nodejs.git
8 years agodeps: make node-gyp work with io.js
cjihrig [Fri, 27 Feb 2015 18:40:58 +0000 (13:40 -0500)]
deps: make node-gyp work with io.js

Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d199276e21c1fa08d8df14eeb654c90cc5aa20,
5de334c23096492014a097ff487f07ad8eaee6d2, and
da730c76e98fb9fd18dac445dafbbec74d79f802. This commit squashes
them into a single commit.

PR-URL: https://github.com/iojs/io.js/pull/990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agodeps: upgrade to npm 2.12.1
Kat Marchán [Mon, 6 Jul 2015 07:00:48 +0000 (00:00 -0700)]
deps: upgrade to npm 2.12.1

PR-URL: https://github.com/nodejs/io.js/pull/2112
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agoRevert "test: add test for missing `close`/`finish` event"
Fedor Indutny [Sat, 4 Jul 2015 18:19:58 +0000 (11:19 -0700)]
Revert "test: add test for missing `close`/`finish` event"

This reverts commit 9436a860cb599be0e3f64d3bccfa81e389aa9fa8.

9 years agobenchmark: Add some path benchmarks for #1778
Nathan Woltman [Sat, 6 Jun 2015 00:43:48 +0000 (20:43 -0400)]
benchmark: Add some path benchmarks for #1778

Path functions being benchmarked are:
* format
* isAbsolute
* join
* normalize
* relative
* resolve

PR-URL: https://github.com/nodejs/io.js/pull/1778
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agopath: refactor for performance and consistency
Nathan Woltman [Sat, 23 May 2015 04:42:12 +0000 (00:42 -0400)]
path: refactor for performance and consistency

Improve performance by:
+ Not leaking the `arguments` object!
+ Getting the last character of a string by index, instead of
  with `.substr()` or `.slice()`

Improve code consistency by:
+ Using `[]` instead of `.charAt()` where possible
+ Using a function declaration instead of a var declaration
+ Using `.slice()` with clearer arguments
+ Checking if `dir` is truthy in `win32.format`
  (added tests for this)

Improve both by:
+ Making the reusable `trimArray()` function
+ Standardizing getting certain path statistics with
  the new `win32StatPath()` function

PR-URL: https://github.com/nodejs/io.js/pull/1778
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodoc: update AUTHORS list
Rod Vagg [Fri, 3 Jul 2015 10:32:53 +0000 (20:32 +1000)]
doc: update AUTHORS list

Update AUTHORS list using tools/update-authors.sh

PR-URL: https://github.com/nodejs/io.js/pull/2100
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James Hartig <fastest963@gmail.com>
9 years agotest: add test for missing `close`/`finish` event
Mark Plomer [Mon, 13 Apr 2015 14:28:47 +0000 (16:28 +0200)]
test: add test for missing `close`/`finish` event

See next commit for the actual fix.

PR-URL: https://github.com/iojs/io.js/pull/1373
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agoWorking on v2.3.4
Jeremiah Senkpiel [Fri, 3 Jul 2015 22:47:02 +0000 (15:47 -0700)]
Working on v2.3.4

9 years ago2015-07-04 io.js v2.3.3 Release v2.3.3
Jeremiah Senkpiel [Fri, 3 Jul 2015 22:46:16 +0000 (15:46 -0700)]
2015-07-04 io.js v2.3.3 Release

Notable changes

* deps: Fixed an out-of-band write in utf8 decoder.
This is an important security update as it can be used to cause a
denial of service attack.

9 years agodeps: fix out-of-band write in utf8 decoder
Fedor Indutny [Fri, 3 Jul 2015 21:12:08 +0000 (14:12 -0700)]
deps: fix out-of-band write in utf8 decoder

Originally reported by: Kris Reeves <kris.re@bbhmedia.com>

Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agodoc: don't recommend domains for error handling
Benjamin Gruenbaum [Thu, 25 Jun 2015 06:17:21 +0000 (09:17 +0300)]
doc: don't recommend domains for error handling

Remove the suggestion to use domains for exception handling. Add clarity
to "unhandledException".

Fixes: https://github.com/nodejs/io.js/issues/2055
PR-URL: https://github.com/nodejs/io.js/pull/2056
Reviewed-By: Trev Norris <trev.norris@gmail.com>
Reviewed-By: Chris Dickinson <chris@neversaw.us>
9 years agoutil: prepend '(node) ' to deprecation messages
Sakthipriyan Vairamani [Sat, 13 Jun 2015 16:44:39 +0000 (16:44 +0000)]
util: prepend '(node) ' to deprecation messages

Changes included in this commit are

   1. Making the deprecation messages consistent. The messages will be in
      the following format

           x is deprecated. Use y instead.

      If there is no alternative for `x`, then the ` Use y instead.` part
      will not be there in the message.

   2. All the internal deprecation messages are printed with the prefix
      `(node) `, except when the `--trace-deprecation` flag is set.

Fixes: https://github.com/nodejs/io.js/issues/1883
PR-URL: https://github.com/nodejs/io.js/pull/1892
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agoWorking on v2.3.3
Rod Vagg [Thu, 2 Jul 2015 09:43:29 +0000 (19:43 +1000)]
Working on v2.3.3

9 years ago2015-07-02 io.js v2.3.2 Release v2.3.2
Rod Vagg [Thu, 2 Jul 2015 04:20:35 +0000 (14:20 +1000)]
2015-07-02 io.js v2.3.2 Release

Notable changes

build:
  - Added support for compiling with Microsoft Visual C++ 2015
  - Started building and distributing headers-only tarballs along with binaries

9 years agorepl: remove obsolete TODO
Rich Trott [Tue, 30 Jun 2015 06:29:36 +0000 (23:29 -0700)]
repl: remove obsolete TODO

It's long past v0.3.0 and .break isn't going anywhere anytime soon.

PR-URL: https://github.com/nodejs/io.js/pull/2081
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Brian White <mscdex@mscdex.net>
9 years agonet: wrap connect in nextTick
Evan Lucas [Thu, 25 Jun 2015 11:41:10 +0000 (06:41 -0500)]
net: wrap connect in nextTick

Fixes an edge case regression introduced in
1bef71747678c19c7214048de5b9e3848889248d.

With the lookup being skipped, an error could be emitted before an
error listener has been added.

An example of this was presented by changing the server’s IP address
and then immediately making a request to the old address.

Related: https://github.com/nodejs/io.js/pull/1823
PR-URL: https://github.com/nodejs/io.js/pull/2054
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
9 years ago_stream_wrap: prevent use after free in TLS
Fedor Indutny [Sat, 6 Jun 2015 22:37:35 +0000 (00:37 +0200)]
_stream_wrap: prevent use after free in TLS

Queued write requests should be invoked on handle close, otherwise the
"consumer" might be already destroyed when the write callbacks of the
"consumed" handle will be invoked. Same applies to the shutdown
requests.

Make sure to "move" away socket from server to not break the
`connections` counter in `net.js`. Otherwise it might not call `close`
callback, or call it too early.

Fix: https://github.com/iojs/io.js/issues/1696
PR-URL: https://github.com/nodejs/io.js/pull/1910
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agourl: fix typo in comment
Rich Trott [Sun, 28 Jun 2015 02:05:20 +0000 (19:05 -0700)]
url: fix typo in comment

PR-URL: https://github.com/nodejs/io.js/pull/2071
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agotools: fix gyp to work on MacOSX without XCode
Shigeki Ohtsu [Tue, 10 Feb 2015 00:27:52 +0000 (09:27 +0900)]
tools: fix gyp to work on MacOSX without XCode

This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.

PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotools: update gyp to 25ed9ac
Ben Noordhuis [Mon, 29 Jun 2015 09:51:02 +0000 (11:51 +0200)]
tools: update gyp to 25ed9ac

Includes improved support for VS 2015[0] and makes it possible to build
with ninja again[1].

[0] https://codereview.chromium.org/1112753003
[1] https://codereview.chromium.org/1209553002

Fixes: https://github.com/nodejs/io.js/pull/2065
PR-URL: https://github.com/nodejs/io.js/pull/2074
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agobenchmark: make concurrent requests configurable
Rich Trott [Sat, 27 Jun 2015 05:11:30 +0000 (22:11 -0700)]
benchmark: make concurrent requests configurable

In http_bench.js, allow the concurrent requests per client
to be configurable.

This also changes the launch of clients to wait until all
forked servers are online. This eliminates spurious error
messages at the start of the run.

PR-URL: https://github.com/nodejs/io.js/pull/2068
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobenchmark: fix typo in README
Rich Trott [Sat, 27 Jun 2015 04:12:27 +0000 (21:12 -0700)]
benchmark: fix typo in README

PR-URL: https://github.com/nodejs/io.js/pull/2067
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agotools: re-enable comma-spacing linter rule
Roman Reiss [Sun, 28 Jun 2015 15:42:35 +0000 (17:42 +0200)]
tools: re-enable comma-spacing linter rule

The rule was disabled because of an eslint bug which is now resolved.
All code in lib was already conforming and only test code needed a few
changes to make the linter happy with this rule enabled.

Ref: https://github.com/eslint/eslint/issues/2408

PR-URL: https://github.com/nodejs/io.js/pull/2072
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
Reviewed-by: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Alex Kocharin <alex@kocharin.ru>
9 years agotools: update eslint to 0.24.0
Roman Reiss [Sun, 28 Jun 2015 15:36:14 +0000 (17:36 +0200)]
tools: update eslint to 0.24.0

PR-URL: https://github.com/nodejs/io.js/pull/2072
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
Reviewed-by: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Alex Kocharin <alex@kocharin.ru>
9 years agov8: cherry-pick JitCodeEvent patch from upstream
Ben Noordhuis [Mon, 29 Jun 2015 12:12:37 +0000 (14:12 +0200)]
v8: cherry-pick JitCodeEvent patch from upstream

Original commit log follows:

    Meaningful name for builtins in JitCodeEvent API.

    Report builtins by name (e.g. "Builtin:ArgumentsAdaptorTrampoline")
    instead of labeling everything "Builtin:A builtin from the snapshot"

    Review URL: https://codereview.chromium.org/1216833002

PR-URL: https://github.com/nodejs/io.js/pull/2075
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agocrypto: fix VerifyCallback in case of verify error
Shigeki Ohtsu [Fri, 26 Jun 2015 02:44:44 +0000 (11:44 +0900)]
crypto: fix VerifyCallback in case of verify error

3beb880716654dbb2bbb9e333758825172951775 has a bug in VerifyCallback
when preverify is 1 and the cert chain has an verify error. If the
error is UNABLE_TO_GET_ISSUER_CERT_LOCALLY, it leads an assertion
error in finding rootCA.
The whitelist check should be made only when the cert chain has no
verify error with X509_V_OK.

Fixes: https://github.com/nodejs/io.js/issues/2061
PR-URL: https://github.com/nodejs/io.js/pull/2064
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agosrc: nix stdin _readableState.reading manipulation
Chris Dickinson [Thu, 15 Jan 2015 20:33:54 +0000 (12:33 -0800)]
src: nix stdin _readableState.reading manipulation

this opts for stream.push('') which has the same effect
but uses a public API.

PR-URL: https://github.com/nodejs/io.js/pull/454
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
9 years agonet: fix debug for dnsopts
Evan Lucas [Thu, 25 Jun 2015 12:29:01 +0000 (07:29 -0500)]
net: fix debug for dnsopts

Prevent debug call from showing [object Object] for dnsopts in
lookupAndConnect

PR-URL: https://github.com/nodejs/io.js/pull/2059
Reviewed-by: Colin Ihrig <cjihrig@gmail.com>
9 years agobuffer: prevent abort on bad proto
Trevor Norris [Thu, 18 Jun 2015 20:07:22 +0000 (14:07 -0600)]
buffer: prevent abort on bad proto

If an object's prototype is munged it's possible to bypass the
instanceof check and cause the application to abort. Instead now use
HasInstance() to verify that the object is a Buffer, and throw if not.

This check will not work for JS only methods. So while the application
won't abort, it also won't throw.

In order to properly throw in all cases with toString() the JS
optimization of checking that length is zero has been removed. In its
place the native methods will now return early if a zero length string
is detected.

Ref: https://github.com/nodejs/io.js/pull/1486
Ref: https://github.com/nodejs/io.js/pull/1922
Fixes: https://github.com/nodejs/io.js/issues/1485
PR-URL: https://github.com/nodejs/io.js/pull/2012
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: purge stale disabled tests
Rich Trott [Tue, 23 Jun 2015 21:29:38 +0000 (14:29 -0700)]
test: purge stale disabled tests

Tests in the disabled directory are not used by Makefile nor by the CI.
Other than a single 2015 commit that puts 'use strict' in each test,
many of them haven't been touched in years.

This removes all the disabled tests that have been unmodified since
2011 (with the exception of the 'use strict' modification mentioned
above).

PR-URL: https://github.com/nodejs/io.js/pull/2045
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Evan Lucas <evanlucas@me.com>
9 years agotest: do not swallow OpenSSL support error
Rich Trott [Tue, 23 Jun 2015 18:26:56 +0000 (11:26 -0700)]
test: do not swallow OpenSSL support error

PR-URL: https://github.com/nodejs/io.js/pull/2042
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agobuffer: optimize Buffer#toString()
Ben Noordhuis [Sun, 21 Jun 2015 20:32:22 +0000 (22:32 +0200)]
buffer: optimize Buffer#toString()

Break up Buffer#toString() into a fast and slow path.  The fast path
optimizes for zero-length buffers and no-arg method invocation.

The speedup for zero-length buffers is a satisfying 700%.  The no-arg
toString() operation gets faster by about 13% for a one-byte buffer.

This change exploits the fact that most Buffer#toString() calls are
plain no-arg method calls.  Rewriting the method to take no arguments
means a call doesn't go through an ArgumentsAdaptorTrampoline stack
frame in the common case.

PR-URL: https://github.com/nodejs/io.js/pull/2027
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Christian Tellnes <christian@tellnes.no>
Reviewed-By: Daniel Cousens <email@dcousens.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agotest: fix test-repl-tab-complete.js
cjihrig [Wed, 24 Jun 2015 20:11:43 +0000 (16:11 -0400)]
test: fix test-repl-tab-complete.js

test-repl-tab-complete.js contains numerous assertions that are
never run. Anything that results in a ReferenceError bails out,
and never calls the functions containing the assertions. This
commit adds checking for successful tab completions, as well as
ReferenceErrors.

PR-URL: https://github.com/nodejs/io.js/pull/2052
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agorepl: make 'Unexpected token' errors recoverable
Julien Gilli [Mon, 15 Dec 2014 20:21:54 +0000 (12:21 -0800)]
repl: make 'Unexpected token' errors recoverable

Fix the regexp used to detect 'Unexpected token' errors so that they can
be considered as recoverable. This fixes the following use case:

> var foo = 'bar \
... baz';
undefined
> foo
'bar baz'
>

Fixes: https://github.com/joyent/node/issues/8874
PR-URL: https://github.com/joyent/node/pull/8875
PR-URL: https://github.com/nodejs/io.js/pull/2052
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agorepl: fix tab completion for a non-global context
Sangmin Yoon [Wed, 27 May 2015 09:10:45 +0000 (18:10 +0900)]
repl: fix tab completion for a non-global context

Use vm.isContext() to properly identify contexts.

PR-URL: https://github.com/joyent/node/pull/25382
PR-URL: https://github.com/nodejs/io.js/pull/2052
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: make the abbreviation 1MM clear
Ivan Yan [Thu, 25 Jun 2015 02:21:13 +0000 (10:21 +0800)]
doc: make the abbreviation 1MM clear

Refs: https://github.com/nodejs/io.js/pull/2050
PR-URL: https://github.com/nodejs/io.js/pull/2053
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
9 years agobuild: add tar-headers target for headers-only tar
Rod Vagg [Sun, 14 Jun 2015 10:23:43 +0000 (20:23 +1000)]
build: add tar-headers target for headers-only tar

to replace the full src download by node-gyp, using the proper format
instead of the full source format

PR-URL: https://github.com/nodejs/io.js/pull/1975
Reviewed-By: William Blankenship <william.jblankenship@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agodeps: copy all openssl header files to include dir
Shigeki Ohtsu [Fri, 19 Jun 2015 02:48:11 +0000 (11:48 +0900)]
deps: copy all openssl header files to include dir

On upgrading openssl, all symlinks in pulic header files are replaced
with nested include files. The issue was raised that installing them
leads to lost its references to real header files.
To avoid this, all public header files are copied into the
`deps/openssl/openssl/include/openssl/` directory.
As a result, we have duplicated header files under
`deps/openssl/openssl/` but copied files are refereed in build as
specified to include path in openssl.gyp.

Fixes: https://github.com/nodejs/io.js/pull/1975
PR-URL: https://github.com/nodejs/io.js/pull/2016
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agobuild: update build targets for io.js
Rod Vagg [Wed, 10 Jun 2015 07:05:26 +0000 (17:05 +1000)]
build: update build targets for io.js

PR-URL: https://github.com/nodejs/io.js/pull/1938
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
9 years agotest: check for error on Windows
Rich Trott [Tue, 23 Jun 2015 05:17:52 +0000 (22:17 -0700)]
test: check for error on Windows

Instead of not running the dgram-bind-shared-ports
on Windows, check that it gets ENOTSUP.

PR-URL: https://github.com/nodejs/io.js/pull/2035
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agobuild: fix cherry-pick ooops, fix comment wording
Rod Vagg [Tue, 23 Jun 2015 12:13:00 +0000 (22:13 +1000)]
build: fix cherry-pick ooops, fix comment wording

PR-URL: https://github.com/nodejs/io.js/pull/2036
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
9 years agobuild: add MSVS 2015 support
Rod Vagg [Thu, 16 Apr 2015 12:49:49 +0000 (22:49 +1000)]
build: add MSVS 2015 support

PR-URL: https://github.com/nodejs/io.js/pull/2036
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
9 years agobuild,win: set env before generating projects
Alexis Campailla [Thu, 23 Apr 2015 14:26:59 +0000 (07:26 -0700)]
build,win: set env before generating projects

vcbuild.bat calls python configure before setting GYP_MSVS_VERSION,
so SelectVisualStudioVersion (tools\gyp\pylib\gyp\MSVSVersion.py)
defaults to 'auto' and selects VS 2005.

vcbuild sets the environment in the current shell, so this issue
would manifest itself only on the first invocation of the script
in any given shell windows.

Reviewed-By: Julien Gilli <jgilli@fastmail.fm>
PR-URL: https://github.com/joyent/node/pull/20109

9 years agodoc: Added sample command to test iojs build
Jimmy Hsu [Mon, 16 Feb 2015 02:56:24 +0000 (18:56 -0800)]
doc: Added sample command to test iojs build

PR-URL: https://github.com/nodejs/io.js/pull/850
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
9 years agodoc: add TSC meeting minutes 2015-06-17
Rod Vagg [Wed, 24 Jun 2015 10:53:55 +0000 (20:53 +1000)]
doc: add TSC meeting minutes 2015-06-17

PR-URL: https://github.com/nodejs/io.js/pull/2048
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: clarify prerequisites in benchmark/README.md
Jeremiah Senkpiel [Tue, 23 Jun 2015 03:27:17 +0000 (20:27 -0700)]
doc: clarify prerequisites in benchmark/README.md

PR-URL: https://github.com/nodejs/io.js/pull/2034
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agodoc: add TSC meeting minutes 2015-05-27
Rod Vagg [Wed, 3 Jun 2015 05:38:30 +0000 (15:38 +1000)]
doc: add TSC meeting minutes 2015-05-27

closes: https://github.com/nodejs/node/issues/41
PR-URL: https://github.com/nodejs/io.js/pull/2037
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: archive io.js TC minutes
Rod Vagg [Wed, 3 Jun 2015 05:36:30 +0000 (15:36 +1000)]
doc: archive io.js TC minutes

9 years agodoc: rename tc-meetings to tsc-meetings
Rod Vagg [Wed, 3 Jun 2015 05:36:05 +0000 (15:36 +1000)]
doc: rename tc-meetings to tsc-meetings

9 years agotest: remove obsolete TODO comments
Rich Trott [Mon, 22 Jun 2015 18:53:50 +0000 (11:53 -0700)]
test: remove obsolete TODO comments

The readfile/pipe tests rely on pre-existing pipes in the system.
This arguably tests the OS functionality and not really io.js
functionality. Removing TODOs.

PR-URL: https://github.com/nodejs/io.js/pull/2033
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agotest: remove obsolete TODO comments
Rich Trott [Mon, 22 Jun 2015 20:58:29 +0000 (13:58 -0700)]
test: remove obsolete TODO comments

Not using test_ca.pem in these files anymore.
Using elipses.txt which has multibyte chars.
Not clear what constitutes "large" but that
can be a different ticket if elipses.txt etc.
are insufficiently large.

PR-URL: https://github.com/nodejs/io.js/pull/2032
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agobuild: DTrace is enabled by default on darwin
Evan Lucas [Fri, 19 Jun 2015 15:31:17 +0000 (10:31 -0500)]
build: DTrace is enabled by default on darwin

In configure, the --with-dtrace option only showed that it was true by
default on sunos. It is also true by default on darwin.

PR-URL: https://github.com/nodejs/io.js/pull/2019
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agodoc: add TC meeting 2015-05-13 minutes
Rod Vagg [Thu, 14 May 2015 06:42:09 +0000 (23:42 -0700)]
doc: add TC meeting 2015-05-13 minutes

PR-URL: https://github.com/nodejs/io.js/pull/1700
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: add @shigeki and @mscdex to TC
Rod Vagg [Thu, 18 Jun 2015 05:38:09 +0000 (15:38 +1000)]
doc: add @shigeki and @mscdex to TC

voted in to Node.js Foundation TSC in meeting on 2015-06-17

Closes: https://github.com/nodejs/io.js/issues/1500
Closes: https://github.com/nodejs/io.js/issues/1501
PR-URL: https://github.com/nodejs/io.js/pull/2008
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoWorking on v2.3.2
Rod Vagg [Tue, 23 Jun 2015 05:33:08 +0000 (15:33 +1000)]
Working on v2.3.2

9 years ago2015-06-23 io.js v2.3.1 Release v2.3.1
Rod Vagg [Fri, 19 Jun 2015 10:42:59 +0000 (20:42 +1000)]
2015-06-23 io.js v2.3.1 Release

PR-URL: https://github.com/nodejs/io.js/pull/1996

Notable changes

* module: The number of syscalls made during a require() have been
  significantly reduced again (see #1801 from v2.2.0 for previous
  work), which should lead to a performance improvement
  (Pierre Inglebert) #1920.
* npm:
  - Upgrade to v2.11.2 (Rebecca Turner) #1956.
  - Upgrade to v2.11.3 (Forrest L Norvell) #2018.
* zlib: A bug was discovered where the process would abort if the
  final part of a zlib decompression results in a buffer that would
  exceed the maximum length of 0x3fffffff bytes (~1GiB). This was
  likely to only occur during buffered decompression (rather than
  streaming). This is now fixed and will instead result in a thrown
  RangeError (Michaël Zasso) #1811.

9 years agotest: assert tmp and fixture dirs different
Rich Trott [Fri, 19 Jun 2015 05:06:19 +0000 (22:06 -0700)]
test: assert tmp and fixture dirs different

PR-URL: https://github.com/nodejs/io.js/pull/2015
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agomodule: fix stat with long paths on Windows
Michaël Zasso [Thu, 18 Jun 2015 20:18:46 +0000 (22:18 +0200)]
module: fix stat with long paths on Windows

PR-URL: https://github.com/nodejs/io.js/pull/2013
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: confirm symlink
Rich Trott [Fri, 19 Jun 2015 02:39:42 +0000 (19:39 -0700)]
test: confirm symlink

PR-URL: https://github.com/nodejs/io.js/pull/2014
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: check result as early as possible
Rich Trott [Thu, 18 Jun 2015 05:14:22 +0000 (22:14 -0700)]
test: check result as early as possible

PR-URL: https://github.com/nodejs/io.js/pull/2007
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: add security section to README.md
Rod Vagg [Thu, 11 Jun 2015 10:37:37 +0000 (20:37 +1000)]
doc: add security section to README.md

PR-URL: https://github.com/nodejs/io.js/pull/1948
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agowin,node-gyp: enable delay-load hook by default
Bert Belder [Wed, 15 Apr 2015 20:58:50 +0000 (13:58 -0700)]
win,node-gyp: enable delay-load hook by default

The delay-load hook allows node.exe/iojs.exe to be renamed. See efadffe
for more background.

PR-URL: https://github.com/iojs/io.js/pull/1433
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: make node-gyp work with io.js
cjihrig [Fri, 27 Feb 2015 18:40:58 +0000 (13:40 -0500)]
deps: make node-gyp work with io.js

Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d199276e21c1fa08d8df14eeb654c90cc5aa20,
5de334c23096492014a097ff487f07ad8eaee6d2, and
da730c76e98fb9fd18dac445dafbbec74d79f802. This commit squashes
them into a single commit.

PR-URL: https://github.com/iojs/io.js/pull/990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: upgrade to npm 2.11.3
Forrest L Norvell [Fri, 19 Jun 2015 10:24:06 +0000 (03:24 -0700)]
deps: upgrade to npm 2.11.3

PR-URL: https://github.com/nodejs/io.js/pull/2018
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agobuild: remove lint from test-ci on windows
Johan Bergström [Wed, 17 Jun 2015 22:47:04 +0000 (08:47 +1000)]
build: remove lint from test-ci on windows

PR-URL: https://github.com/nodejs/io.js/pull/2004
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
9 years agodoc: change the info to the same as in gitconfig
Christian Tellnes [Wed, 17 Jun 2015 09:02:36 +0000 (11:02 +0200)]
doc: change the info to the same as in gitconfig

PR-URL: https://github.com/nodejs/io.js/pull/2000
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agodoc: mention CI in Collaborator Guide
Rich Trott [Tue, 16 Jun 2015 22:23:24 +0000 (15:23 -0700)]
doc: mention CI in Collaborator Guide

Add link to Jenkins server in Collaborator Guide.

PR-URL: https://github.com/nodejs/io.js/pull/1995
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agomodule: reduce syscalls during require search
Pierre Inglebert [Mon, 8 Jun 2015 21:44:18 +0000 (23:44 +0200)]
module: reduce syscalls during require search

require() now checks that the path exists before searching
further in it.

PR-URL: https://github.com/nodejs/io.js/pull/1920
Reviewed-By: Isaac Z. Schlueter <i@izs.me>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agonet: Defer reading until listeners could be added
James Hartig [Mon, 8 Jun 2015 22:25:06 +0000 (18:25 -0400)]
net: Defer reading until listeners could be added

Defer reading until user-land has a chance to add listeners. This
allows the TLS wrapper to listen for _tlsError and trigger a
clientError event if the socket already has data that could trigger.

Fixes: https://github.com/nodejs/io.js/issues/1114
PR-URL: https://github.com/nodejs/io.js/pull/1496
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
9 years agodoc: add TOC links to Collaborator Guide
Rich Trott [Tue, 16 Jun 2015 22:01:39 +0000 (15:01 -0700)]
doc: add TOC links to Collaborator Guide

PR-URL: https://github.com/nodejs/io.js/pull/1994
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agodoc: add TSC meeting notes 2015-06-10
Bert Belder [Wed, 17 Jun 2015 19:59:40 +0000 (12:59 -0700)]
doc: add TSC meeting notes 2015-06-10

PR-URL: https://github.com/nodejs/io.js/pull/1943
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agotest: add Buffer slice UTF-8 test
Rich Trott [Tue, 16 Jun 2015 05:02:23 +0000 (22:02 -0700)]
test: add Buffer slice UTF-8 test

PR-URL: https://github.com/nodejs/io.js/pull/1989
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agoasync-wrap: add provider id and object info cb
Trevor Norris [Wed, 3 Jun 2015 21:31:33 +0000 (15:31 -0600)]
async-wrap: add provider id and object info cb

Re-add the wrapper class id to AsyncWrap instances so they can be
tracked directly in a heapdump.

Previously the class id was given without setting the heap dump wrapper
class info provider. Causing a segfault when a heapdump was taken. This
has been added, and the label_ set to the given provider name so each
instance can be identified.

The id will not be set of the passed object has no internal field count.
As the class pointer cannot be retrieved from the object.

In order to properly report the allocated size of each class, the new
pure virtual method self_size() has been introduces.

PR-URL: https://github.com/nodejs/io.js/pull/1896
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agovm: remove unnecessary HandleScopes
Ben Noordhuis [Tue, 16 Jun 2015 14:11:51 +0000 (16:11 +0200)]
vm: remove unnecessary HandleScopes

The accessors run inside an implicit HandleScope, there is no need to
create a new one.

PR-URL: https://github.com/nodejs/io.js/pull/2001
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agotools: make test-npm work without global npm
Jeremiah Senkpiel [Tue, 9 Jun 2015 18:25:19 +0000 (11:25 -0700)]
tools: make test-npm work without global npm

Futher discussion at https://github.com/joyent/node/pull/25294

PR-URL: https://github.com/nodejs/io.js/pull/1926
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
9 years agotest: tmpdir creation failures should fail tests
Rich Trott [Sun, 14 Jun 2015 14:02:29 +0000 (07:02 -0700)]
test: tmpdir creation failures should fail tests

tmpdir creation only happens for tests that need it. So failure to
refresh the temporary directory should result in a failed test.

PR-URL: https://github.com/nodejs/io.js/pull/1976
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: reformat authors section
Johan Bergström [Sat, 13 Jun 2015 03:06:35 +0000 (13:06 +1000)]
doc: reformat authors section

Make the order of name, email and other additions simpler to
copy paste and/or match with git commit messages.

Useful when working with `Reviewed-By`.

PR-URL: https://github.com/nodejs/io.js/pull/1966
Reviewed-By: Christian Tellnes <christian@tellnes.no>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoutil: dont repeat isBuffer
Brendan Ashworth [Tue, 16 Jun 2015 05:01:33 +0000 (22:01 -0700)]
util: dont repeat isBuffer

PR-URL: https://github.com/nodejs/io.js/pull/1988
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agobuffer: fix cyclic dependency with util
Brendan Ashworth [Tue, 16 Jun 2015 04:52:06 +0000 (21:52 -0700)]
buffer: fix cyclic dependency with util

PR-URL: https://github.com/nodejs/io.js/pull/1988
Fixes: https://github.com/nodejs/io.js/issues/1987
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agoutil: move deprecate() to internal module
Brendan Ashworth [Tue, 16 Jun 2015 04:51:41 +0000 (21:51 -0700)]
util: move deprecate() to internal module

PR-URL: https://github.com/nodejs/io.js/pull/1988
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agomodule: allow long paths for require on Windows
Michaël Zasso [Tue, 16 Jun 2015 20:24:08 +0000 (13:24 -0700)]
module: allow long paths for require on Windows

https://github.com/nodejs/io.js/pull/1801 introduced internal fs methods
to speed up require. The methods do not call path._makeLong like their
counterpart from the fs module. This brings back the old behaviour.

Fixes: https://github.com/nodejs/io.js/issues/1990
Fixes: https://github.com/nodejs/io.js/issues/1980
Fixes: https://github.com/nodejs/io.js/issues/1849

PR-URL: https://github.com/nodejs/io.js/pull/1991/files
Reviewed-By: Bert Belder <bertbelder@gmail.com>
9 years agotest: fix test-cluster-worker-disconnect
Santiago Gimeno [Mon, 8 Jun 2015 19:18:48 +0000 (21:18 +0200)]
test: fix test-cluster-worker-disconnect

- Just let the process exit gracefully after the worker is disconnected.

Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/nodejs/io.js/pull/1919
Fixes: https://github.com/nodejs/io.js/issues/1757

9 years agocrypto: add cert check to CNNIC Whitelist
Shigeki Ohtsu [Thu, 4 Jun 2015 08:50:33 +0000 (17:50 +0900)]
crypto: add cert check to CNNIC Whitelist

When client connect to the server with certification issued by either
CNNIC Root CA or CNNIC EV Root CA, check hash of server
certification in the list of CNNICHashWhitelist.inc. If it's not,
CERT_REVOKED error returns.

See for details in
https://blog.mozilla.org/security/2015/04/02/distrusting-new-cnnic-certificates/

PR-URL: https://github.com/nodejs/io.js/pull/1895
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: minor clarification in the modules API doc.
Сковорода Никита Андреевич [Mon, 15 Jun 2015 11:45:34 +0000 (14:45 +0300)]
doc: minor clarification in the modules API doc.

PR-URL: https://github.com/nodejs/io.js/pull/1983
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: fix pkg-config output parsing in configure
Ben Noordhuis [Mon, 15 Jun 2015 20:04:14 +0000 (22:04 +0200)]
build: fix pkg-config output parsing in configure

Fix parsing of `pkg-config --cflags-only-I`.  The configure_library()
step sometimes appended a list in a list instead of list of strings to
include_dirs.

This commit removes the default handling for includes and libpath
options.  They don't have defaults at the moment and I don't see that
changing anytime soon.  Fixing the code is more work and because it's
dead code anyway, I opted to remove it instead.

Fixes: https://github.com/nodejs/io.js/issues/1985
PR-URL: https://github.com/nodejs/io.js/pull/1986
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agozlib: prevent uncaught exception in zlibBuffer
Michaël Zasso [Wed, 27 May 2015 11:21:56 +0000 (13:21 +0200)]
zlib: prevent uncaught exception in zlibBuffer

If the accumulation of data for the final Buffer is greater than
kMaxLength it will throw an un-catchable RangeError. Instead now pass
the generated error to the callback.

PR-URL: https://github.com/nodejs/io.js/pull/1811
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agowin,node-gyp: enable delay-load hook by default
Bert Belder [Wed, 15 Apr 2015 20:58:50 +0000 (13:58 -0700)]
win,node-gyp: enable delay-load hook by default

The delay-load hook allows node.exe/iojs.exe to be renamed. See efadffe
for more background.

PR-URL: https://github.com/iojs/io.js/pull/1433
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: make node-gyp work with io.js
cjihrig [Fri, 27 Feb 2015 18:40:58 +0000 (13:40 -0500)]
deps: make node-gyp work with io.js

Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d199276e21c1fa08d8df14eeb654c90cc5aa20,
5de334c23096492014a097ff487f07ad8eaee6d2, and
da730c76e98fb9fd18dac445dafbbec74d79f802. This commit squashes
them into a single commit.

PR-URL: https://github.com/iojs/io.js/pull/990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: upgrade to npm 2.11.2
Rebecca Turner [Fri, 12 Jun 2015 08:04:17 +0000 (04:04 -0400)]
deps: upgrade to npm 2.11.2

PR-URL: https://github.com/nodejs/io.js/pull/1956
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: benchmark/README.md copyedit
Rich Trott [Sat, 13 Jun 2015 16:07:20 +0000 (09:07 -0700)]
doc: benchmark/README.md copyedit

PR-URL: https://github.com/nodejs/io.js/pull/1970
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agotools: enable whitespace related rules in eslint
Roman Reiss [Sat, 13 Jun 2015 19:33:46 +0000 (21:33 +0200)]
tools: enable whitespace related rules in eslint

Enables rules for trailing whitespace, final newline and maximum
consecutive empty lines.

PR-URL: https://github.com/nodejs/io.js/pull/1971
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agolib,test: fix whitespace issues
Roman Reiss [Sat, 13 Jun 2015 17:47:14 +0000 (19:47 +0200)]
lib,test: fix whitespace issues

PR-URL: https://github.com/nodejs/io.js/pull/1971
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: don't run lint from test-ci
Johan Bergström [Sat, 13 Jun 2015 02:25:35 +0000 (12:25 +1000)]
build: don't run lint from test-ci

Since we will run linting before compiling or testing there's no
need to run it as part of the ci testing.

PR-URL: https://github.com/nodejs/io.js/pull/1965
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Revewied-By: Evan Lucas <evanlucas@me.com>
9 years agobuild: simplify execution of built binary
Johan Bergström [Fri, 12 Jun 2015 05:12:20 +0000 (15:12 +1000)]
build: simplify execution of built binary

Since we aleady have a variable with path to the newly built
binary, use that instead of prefixing path. This also allows us
to pass a different path through the environment (NODE=)

PR-URL: https://github.com/nodejs/io.js/pull/1955
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agov8: cherry-pick uclibc build patch from upstream
Ben Noordhuis [Tue, 14 Apr 2015 07:54:30 +0000 (00:54 -0700)]
v8: cherry-pick uclibc build patch from upstream

Original commit log follows:

    Restore V8_LIBC_UCLIBC as a libc option.

    As uClibc defines __GLIBC__ in an attempt to look like glibc,
    V8_LIBC_GLIBC was true for uClibc as well. Checking for uClibc
    before glibc fixes this and restores the correct behavior.

    Review URL: https://codereview.chromium.org/1066573005

Fixes: https://github.com/nodejs/io.js/issues/1432
PR-URL: https://github.com/nodejs/io.js/pull/1974
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: copyedit COLLABORATOR_GUIDE.md
Rich Trott [Sat, 13 Jun 2015 01:59:40 +0000 (18:59 -0700)]
doc: copyedit COLLABORATOR_GUIDE.md

PR-URL: https://github.com/nodejs/io.js/pull/1964
Reviewed-By: Alex Kocharin <alex@kocharin.ru>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agodoc: copyedit GOVERNANCE.md
Rich Trott [Sat, 13 Jun 2015 00:26:04 +0000 (17:26 -0700)]
doc: copyedit GOVERNANCE.md

PR-URL: https://github.com/nodejs/io.js/pull/1963
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agotest: only refresh tmpDir for tests that need it
Rich Trott [Tue, 9 Jun 2015 18:40:55 +0000 (11:40 -0700)]
test: only refresh tmpDir for tests that need it

Expose `common.refreshTmpDir()` and only call it
for tests that use common.tmpDir or common.PIPE.

A positive side effect is the removal of a code
smell where child processes were detected by the
presence of `.send()`. Now each process can decide
for itself if it needs to refresh tmpDir.

PR-URL: https://github.com/nodejs/io.js/pull/1954
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agotest: remove test repetition
Rich Trott [Tue, 2 Jun 2015 20:16:36 +0000 (13:16 -0700)]
test: remove test repetition

Remove loops executing the same tests multiple times.

PR-URL: https://github.com/nodejs/io.js/pull/1874
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agodoc: add ChALkeR as collaborator
Сковорода Никита Андреевич [Tue, 9 Jun 2015 20:50:02 +0000 (23:50 +0300)]
doc: add ChALkeR as collaborator

Using the non-transliterated name as requested.

The transliteration is "Nikita Skovoroda" (first and last name),
if anyone will want to organize non-ASCII names.

PR-URL: https://github.com/nodejs/io.js/pull/1927
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>