platform/upstream/nodejs.git
9 years agobuffer: fix copy() segfault with zero arguments
Trevor Norris [Fri, 24 Apr 2015 16:50:15 +0000 (10:50 -0600)]
buffer: fix copy() segfault with zero arguments

Buffer#copy() immediately does a ToObject() on the first argument before
it checks if it's even an Object. This causes
Object::HasIndexedPropertiesInExternalArrayData() to be run on nothing,
triggering the segfault. Instead run HasInstance() on the args Value.
Which will check if it's actually an Object, before checking if it
contains data.

Fixes: https://github.com/iojs/io.js/issues/1519
PR-URL: https://github.com/iojs/io.js/pull/1520
Reviewed-by: Evan Lucas <evanlucas@me.com>
9 years agoWorking on v1.8.2
Chris Dickinson [Mon, 20 Apr 2015 23:02:06 +0000 (16:02 -0700)]
Working on v1.8.2

9 years ago2015-04-20 io.js v1.8.1 Release v1.8.1
Chris Dickinson [Sat, 18 Apr 2015 04:33:30 +0000 (21:33 -0700)]
2015-04-20 io.js v1.8.1 Release

Notable Changes:

* build: revert vcbuild.bat changes
* changes inherited from v1.8.0:
  * build: Support for building io.js as a static
    library (Marat Abdullin) #1341
  * npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448
  * deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389
  * src: allow multiple arguments to be passed to
    process.nextTick (Trevor Norris) #1077
  * module: the interaction of require('.') with NODE_PATH has been
    restored and deprecated. This functionality will be removed at
    a later point. (Roman Reiss) #1363

9 years agosrc: revert NODE_MODULE_VERSION to 43
Chris Dickinson [Sat, 18 Apr 2015 04:27:15 +0000 (21:27 -0700)]
src: revert NODE_MODULE_VERSION to 43

PR-URL: https://github.com/iojs/io.js/pull/1460
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agoRevert "build: use %PYTHON% instead of python"
Rod Vagg [Mon, 20 Apr 2015 08:48:51 +0000 (18:48 +1000)]
Revert "build: use %PYTHON% instead of python"

This reverts commit 91943a99d534e67f6b7a7a3be45206afdb3fbf75.

Old commit cherry-picked in but found to cause problems with .msi
creation on Windows.
Original change is mostly pointless because V8 hard-wires
`python` anyway.

PR-URL: https://github.com/iojs/io.js/pull/1475
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoWorking on v1.8.1
Chris Dickinson [Fri, 17 Apr 2015 21:53:22 +0000 (14:53 -0700)]
Working on v1.8.1

9 years ago2015-04-17 io.js v1.8.0 Release
Chris Dickinson [Fri, 17 Apr 2015 21:31:49 +0000 (14:31 -0700)]
2015-04-17 io.js v1.8.0 Release

Notable Changes:

* build: Support for building io.js as a static
  library (Marat Abdullin) #1341
* deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389
* npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448
* src: allow multiple arguments to be passed to
  process.nextTick (Trevor Norris) #1077
* module: the interaction of require('.') with NODE_PATH has been
  restored and deprecated. This functionality will be removed at
  a later point. (Roman Reiss) #1363

9 years agobuild: fix logic for shared library flags
Jeremiah Senkpiel [Fri, 17 Apr 2015 19:04:46 +0000 (15:04 -0400)]
build: fix logic for shared library flags

Fixes a regession introduced in fd90b33b94e6ce64fde193deca2e2aa6c774f558

PR-URL: https://github.com/iojs/io.js/pull/1454
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agowin,node-gyp: optionally allow node.exe/iojs.exe to be renamed
Bert Belder [Wed, 25 Mar 2015 04:00:12 +0000 (21:00 -0700)]
win,node-gyp: optionally allow node.exe/iojs.exe to be renamed

On Windows, when node or io.js attempts to dynamically load a compiled
addon, the compiled addon tries to load node.exe or iojs.exe again -
depending on which import library the module used when it was linked.
This causes many compiled addons to break when node.exe or iojs.exe are
renamed, because when the binary has been renamed the addon DLL can't
find the (right) .exe file to load its imports from.

This patch gives compiled addon developers an option to overcome this
restriction by compiling a delay-load hook into their binary. The
delay-load hook ensures that whenever a module tries to load imports
from node.exe/iojs.exe, it'll just look at the process image, thereby
making the addon work regardless of what name the node/iojs binary has.

To enable this feature, the addon developer must set the
'win_delay_load_hook' option to 'true' in their binding.gyp file, like
this:

```
{
  'targets': [
    {
      'target_name': 'ernie',
      'win_delay_load_hook': 'true',
      ...
```

Bug: https://github.com/iojs/io.js/issues/751
Bug: https://github.com/iojs/io.js/issues/965
Upstream PR: https://github.com/TooTallNate/node-gyp/pull/599

PR-URL: https://github.com/iojs/io.js/pull/1251
Reviewed-By: Rod Vagg <rod@vagg.org>
PR-URL: https://github.com/iojs/io.js/pull/1266
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 npm to 2.8.3
Forrest L Norvell [Fri, 17 Apr 2015 08:12:21 +0000 (01:12 -0700)]
deps: upgrade npm to 2.8.3

9 years agodeps: fix git case sensitivity issue in npm
Chris Dickinson [Fri, 17 Apr 2015 20:13:32 +0000 (20:13 +0000)]
deps: fix git case sensitivity issue in npm

Remove Readme.md, as the subsequent npm update commit creates a
README.md. Combining the create and delete operations into the
same commit leads to OSX machines running into issues – they
don't detect it as a rename, instead trying to create a new
README.md, which fails because Readme.md hasn't been deleted yet.
This causes the entire operation to fail spectacularly. Thus,
the delete operation is performed first, in this commit, then
the create operation follows in the npm update commit.

PR-URL: https://github.com/iojs/io.js/pull/1456
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agomodule: fix style
Roman Reiss [Fri, 17 Apr 2015 16:06:46 +0000 (18:06 +0200)]
module: fix style

This makes the linter happy again.

PR-URL: https://github.com/iojs/io.js/pull/1453
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agohttp: logically respect maxSockets
fengmk2 [Mon, 23 Mar 2015 11:33:13 +0000 (19:33 +0800)]
http: logically respect maxSockets

Allows the number of pooled free sockets to equal maxSockets.
Previously it would only allow maxSockets - 1.

PR-URL: https://github.com/iojs/io.js/pull/1242
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Christian Tellnes <christian@tellnes.no>
9 years agonet: add fd into listen2 debug info
Jackson Tian [Thu, 16 Apr 2015 17:14:25 +0000 (01:14 +0800)]
net: add fd into listen2 debug info

Add fd into debug message.

PR-URL: https://github.com/iojs/io.js/pull/1442

Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agobuild: use %PYTHON% instead of python
Rod Vagg [Thu, 16 Oct 2014 04:40:52 +0000 (15:40 +1100)]
build: use %PYTHON% instead of python

Like libuv does.

Originally: https://github.com/node-forward/node/pull/21

PR-URL: https://github.com/iojs/io.js/pull/1444
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Conflicts:
vcbuild.bat

9 years agostream: remove duplicated expression
Yazhong Liu [Thu, 2 Oct 2014 16:00:40 +0000 (00:00 +0800)]
stream: remove duplicated expression

PR-URL: https://github.com/iojs/io.js/pull/1444
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 agomodule: handle NODE_PATH in require('.')
Roman Reiss [Tue, 7 Apr 2015 14:30:28 +0000 (16:30 +0200)]
module: handle NODE_PATH in require('.')

This commit restores the functionality of adding a module's path to
NODE_PATH and requiring it with require('.'). As NODE_PATH was never
intended to be used as a pointer to a module directory (but instead, to
a directory containing directories of modules), this feature is also
being deprecated in turn, to be removed at a later point in time.

PR-URL: https://github.com/iojs/io.js/pull/1363
Fixes: https://github.com/iojs/io.js/issues/1356
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agobuffer: fast-case for empty string in byteLength
Jackson Tian [Thu, 16 Apr 2015 15:31:34 +0000 (23:31 +0800)]
buffer: fast-case for empty string in byteLength

When the string is empty, calling the binding is unnecessary and slow.

PR-URL: https://github.com/iojs/io.js/pull/1441
Reviewed-by: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Christian Tellnes <christian@tellnes.no>
9 years agosrc: remove duplicate byteLength from Buffer
Jackson Tian [Thu, 16 Apr 2015 05:44:17 +0000 (13:44 +0800)]
src: remove duplicate byteLength from Buffer

Commit 36a77956 introduced a duplicate Buffer byteLength property.

PR-URL: https://github.com/iojs/io.js/pull/1438
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agodoc: Document forced pushing with git
Johan Bergström [Tue, 14 Apr 2015 06:37:20 +0000 (16:37 +1000)]
doc: Document forced pushing with git

Mention that we generally disallow forced pushes but allow it
in trivial cases within 10 minutes of the original push unless
the branch pushed to already has new commits.

PR-URL: https://github.com/iojs/io.js/pull/1420
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agonode: allow multiple arguments passed to nextTick
Trevor Norris [Thu, 5 Mar 2015 21:07:27 +0000 (14:07 -0700)]
node: allow multiple arguments passed to nextTick

PR-URL: https://github.com/iojs/io.js/pull/1077
Reviewed-by: Colin Ihrig <cjihrig@gmail.com>
9 years agodoc: add Addon API WG
Rod Vagg [Sat, 21 Mar 2015 05:16:16 +0000 (16:16 +1100)]
doc: add Addon API WG

PR-URL: https://github.com/iojs/io.js/pull/1226
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
Reviewed-By: TC
9 years agobuild: Expose xz compression level
Johan Bergström [Wed, 15 Apr 2015 00:49:29 +0000 (10:49 +1000)]
build: Expose xz compression level

On machines with limited resources a fair tradeoff could be trading
result size with less memory and cpu consumption. Expose a variable
that overrides the default (9).

Note: xz is often used to gain maximum possible compression, so
avoid lowering this if possible.

PR-URL: https://github.com/iojs/io.js/pull/1428
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agobuild: fix error message in configure
Shigeki Ohtsu [Mon, 13 Apr 2015 01:19:05 +0000 (10:19 +0900)]
build: fix error message in configure

Replace Node.js to io.js in error messages.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: add docs to upgrade openssl
Shigeki Ohtsu [Tue, 31 Mar 2015 05:28:08 +0000 (14:28 +0900)]
deps: add docs to upgrade openssl

This document is intended to describe the procedure to upgrade openssl
from 1.0.1m to 1.0.2a in io.js.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: fix error message check for openssl-1.0.2a
Shigeki Ohtsu [Thu, 5 Feb 2015 07:16:00 +0000 (16:16 +0900)]
test: fix error message check for openssl-1.0.2a

openssl-1.0.2a does not include function name of SSL3_GET_CLIENT_HELLO
in the error message

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: enable ssl support on arm64
Shigeki Ohtsu [Fri, 10 Apr 2015 07:13:53 +0000 (16:13 +0900)]
build: enable ssl support on arm64

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: update asm files for openssl-1.0.2a
Shigeki Ohtsu [Fri, 10 Apr 2015 04:58:31 +0000 (13:58 +0900)]
deps: update asm files for openssl-1.0.2a

asm files are generated as
- In `deps/openssl/asm/`, make with CC=gcc and ASM=nasm
- In `deps/openssl/asm_obsolute/`, make with no envs for compilers

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps, build: add support older assembler
Shigeki Ohtsu [Tue, 31 Mar 2015 05:16:10 +0000 (14:16 +0900)]
deps, build: add support older assembler

Asm files for OpenSSL depends on the version of assembler.
We provide two sets of asm files, one is asm_latest(avx2 and addx
supported) and the other asm_obsolute(without avx1/2 and addx)

The asm_latest needs the version of gas >= 2.23, llvm >= 3.3
or ml64 >= 12 as defined in
https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/crypto/sha/asm/sha512-x86_64.pl#L112-L129
, otherwise asm_obsolute are used.

We take MSVS_VERSION in gyp as a version check of assembler on
Windows because the path to ml64.exe was set after configure in
vcbuild.bat and executing ml64.exe was failed in configure.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: update asm Makefile for openssl-1.0.2a
Shigeki Ohtsu [Tue, 31 Mar 2015 05:12:32 +0000 (14:12 +0900)]
deps: update asm Makefile for openssl-1.0.2a

This includes following changes,
 - Updated asm files for each platforms which are required in
 openssl-1.0.2a.
 - Some perl files need CC and ASM envs. Added a check if these envs
 exist. Followed asm files are to be generated with CC=gcc and
 ASM=nasm on Linux. See
 `deps/openssl/openssl/crypto/sha/asm/sha512-x86_64.pl`
 - Added new 32bit targets/rules with a sse2 flag (OPENSSL_IA32_SSE2)
 to generate asm for use SSE2.
 - Generating sha512 asm files in x86_64 need output filename which
 has 512. Added new rules so as not to use stdout for outputs.
 - PERLASM_SCHEME of linux-armv4 is `void` as defined in openssl
 Configure. Changed its target/rule and all directories are moved from
 arm-elf-gas to arm-void-gas.

deps: add arm64 support in openssl/asm/Makefile

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: update openssl.gyp/gypi for openssl-1.0.2a
Shigeki Ohtsu [Tue, 31 Mar 2015 05:09:53 +0000 (14:09 +0900)]
deps: update openssl.gyp/gypi for openssl-1.0.2a

Update gyp sources for openssl-1.0.2a. The source list was extracted
from Makefiles in `deps/openssl/openssl/{crypto/ssl/engines}`.

Defines are created by referring the table in
`deps/openssl/doc/openssl_define_list.pdf` that was derived from
Makefile entries and outputs of
`deps/openssl/openssl/Configure TABLE`.

Renamed the variable of openssl_sources_arm_elf_gas to
openssl_sources_arm_void_gas to be consistent with PERLASM_SCHEME.

This also includes arm64 support.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: update opensslconf.h for 1.0.2a
Shigeki Ohtsu [Fri, 10 Apr 2015 02:29:00 +0000 (11:29 +0900)]
deps: update opensslconf.h for 1.0.2a

just type `make` in `deps/openssl/conf` then opensslconf.h in all
architectures are updated.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: add x32 and arm64 support for opensslconf.h
Shigeki Ohtsu [Fri, 10 Apr 2015 02:24:08 +0000 (11:24 +0900)]
deps: add x32 and arm64 support for opensslconf.h

linux-x32 and linux-aarch64(arm64) are officially supported in
openssl-1.0.2. With this fix opensslconf.h for these new architectures
can be generated by Makefile.

The patch for opensslconf.h of linux-x32 with Makefile was removed.

For the fix of opensslconf.h in WIN32/WIN64, adding defines of
OPENSSL_NO_DYNAMIC_ENGINE and OPENSSL_NO_CAPIENG move to openssl.gypi
so that we no longer need insert a patch with Makefile and removed it.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: replace all headers in openssl
Shigeki Ohtsu [Fri, 10 Apr 2015 02:12:07 +0000 (11:12 +0900)]
deps: replace all headers in openssl

Change all openssl/include/openssl/*.h to include resolved symbolic
links and openssl/crypto/opensslconf.h to refer config/opensslconf.h

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoopenssl: fix keypress requirement in apps on win32
Shigeki Ohtsu [Tue, 17 Feb 2015 02:30:28 +0000 (11:30 +0900)]
openssl: fix keypress requirement in apps on win32

Reapply b910613792dac946b295855963869933a9089044 .

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: backport openssl patch of alt cert chains 1
Shigeki Ohtsu [Tue, 27 Jan 2015 10:03:29 +0000 (10:03 +0000)]
deps: backport openssl patch of alt cert chains 1

This a backport of da084a5ec6cebd67ae27f2463ebe4a50bb840fa5 in
https://github.com/openssl/openssl by Matt Caswell <matt@openssl.org> as

In certain situations the server provided certificate chain may no
longer be valid. However the issuer of the leaf, or some intermediate
cert is in fact in the trust store.

When building a trust chain if the first attempt fails, then try to
see if alternate chains could be constructed that are trusted.

deps: backport openssl patch of alt cert chains 2

This a backport of 15dba5be6a4482a9ad7e5b846291f31e97e338ca in
https://github.com/openssl/openssl by Matt Caswell <matt@openssl.org> as

Add flag to inhibit checking for alternate certificate chains. Setting this
behaviour will force behaviour as per previous versions of OpenSSL

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: fix asm build error of openssl in x86_win32
Shigeki Ohtsu [Fri, 13 Feb 2015 09:33:59 +0000 (18:33 +0900)]
deps: fix asm build error of openssl in x86_win32

See
https://mta.openssl.org/pipermail/openssl-dev/2015-February/000651.html

iojs needs to stop using masm and move to nasm or yasm on Win32.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: fix openssl assembly error on ia32 win32
Fedor Indutny [Wed, 8 Jan 2014 19:05:01 +0000 (23:05 +0400)]
deps: fix openssl assembly error on ia32 win32

`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and
perhaps others) are requiring .686 .

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agodeps: upgrade openssl to 1.0.2a
Shigeki Ohtsu [Mon, 30 Mar 2015 05:41:01 +0000 (14:41 +0900)]
deps: upgrade openssl to 1.0.2a

This just replaces all sources in deps/openssl/openssl to originals in
https://www.openssl.org/source/openssl-1.0.2a.tar.gz

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoWorking on v1.7.2
Rod Vagg [Tue, 14 Apr 2015 13:26:14 +0000 (23:26 +1000)]
Working on v1.7.2

9 years ago2015-04-14 io.js v1.7.1 Release v1.7.1
Rod Vagg [Tue, 14 Apr 2015 12:57:23 +0000 (22:57 +1000)]
2015-04-14 io.js v1.7.1 Release

Notable changes:

* build: A syntax error in the Makefile for release builds caused
  1.7.0 to be DOA and unreleased. (Rod Vagg) #1421

9 years agobuild: fix RELEASE check
Rod Vagg [Tue, 14 Apr 2015 12:22:23 +0000 (22:22 +1000)]
build: fix RELEASE check

fixes broken 1.7.0 build, unreviewed quick patch

Ref: https://github.com/iojs/io.js/pull/1405
PR-URL: https://github.com/iojs/io.js/pull/1421

9 years agoWorking on v1.7.1
Rod Vagg [Tue, 14 Apr 2015 12:12:33 +0000 (22:12 +1000)]
Working on v1.7.1

9 years ago2015-04-14 io.js v1.7.0 Release v1.7.0
Rod Vagg [Tue, 14 Apr 2015 12:07:18 +0000 (22:07 +1000)]
2015-04-14 io.js v1.7.0 Release

Notable changes:

* C++ API: Fedor Indutny contributed a feature to V8 which has been
  backported to the V8 bundled in io.js. SealHandleScope allows a C++
  add-on author to seal a HandleScope to prevent further, unintended
  allocations within it. Currently only enabled for debug builds of
  io.js. This feature helped detect the leak in #1075 and is now
  activated on the root HandleScope in io.js. (Fedor Indutny) #1395.
* ARM: This release includes significant work to improve the state of
  ARM support for builds and tests. The io.js CI cluster's ARMv6,
  ARMv7 and ARMv8 build servers are now all (mostly) reporting passing
  builds and tests.
  - ARMv8 64-bit (AARCH64) is now properly supported, including a
    backported fix in libuv that was mistakenly detecting the
    existence of `epoll_wait()`. (Ben Noordhuis) #1365.
  - ARMv6: #1376 reported a problem with Math.exp() on ARMv6 (incl
    Raspberry Pi). The culprit is erroneous codegen for ARMv6 when
    using the "fast math" feature of V8. --nofast_math has been turned
    on for all ARMv6 variants by default to avoid this, fast math can
    be turned back on with --fast_math. (Ben Noordhuis) #1398.
  - Tests: timeouts have been tuned specifically for slower platforms,
    detected as ARMv6 and ARMv7. (Roman Reiss) #1366.
* npm: Upgrade npm to 2.7.6. See the release notes
  (https://github.com/npm/npm/releases/tag/v2.7.6) for details.

9 years agobuild: validate options passed to configure
Johan Bergström [Fri, 3 Apr 2015 04:33:34 +0000 (15:33 +1100)]
build: validate options passed to configure

Some variables like dest arch or os are now validated to avoid
build issues. Move defaults to optparse default while at it.

PR-URL: https://github.com/iojs/io.js/pull/1335
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: Remove deprecated flags
Johan Bergström [Mon, 13 Apr 2015 12:27:19 +0000 (22:27 +1000)]
build: Remove deprecated flags

Remove flags that were deprecated in f31502926 (soon 3 years ago).

PR-URL: https://github.com/iojs/io.js/pull/1407
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: minor changes to fix rpm build
Dan Varga [Mon, 13 Apr 2015 14:05:03 +0000 (10:05 -0400)]
build: minor changes to fix rpm build

PR-URL: https://github.com/iojs/io.js/pull/1408
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotools: Remove unused files
Johan Bergström [Mon, 13 Apr 2015 08:03:50 +0000 (18:03 +1000)]
tools: Remove unused files

Stray files used in the previous release process

PR-URL: https://github.com/iojs/io.js/pull/1406
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: Simplify fetching release version
Johan Bergström [Mon, 13 Apr 2015 06:35:48 +0000 (16:35 +1000)]
build: Simplify fetching release version

PR-URL: https://github.com/iojs/io.js/pull/1405
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agosrc: use global SealHandleScope
Fedor Indutny [Sat, 11 Apr 2015 14:02:33 +0000 (16:02 +0200)]
src: use global SealHandleScope

Helps to find Handle leaks in Debug mode.

PR-URL: https://github.com/iojs/io.js/pull/1395
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: backport 1f8555 from v8's upstream
Fedor Indutny [Sat, 11 Apr 2015 14:02:22 +0000 (16:02 +0200)]
deps: backport 1f8555 from v8's upstream

Original commit message:

    api: introduce SealHandleScope

    When debugging Handle leaks in io.js we found it very convenient to be
    able to Seal some specific (root in our case) scope to prevent Handle
    allocations in it, and easily find leakage.

    R=yangguo
    BUG=

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

    Cr-Commit-Position: refs/heads/master@{#27766}

Should help us identify and fix Handle leaks in core and user-space code.

NOTE: Works only in Debug build now, but is still better than nothing.

PR-URL: https://github.com/iojs/io.js/pull/1395
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agosrc: disable fast math only on armv6
Ben Noordhuis [Sat, 11 Apr 2015 03:34:27 +0000 (05:34 +0200)]
src: disable fast math only on armv6

Don't disable fast math on ARMv7, only ARMv6.  I hope I got all the
v6 subarchs.

PR-URL: https://github.com/iojs/io.js/pull/1398
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agosrc: disable fast math on arm
Ben Noordhuis [Sat, 11 Apr 2015 03:04:16 +0000 (05:04 +0200)]
src: disable fast math on arm

The "fast" implementation of Math.exp() and Math.tanh() emits ARMv7
movt/movw instructions on ARMv6 (notably, the original Raspberry Pi.)

Disable fast math for now.  The adventurous can enable it again with
the --fast_math switch.

PR-URL: https://github.com/iojs/io.js/pull/1398
Refs: https://github.com/iojs/io.js/issues/1376
Reviewed-By: Roman Reiss <me@silverwind.io>
V8-Bug: https://code.google.com/p/v8/issues/detail?id=4019

9 years agobuild: support building io.js as a static library
Marat Abdullin [Sat, 4 Apr 2015 14:04:49 +0000 (17:04 +0300)]
build: support building io.js as a static library

One static library could not be bundled into another, that's why
it's necessary to skip `-force_load` and `--whole-archive` linker
options to build io.js itself as a static library.

`node_target_type` variable has been added to node.gyp, along
with `--enable-static` option in configure script.

Fixes: https://github.com/iojs/io.js/issues/686
PR-URL: https://github.com/iojs/io.js/pull/1341
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: remove keepAlive options from http.request
Jeremiah Senkpiel [Fri, 10 Apr 2015 16:58:55 +0000 (12:58 -0400)]
doc: remove keepAlive options from http.request

These can only be specified in the options for http.Agent

Fixes: https://github.com/iojs/io.js/issues/1300
PR-URL: https://github.com/iojs/io.js/pull/1392
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agodoc: remove redundant parameter in `end` listener.
Alex Yursha [Fri, 10 Apr 2015 07:58:29 +0000 (10:58 +0300)]
doc: remove redundant parameter in `end` listener.

PR-URL: https://github.com/iojs/io.js/pull/1387
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodoc: document Console class
Jackson Tian [Fri, 10 Apr 2015 09:30:32 +0000 (17:30 +0800)]
doc: document Console class

document Console class to tell user can use it.

PR-URL: https://github.com/iojs/io.js/pull/1388
Fixes: https://github.com/iojs/io.js/issues/1359
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agowin,node-gyp: optionally allow node.exe/iojs.exe to be renamed
Bert Belder [Wed, 25 Mar 2015 04:00:12 +0000 (21:00 -0700)]
win,node-gyp: optionally allow node.exe/iojs.exe to be renamed

On Windows, when node or io.js attempts to dynamically load a compiled
addon, the compiled addon tries to load node.exe or iojs.exe again -
depending on which import library the module used when it was linked.
This causes many compiled addons to break when node.exe or iojs.exe are
renamed, because when the binary has been renamed the addon DLL can't
find the (right) .exe file to load its imports from.

This patch gives compiled addon developers an option to overcome this
restriction by compiling a delay-load hook into their binary. The
delay-load hook ensures that whenever a module tries to load imports
from node.exe/iojs.exe, it'll just look at the process image, thereby
making the addon work regardless of what name the node/iojs binary has.

To enable this feature, the addon developer must set the
'win_delay_load_hook' option to 'true' in their binding.gyp file, like
this:

```
{
  'targets': [
    {
      'target_name': 'ernie',
      'win_delay_load_hook': 'true',
      ...
```

Bug: https://github.com/iojs/io.js/issues/751
Bug: https://github.com/iojs/io.js/issues/965
Upstream PR: https://github.com/TooTallNate/node-gyp/pull/599

PR-URL: https://github.com/iojs/io.js/pull/1251
Reviewed-By: Rod Vagg <rod@vagg.org>
PR-URL: https://github.com/iojs/io.js/pull/1266
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 npm to 2.7.6
Forrest L Norvell [Fri, 10 Apr 2015 12:56:01 +0000 (05:56 -0700)]
deps: upgrade npm to 2.7.6

PR-URL: https://github.com/iojs/io.js/pull/1390
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agoreadline: fix calling constructor without new
Alex Kocharin [Thu, 9 Apr 2015 15:55:26 +0000 (18:55 +0300)]
readline: fix calling constructor without new

Previously, we detected options object based on amount of arguments
supplied. But if we're calling readline without new operator,
constructor gets re-called and will always have 4 arguments.

PR-URL: https://github.com/iojs/io.js/pull/1385
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotools: add to install deps/openssl/config/archs
Shigeki Ohtsu [Wed, 8 Apr 2015 08:56:52 +0000 (17:56 +0900)]
tools: add to install deps/openssl/config/archs

PR-URL: https://github.com/iojs/io.js/pull/1377
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: generate opensslconf.h for architectures
Shigeki Ohtsu [Thu, 9 Apr 2015 08:56:16 +0000 (17:56 +0900)]
deps: generate opensslconf.h for architectures

PR-URL: https://github.com/iojs/io.js/pull/1377
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: add Makefile to generate opensslconf.h
Shigeki Ohtsu [Thu, 9 Apr 2015 08:49:27 +0000 (17:49 +0900)]
deps: add Makefile to generate opensslconf.h

This Makefile executes ../openssl/Configure {target} and copy
generated `../openssl/crypto/opensslconf.h` into
`archs/{target}/opensslconf.h`. with the target list that is defined
in ARCS. Several files are copied for backup and cleared so as not to
change the files in `../openssl`.

This also applies four fixes as below by using perl script so as to
meet iojs build requirements.

- all architectures
Remove define of OPENSSL_CPUID_OBJ because it is defined in
openssl.gypi so as to avoid build error with --openssl-no-asm

- VC-WIN32 and VC-WIN64A
OPENSSL_NO_DYNAMIC_ENGINE is needed for building static
library. OPENSSL_NO_CAPIENG is needed to avoid build errors on
Win. See the comments in `deps/openssl/openssl/engines/e_capi.c` for
detail.

- linux-x32
This fix was made by comparing define values of opensslconf.h which
was generated `Configure linux-x32' in openssl-1.0.2a

- darwin64-x86_64-cc
The current openssl release does not use RC4 asm since it explicitly
specified as `$asm=~s/rc4\-[^:]+//;` in
https://github.com/openssl/openssl/blob/OpenSSL_1_0_1-stable/Configure#L584
But iojs has used RC4 asm on MacOS for long time. Fix type of RC4_INT
into `unsigned int` in opensslconf.h of darwin64-x86_64-cc to work on
the RC4 asm.

PR-URL: https://github.com/iojs/io.js/pull/1377
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: make opensslconf.h include each target arch
Shigeki Ohtsu [Thu, 9 Apr 2015 08:46:08 +0000 (17:46 +0900)]
deps: make opensslconf.h include each target arch

In OpenSSL, opensslconf.h was generated by Configure script with
specifying a target argument, where it includes several defines that
depend on OS and architecture platform.

In iojs, we statically mapped --dest-os and --dest-cpu options in
configure to the target of Configure in OpenSSL and make
`deps/openssl/conf/openssconf.h` so as to include each file
according to its target by checking pre-defined compiler macros.

Included opnesslconf.h files for supported target architectures can
be generated by `Makefile` and stored under
`archs/{target}/opensslconf.h`. The Makefile alos fixes several
defines to meet iojs build requirements.

Here is a map table of configure options in iojs, target arch of
Configure in OpenSSL and CI support.

| --dest-os | --dest-cpu | OpenSSL target arch  | CI  |
| --------- | ---------- | -------------------- | --- |
| linux     | ia32       | linux-elf            | o   |
| linux     | x32        | patched linux-x86_64 | -   |
| linux     | x64        | linux-x86_64         | o   |
| linux     | arm        | linux-armv4          | o   |
| linux     | arm64      | N/A                  | -   |
| mac       | ia32       | darwin-i386-cc       | o   |
| mac       | x64        | darwin64-x86-cc      | o   |
| win       | ia32       | VC-WIN32             | -   |
| win       | x64        | VC-WIN64A            | o   |
| solaris   | ia32       | solaris-x86-gcc      | o   |
| solaris   | x64        | solaris64-x86_64-gcc | o   |
| freebsd   | ia32       | BSD-x86              | o   |
| freebsd   | x64        | BSD-x86_64           | o   |
| openbsd   | ia32       | BSD-x86              | -   |
| openbsd   | x64        | BSD-x86_64           | -   |
| others    | others     | linux-elf            | -   |

 --dest-os and --dest-cpu are mapped to pre-defined macros.

| --dest-os          | pre-defined macro         |
| ------------------ | ------------------------- |
| win                | _WIN32                    |
| win(64bit)         | _WIN64                    |
| mac                | __APPLE__ && __MACH__     |
| solaris            | __sun                     |
| freebsd            | __FreeBSD__               |
| openbsd            | __OpenBSD__               |
| linux (not andorid)| __linux__ && !__ANDROID__ |
| android            | __ANDROID__               |

| --dest-cpu | pre-defined macro |
| ---------- | ----------------- |
| arm        | __arm__           |
| arm64      | __aarch64__       |
| ia32       | __i386__          |
| ia32(win)  | _M_IX86           |
| mips       | __mips__          |
| mipsel     | __MIPSEL__        |
| x32        | __ILP32__         |
| x64        | __x86_64__        |
| x64(win)   | _M_X64            |

These are the list which is not implemented yet.

| --dest-os | --dest-cpu | OpenSSL target arch  | CI  |
| --------- | ---------- | -------------------- | --- |
| linux     | mips       | linux-mips32,linux-mips64,linux64-mips64? | --- |
| linux     | mipsel     | ?                    | --- |
| android   | ia32       | android-x86          | --- |
| android   | arm        | android-armv7        | --- |
| android   | mips       | android-mips         | --- |
| android   | mipsel     | ?                    | --- |

Supported target arch list in OpenSSL can be obtained by typing
`deps/openssl/openssl/Configure LIST`.

This also contains to add two new defines for all platform in the
bottom for GOST and Padlock engines are not included in iojs.

PR-URL: https://github.com/iojs/io.js/pull/1377
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agolib: reduce process.binding() calls
Brendan Ashworth [Tue, 7 Apr 2015 08:37:13 +0000 (01:37 -0700)]
lib: reduce process.binding() calls

This commit better handles calls to process.binding() in lib/ by
no longer lazy loading the bindings (the load times themselves are
rather miniscule compared to the load time of V8) and never reloading
the bindings (which is 172 times slower than referencing a variable with
the same value).

PR-URL: https://github.com/iojs/io.js/pull/1367
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: properly indent http.Agent keepAlive options
Jeremiah Senkpiel [Thu, 9 Apr 2015 14:56:02 +0000 (10:56 -0400)]
doc: properly indent http.Agent keepAlive options

Fixes: https://github.com/iojs/io.js/issues/1300
PR-URL: https://github.com/iojs/io.js/pull/1384
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agotest: increase timeouts on ARM
Roman Reiss [Tue, 7 Apr 2015 18:41:07 +0000 (20:41 +0200)]
test: increase timeouts on ARM

This commit introduces platform-specific test timeouts for the ARM
architectures. ARMv6 is notoriously slow so gets very large timeouts on
both the timeout value for each test, as well as certain problematic
individual tests. ARMv7 and ARMv8 also get slightly increased headroom.

PR-URL: https://github.com/iojs/io.js/pull/1366
Fixes: https://github.com/iojs/io.js/issues/1343
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobenchmark: don't check wrk in non-http benchmark
Jackson Tian [Wed, 8 Apr 2015 08:14:54 +0000 (16:14 +0800)]
benchmark: don't check wrk in non-http benchmark

When running a non-http benchmark, there is no need the check for the
wrk tool so move the wrk check into the http method.

PR-URL: https://github.com/iojs/io.js/pull/1368
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: update curl usage in COLLABORATOR_GUIDE
Roman Reiss [Thu, 9 Apr 2015 09:39:59 +0000 (11:39 +0200)]
doc: update curl usage in COLLABORATOR_GUIDE

Github now redirects the patch urls hosted on github.com, making it
necessary to enable curl redirect handling to obtain patches in the
merge process.

Example (before and after):
https://github.com/iojs/io.js/pull/1382.patch
https://patch-diff.githubusercontent.com/raw/iojs/io.js/pull/1382.patch

PR-URL: https://github.com/iojs/io.js/pull/1382
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: update CONTRIBUTING links.
Andrew Crites [Thu, 9 Apr 2015 06:49:08 +0000 (02:49 -0400)]
doc: update CONTRIBUTING links.

* Correct link to current collaborator list
* Correct link to Rust CoC

PR-URL: https://github.com/iojs/io.js/pull/1380
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodoc: add TC meeting 2015-03-18 minutes
Rod Vagg [Wed, 8 Apr 2015 11:28:22 +0000 (21:28 +1000)]
doc: add TC meeting 2015-03-18 minutes

PR-URL: https://github.com/iojs/io.js/pull/1370
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: add TC meeting 2015-04-01 minutes
Rod Vagg [Wed, 8 Apr 2015 11:30:45 +0000 (21:30 +1000)]
doc: add TC meeting 2015-04-01 minutes

Closes: https://github.com/iojs/io.js/issues/1311
PR-URL: https://github.com/iojs/io.js/pull/1371
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: update AUTHORS list
Rod Vagg [Wed, 8 Apr 2015 11:35:06 +0000 (21:35 +1000)]
doc: update AUTHORS list

Update AUTHORS list using tools/update-authors.sh

PR-URL: https://github.com/iojs/io.js/pull/1372
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agosmalloc: do not track external memory
Fedor Indutny [Wed, 8 Apr 2015 09:10:12 +0000 (11:10 +0200)]
smalloc: do not track external memory

The memory that was allocated outside of the `smalloc.cc` should not be
tracked using `AdjustAmountOfExternalAllocatedMemory`. There are no
potential issues except triggering V8's GC way too often.

In fact, `heap.js` is creating a buffer out of the pointer, and since it
doesn't know the size of the pointer - it just creates the maximum
possible `Buffer` instance with a no-op free callback and no hint.

PR-URL: https://github.com/iojs/io.js/pull/1375
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agolinux: fix epoll_pwait() fallback on arm64
Ben Noordhuis [Tue, 7 Apr 2015 12:22:50 +0000 (14:22 +0200)]
linux: fix epoll_pwait() fallback on arm64

arm64 doesn't have a epoll_wait() system call but a logic error stopped
libuv from falling back to epoll_pwait().

This bug was introduced in commit libuv/libuv@67bb2b5 ("linux: fix
epoll_pwait() regression with < 2.6.19") which sadly exchanged one
regression for another.

This commit is a back-port of libuv/libuv@1d8332f and should help
get the ARMv8 buildbot in better shape.

Original-PR-URL: https://github.com/libuv/libuv/pull/308
PR-URL: https://github.com/iojs/io.js/pull/1365
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agotest: double test timeout on arm machines
Ben Noordhuis [Mon, 6 Apr 2015 20:52:39 +0000 (22:52 +0200)]
test: double test timeout on arm machines

The ARM buildbots are notoriously slow.  Update the test runner to
double the per-test time limit when it's running on one of them.

PR-URL: https://github.com/iojs/io.js/pull/1357
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agozlib: make constants keep readonly
Jackson Tian [Tue, 7 Apr 2015 05:48:52 +0000 (13:48 +0800)]
zlib: make constants keep readonly

In zlib module, a dozen constants were exported to user land,
If user change the constant, maybe lead unexcepted error.

Make them readonly and freezon.

PR-URL: https://github.com/iojs/io.js/pull/1361
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agobuild: Remove building against a shared V8
Johan Bergström [Thu, 2 Apr 2015 23:13:43 +0000 (10:13 +1100)]
build: Remove building against a shared V8

This action is to encourage packagers to not build against a
shared V8 library since even minor bumps of V8 can create issues.

PR-URL: https://github.com/iojs/io.js/pull/1331
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoWorking on v1.6.5
Jeremiah Senkpiel [Mon, 6 Apr 2015 14:17:44 +0000 (10:17 -0400)]
Working on v1.6.5

9 years ago2015-04-06 io.js v1.6.4 Release v1.6.4
Jeremiah Senkpiel [Mon, 6 Apr 2015 14:09:03 +0000 (10:09 -0400)]
2015-04-06 io.js v1.6.4 Release

Notable changes:

* npm: upgrade npm to 2.7.5. See the npm CHANGELOG.md for details.
Includes two important security fixes.
https://github.com/npm/npm/blob/master/CHANGELOG.md#v275-2015-03-26
* openssl: preliminary work has been done for an upcoming upgrade to
OpenSSL 1.0.2a #1325 (Shigeki Ohtsu). See #589 for additional details.
* timers: a minor memory leak when timers are unreferenced was fixed,
alongside some related timers issues #1330 (Fedor Indutny). This
appears to have fixed the remaining leak reported in #1075.
* android: it is now possible to compile io.js for Android and related
devices #1307 (Giovanny Andres Gongora Granada).

9 years agotools: fix install source path for openssl headers
Oguz Bastemur [Mon, 6 Apr 2015 07:14:27 +0000 (09:14 +0200)]
tools: fix install source path for openssl headers

This part is broken for a very long time. We noticed the problem while
using jxcore native interface with embedded openssl. I've also sent a
pull request to node.js repo. The problem may affect a native addon
using builtin openssl. `opensslconf.h` is overwritten with
`deps/openssl/conf/opensslconf.h`

PR-URL: https://github.com/iojs/io.js/pull/1354
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agotools: remove gyp test directory
Shigeki Ohtsu [Mon, 6 Apr 2015 01:26:58 +0000 (10:26 +0900)]
tools: remove gyp test directory

gyp tests are not performed in iojs and it's size about 8M bytes. We
can check gyp tests outside of iojs and reduce the size of the
repository by removing them.

PR-URL: https://github.com/iojs/io.js/pull/1350
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agoRevert "doc: fix typo in CHANGELOG.md"
Giovanny Andres Gongora Granada [Sun, 5 Apr 2015 16:49:25 +0000 (11:49 -0500)]
Revert "doc: fix typo in CHANGELOG.md"

This reverts commit bde2b3e39724457147001e66a6dc9af1a5360805.

PR-URL: https://github.com/iojs/io.js/pull/1349
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: add Docker WG
Peter Petrov [Wed, 1 Apr 2015 13:50:05 +0000 (15:50 +0200)]
doc: add Docker WG

A new `Docker` working group is added to `WORKING_GROUPS.md`.
Also, removed the Docker images responsibility from the `Build`
group's description.

PR-URL: https://github.com/iojs/io.js/pull/1134
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: fix minor typos in COLLABORATOR_GUIDE.md
Kelsey [Wed, 1 Apr 2015 21:32:06 +0000 (14:32 -0700)]
doc: fix minor typos in COLLABORATOR_GUIDE.md

PR-URL: https://github.com/iojs/io.js/pull/1320
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: fix typo in CHANGELOG.md
Giovanny Andres Gongora Granada [Sat, 4 Apr 2015 16:30:48 +0000 (11:30 -0500)]
doc: fix typo in CHANGELOG.md

PR-URL: https://github.com/iojs/io.js/pull/1342
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agourl: fix resolving from non-file to file URLs.
Jeffrey Jagoda [Thu, 26 Mar 2015 19:34:16 +0000 (15:34 -0400)]
url: fix resolving from non-file to file URLs.

When resolving a reference URL with the 'file' scheme an no host
against a base URL without the 'file' scheme, the first path element
of the reference URL is used as the host for the target URL. This
results in an invalid target URL.

This change makes an exception for file URLs so that the host is not
mangled during URL resolution.

PR-URL: https://github.com/iojs/io.js/pull/1277
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Petka Antonov <petka_antonov@hotmail.com>
9 years agodoc: add GPG fingerprint for Fishrock123
Jeremiah Senkpiel [Thu, 2 Apr 2015 15:33:36 +0000 (11:33 -0400)]
doc: add GPG fingerprint for Fishrock123

PR-URL: https://github.com/iojs/io.js/pull/1324
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: better formatting for collaborator GPG keys
Jeremiah Senkpiel [Thu, 2 Apr 2015 15:24:40 +0000 (11:24 -0400)]
doc: better formatting for collaborator GPG keys

PR-URL: https://github.com/iojs/io.js/pull/1324
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobenchmark: add rsa/aes-gcm performance test
Shigeki Ohtsu [Thu, 2 Apr 2015 04:30:35 +0000 (13:30 +0900)]
benchmark: add rsa/aes-gcm performance test

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 agobenchmark: add/remove hash algorithm
Shigeki Ohtsu [Thu, 2 Apr 2015 12:33:24 +0000 (21:33 +0900)]
benchmark: add/remove hash algorithm

add sha1, sha512 algorithm and remove md5

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 agodeps: refactor openssl.gyp
Shigeki Ohtsu [Tue, 3 Feb 2015 05:13:26 +0000 (14:13 +0900)]
deps: refactor openssl.gyp

Updated gyp has "else if" syntax in condition. Use this for
target_arch and OS switches. Several sources, defines, rules and
libraries variables moved to gypi files.

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: 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 agogyp: fix build with python 2.6
Fedor Indutny [Mon, 13 Jan 2014 16:51:57 +0000 (16:51 +0000)]
gyp: fix build with python 2.6

Fixes: https://github.com/joyent/node/issues/6859
PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agodeps: update gyp to e1c8fcf7
Shigeki Ohtsu [Mon, 30 Mar 2015 05:33:17 +0000 (14:33 +0900)]
deps: update gyp to e1c8fcf7

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 agowin,node-gyp: optionally allow node.exe/iojs.exe to be renamed
Bert Belder [Wed, 25 Mar 2015 04:00:12 +0000 (21:00 -0700)]
win,node-gyp: optionally allow node.exe/iojs.exe to be renamed

On Windows, when node or io.js attempts to dynamically load a compiled
addon, the compiled addon tries to load node.exe or iojs.exe again -
depending on which import library the module used when it was linked.
This causes many compiled addons to break when node.exe or iojs.exe are
renamed, because when the binary has been renamed the addon DLL can't
find the (right) .exe file to load its imports from.

This patch gives compiled addon developers an option to overcome this
restriction by compiling a delay-load hook into their binary. The
delay-load hook ensures that whenever a module tries to load imports
from node.exe/iojs.exe, it'll just look at the process image, thereby
making the addon work regardless of what name the node/iojs binary has.

To enable this feature, the addon developer must set the
'win_delay_load_hook' option to 'true' in their binding.gyp file, like
this:

```
{
  'targets': [
    {
      'target_name': 'ernie',
      'win_delay_load_hook': 'true',
      ...
```

Bug: https://github.com/iojs/io.js/issues/751
Bug: https://github.com/iojs/io.js/issues/965
Upstream PR: https://github.com/TooTallNate/node-gyp/pull/599

PR-URL: https://github.com/iojs/io.js/pull/1251
Reviewed-By: Rod Vagg <rod@vagg.org>
PR-URL: https://github.com/iojs/io.js/pull/1266
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 npm to 2.7.5
Forrest L Norvell [Fri, 3 Apr 2015 08:52:11 +0000 (01:52 -0700)]
deps: upgrade npm to 2.7.5

PR-URL: https://github.com/iojs/io.js/pull/1337
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>