platform/upstream/nodejs.git
9 years agoRevert "url: fix treatment of some values as non-empty"
Rod Vagg [Sun, 3 May 2015 22:05:36 +0000 (15:05 -0700)]
Revert "url: fix treatment of some values as non-empty"

This reverts commit 66877216bd833face753d9a5d573ad477895d880.

It was agreed that this change contained too much potential ecosystem
breakage, particularly around the inability to `delete` properties off a
`Url` object. It may be re-introduced for a later release, along with
better work on ecosystem compatibility.

PR-URL: #1602
Reviewed-By: Mikeal Rogers <mikeal.rogers@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Forrest L Norvell <forrest@npmjs.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Isaac Z. Schlueter <i@izs.me>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agourl: fix treatment of some values as non-empty
Petka Antonov [Sun, 3 May 2015 08:29:54 +0000 (11:29 +0300)]
url: fix treatment of some values as non-empty

In addition to null, undefined and the empty string
are treated as empty (removing the component from the url).

The string '#' is treated same as empty values when
setting .hash.

The string '?' is treated same as empty values when
setting .search.

PR-URL: https://github.com/iojs/io.js/pull/1589
Fixes: https://github.com/iojs/io.js/issues/1588
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agourl: delete href cache on all setter code paths
Petka Antonov [Sat, 2 May 2015 13:51:22 +0000 (16:51 +0300)]
url: delete href cache on all setter code paths

PR-URL: https://github.com/iojs/io.js/pull/1589
Fixes: https://github.com/iojs/io.js/issues/1588
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agonet: ensure Write/ShutdownWrap references handle
Fedor Indutny [Sat, 2 May 2015 15:32:29 +0000 (17:32 +0200)]
net: ensure Write/ShutdownWrap references handle

`StreamBase::AfterWrite` is passing handle as an argument to the
`afterWrite` function in net.js. Thus GC should not collect the handle
and the request separately and assume that they are tied together.

With this commit - request will always outlive the StreamBase instance,
helping us survive the GC pass.

Same applies to the ShutdownWrap instances, they should never be
collected after the StreamBase instance.

Fix: https://github.com/iojs/io.js/pull/1580
PR-URL: https://github.com/iojs/io.js/pull/1590
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: add require() lines to child.stdio example
Nick Raienko [Wed, 22 Apr 2015 11:58:04 +0000 (14:58 +0300)]
doc: add require() lines to child.stdio example

PR-URL: https://github.com/iojs/io.js/pull/1504
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agorepl: fix persistent history and env variable name
Roman Reiss [Sat, 2 May 2015 21:47:17 +0000 (23:47 +0200)]
repl: fix persistent history and env variable name

Issue #1575 did introduce a check for options.terminal but this variable
wasn't able to get truthy, which in turn broke persistent history
completely. This changes the variable to get truthy on true terminals.

Additionally, the docs and the code did differ on which environment
variable was used for history. This changes the code to use
NODE_REPL_HISTORY_FILE.

PR-URL: https://github.com/iojs/io.js/pull/1593
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agodoc: fix some cross-references
Alexander Gromnitsky [Sat, 2 May 2015 03:58:40 +0000 (06:58 +0300)]
doc: fix some cross-references

PR-URL: https://github.com/iojs/io.js/pull/1584
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agourl: significantly improve the performance of the url module
Petka Antonov [Mon, 23 Mar 2015 00:59:32 +0000 (02:59 +0200)]
url: significantly improve the performance of the url module

(landed by @rvagg)

PR-URL: https://github.com/iojs/io.js/pull/1561
Reviewed-By: Domenic Denicola <domenic@domenicdenicola.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: add TC meeting 2015-04-22 minutes
Rod Vagg [Wed, 29 Apr 2015 09:36:30 +0000 (19:36 +1000)]
doc: add TC meeting 2015-04-22 minutes

Closes: https://github.com/iojs/io.js/pull/1502
PR-URL: https://github.com/iojs/io.js/pull/1556
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agonode: improve nextTick performance
Brian White [Fri, 1 May 2015 18:08:02 +0000 (14:08 -0400)]
node: improve nextTick performance

This commit uses separate functions to isolate deopts caused by
try-catches and avoids fn.apply() for callbacks with small numbers
of arguments.

These changes improve performance by ~1-40% in the various
nextTick benchmarks.

PR-URL: https://github.com/iojs/io.js/pull/1571
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agorepl: do not save history for non-terminal repl
Fedor Indutny [Fri, 1 May 2015 11:58:06 +0000 (13:58 +0200)]
repl: do not save history for non-terminal repl

When running in non-TTY mode - the `repl.history` is `undefined` and
is not actually populated. Saving it will result in a crashes of
subsequent repl runs.

Fix: https://github.com/iojs/io.js/issues/1574
PR-URL: https://github.com/iojs/io.js/pull/1575
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agoMerge branch 'v1.x'
Jeremiah Senkpiel [Sat, 2 May 2015 00:08:55 +0000 (20:08 -0400)]
Merge branch 'v1.x'

PR-URL: https://github.com/iojs/io.js/pull/1582
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Conflicts:
src/node_version.h

9 years agowin,node-gyp: optionally allow node.exe/iojs.exe to be renamed
Bert Belder [Fri, 1 May 2015 08:48:31 +0000 (01:48 -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, 1 May 2015 08:48:31 +0000 (01:48 -0700)]
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.9.0
Forrest L Norvell [Fri, 1 May 2015 08:27:33 +0000 (01:27 -0700)]
deps: upgrade npm to 2.9.0

PR-URL: https://github.com/iojs/io.js/pull/1573
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agodoc: improve http.request and https.request opts
Roman Reiss [Tue, 28 Apr 2015 16:30:58 +0000 (18:30 +0200)]
doc: improve http.request and https.request opts

This adds a few previously undocumented option to both functions.

PR-URL: https://github.com/iojs/io.js/pull/1551
Fixes: https://github.com/iojs/io.js/issues/1082
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agotls: use `SSL_set_cert_cb` for async SNI/OCSP
Fedor Indutny [Sat, 18 Apr 2015 08:19:23 +0000 (10:19 +0200)]
tls: use `SSL_set_cert_cb` for async SNI/OCSP

Do not enable ClientHello parser for async SNI/OCSP. Use new
OpenSSL-1.0.2's API `SSL_set_cert_cb` to pause the handshake process and
load the cert/OCSP response asynchronously. Hopefuly this will make
whole async SNI/OCSP process much faster and will eventually let us
remove the ClientHello parser itself (which is currently used only for
async session, see #1462 for the discussion of removing it).

NOTE: Ported our code to `SSL_CTX_add1_chain_cert` to use
`SSL_CTX_get0_chain_certs` in `CertCbDone`. Test provided for this
feature.

Fix: https://github.com/iojs/io.js/issues/1423
PR-URL: https://github.com/iojs/io.js/pull/1464
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agostream_base: dispatch reqs in the stream impl
Fedor Indutny [Wed, 29 Apr 2015 11:50:36 +0000 (13:50 +0200)]
stream_base: dispatch reqs in the stream impl

Dispatch requests in the implementation of the stream, not in the code
creating these requests. The requests might be piled up and invoked
internally in the implementation, so it should know better when it is
the time to dispatch them.

In fact, TLS was doing exactly this thing which led us to...

Fix: https://github.com/iojs/io.js/issues/1512
PR-URL: https://github.com/iojs/io.js/pull/1563
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agobuild: turn on debug-safe optimizations with -Og
Ben Noordhuis [Thu, 30 Apr 2015 17:53:02 +0000 (19:53 +0200)]
build: turn on debug-safe optimizations with -Og

The resulting binary is still easy to inspect in gdb but is not as dog
slow.  The 'parallel' test suite, although it takes several minutes to
complete, now finishes without any tests timing out.

PR-URL: https://github.com/iojs/io.js/pull/1569
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agorepl: add mode detection, cli persistent history
Chris Dickinson [Thu, 23 Apr 2015 07:35:53 +0000 (00:35 -0700)]
repl: add mode detection, cli persistent history

this creates a new internal module responsible for providing
the repl created via "iojs" or "iojs -i," and adds the following
options to the readline and repl subsystems:

* "repl mode" - determine whether a repl is strict mode, sloppy mode,
  or auto-detect mode.
* historySize - determine the maximum number of lines a repl will store
  as history.

The built-in repl gains persistent history support when the
NODE_REPL_HISTORY_FILE environment variable is set. This functionality
is not exposed to userland repl instances.

PR-URL: https://github.com/iojs/io.js/pull/1513
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agobuild: Use option groups in configure output
Johan Bergström [Mon, 27 Apr 2015 04:45:55 +0000 (14:45 +1000)]
build: Use option groups in configure output

Minor edits to current build flags and its help texts as well
as grouping shared and i18n options into separate option groups.

Also, validate i18n default/logic similar to how we treat other
options. `--download` isn't really intl-specific but is only used
for that purpose which is why it's grouped similarly.

PR-URL: https://github.com/iojs/io.js/pull/1533
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Steven R. Loomis <srl@icu-project.org>
9 years agogitignore: ignore xcode workspaces and projects
Roman Klauke [Wed, 29 Apr 2015 17:47:04 +0000 (19:47 +0200)]
gitignore: ignore xcode workspaces and projects

Calling ./configure --xcode creates xcode projects and a
workspace for io.js.

PR-URL: https://github.com/iojs/io.js/pull/1562
Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodoc: deprecate smalloc module
Ben Noordhuis [Thu, 30 Apr 2015 09:10:18 +0000 (11:10 +0200)]
doc: deprecate smalloc module

Upcoming V8 changes will make it impossible to keep supporting the
smalloc module so deprecate it now and tell people to switch to
typed arrays.

PR-URL: https://github.com/iojs/io.js/pull/1566
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agotls: destroy singleUse context immediately
Fedor Indutny [Mon, 27 Apr 2015 07:39:48 +0000 (09:39 +0200)]
tls: destroy singleUse context immediately

Destroy singleUse context right after it is going out of use.

Fix: https://github.com/iojs/io.js/issues/1522
PR-URL: https://github.com/iojs/io.js/pull/1529
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agotls: zero SSL_CTX freelist for a singleUse socket
Fedor Indutny [Sun, 26 Apr 2015 12:19:38 +0000 (14:19 +0200)]
tls: zero SSL_CTX freelist for a singleUse socket

When connecting to server with `keepAlive` turned off - make sure that
the read/write buffers won't be kept in a single use SSL_CTX instance
after the socket will be destroyed.

Fix: https://github.com/iojs/io.js/issues/1522
PR-URL: https://github.com/iojs/io.js/pull/1529
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agocrypto: track external memory for SSL structures
Fedor Indutny [Sun, 26 Apr 2015 12:27:46 +0000 (14:27 +0200)]
crypto: track external memory for SSL structures

Ensure that GC kicks in at the right times and the RSS does not blow up.

Fix: https://github.com/iojs/io.js/issues/1522
PR-URL: https://github.com/iojs/io.js/pull/1529
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agotls: destroy SSL once it is out of use
Fedor Indutny [Sun, 26 Apr 2015 12:26:57 +0000 (14:26 +0200)]
tls: destroy SSL once it is out of use

Do not keep SSL structure in memory once socket is closed. This should
lower the memory usage in many cases.

Fix: https://github.com/iojs/io.js/issues/1522
PR-URL: https://github.com/iojs/io.js/pull/1529
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agosrc: deprecate smalloc public functions
Ben Noordhuis [Wed, 29 Apr 2015 18:04:59 +0000 (19:04 +0100)]
src: deprecate smalloc public functions

Upcoming V8 changes will make it impossible to keep supporting the
smalloc functionality so deprecate the functions in smalloc.h now
and tell people to switch to typed arrays.

This commit shuffles code around in smalloc.cc to avoid generating
the deprecation warnings when building io.js itself.

PR-URL: https://github.com/iojs/io.js/pull/1565
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agosrc: fix deprecation warnings
Ben Noordhuis [Wed, 29 Apr 2015 18:03:15 +0000 (20:03 +0200)]
src: fix deprecation warnings

The previous commit enables deprecation warnings, this commit fixes
the handful of offending sites where the isolate was not explicitly
being passed around.

PR-URL: https://github.com/iojs/io.js/pull/1565
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agosrc: fix NODE_DEPRECATED macro
Ben Noordhuis [Wed, 29 Apr 2015 17:57:41 +0000 (19:57 +0200)]
src: fix NODE_DEPRECATED macro

The NODE_DEPRECATED macro was piggybacking on the V8_DEPRECATED macro
but that macro is silent unless V8_DEPRECATION_WARNINGS is defined,
something io.js doesn't do.  Ergo, no deprecation notices were being
issued.

PR-URL: https://github.com/iojs/io.js/pull/1565
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agolib: deprecate the smalloc module
Ben Noordhuis [Wed, 29 Apr 2015 17:08:19 +0000 (19:08 +0200)]
lib: deprecate the smalloc module

Upcoming V8 changes will make it impossible to keep supporting the
smalloc module so deprecate it now and tell people to switch to
typed arrays.

The module is used in core in a few places so this commit makes the
public module private and replaces the public part with wrappers that
print deprecation notices.

PR-URL: https://github.com/iojs/io.js/pull/1564
Reviewed-By: Domenic Denicola <domenic@domenicdenicola.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agosrc: add ability to get/set effective uid/gid
Evan Lucas [Mon, 27 Apr 2015 16:24:19 +0000 (11:24 -0500)]
src: add ability to get/set effective uid/gid

Adds the following to process:

- `process.geteuid()`
- `process.seteuid(id)`
- `process.getegid()`
- `process.setegid(id)`

PR-URL: https://github.com/iojs/io.js/pull/1536
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: extend timeouts for ARMv6
Rod Vagg [Wed, 29 Apr 2015 00:55:55 +0000 (10:55 +1000)]
test: extend timeouts for ARMv6

Based on tests running on original Raspberry Pi

PR-URL: https://github.com/iojs/io.js/pull/1554
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agofs: validate fd on fs.write
Julian Duque [Tue, 28 Apr 2015 20:15:41 +0000 (15:15 -0500)]
fs: validate fd on fs.write

PR-URL: #1553
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agodeps: enable v8 postmortem debugging again
Ben Noordhuis [Fri, 27 Mar 2015 11:05:40 +0000 (12:05 +0100)]
deps: enable v8 postmortem debugging again

Cherry-pick https://codereview.chromium.org/1033733003 from upstream
and re-enable postmortem debugging.

PR-URL: https://github.com/iojs/io.js/pull/1232
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodeps: upgrade v8 to 4.2.77.18
Chris Dickinson [Sat, 25 Apr 2015 00:19:24 +0000 (17:19 -0700)]
deps: upgrade v8 to 4.2.77.18

This commit applies a secondary change in order to make `make test`
pass cleanly, specifically re-disabling post-mortem debugging in
common.gypi.

PR-URL: https://github.com/iojs/io.js/pull/1506
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: upgrade v8 to 4.2.77.15
Ben Noordhuis [Sat, 11 Apr 2015 17:37:48 +0000 (19:37 +0200)]
deps: upgrade v8 to 4.2.77.15

This includes the out-of-tree patch (but fixed in upstream HEAD) from
commit 41c00a2 ("deps: enable v8 postmortem debugging again".)

PR-URL: https://github.com/iojs/io.js/pull/1399
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodeps: enable v8 postmortem debugging again
Ben Noordhuis [Fri, 27 Mar 2015 11:05:40 +0000 (12:05 +0100)]
deps: enable v8 postmortem debugging again

Cherry-pick https://codereview.chromium.org/1033733003 from upstream
and re-enable postmortem debugging.

PR-URL: https://github.com/iojs/io.js/pull/1232
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodeps: upgrade v8 to 4.2.77.13
Ben Noordhuis [Fri, 27 Mar 2015 11:04:12 +0000 (12:04 +0100)]
deps: upgrade v8 to 4.2.77.13

This commit applies some secondary changes in order to make `make test`
pass cleanly:

* disable broken postmortem debugging in common.gypi

* drop obsolete strict mode test in parallel/test-repl

* drop obsolete test parallel/test-v8-features

PR-URL: https://github.com/iojs/io.js/pull/1232
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agoos: remove trailing slash from os.tmpdir()
Christian Tellnes [Fri, 6 Feb 2015 22:27:22 +0000 (23:27 +0100)]
os: remove trailing slash from os.tmpdir()

This commit makes `os.tmpdir()` behave consistently on all platforms. It
changes `os.tmpdir()` to always return a path without trailing slash.

Semver: major
Fixes: https://github.com/iojs/io.js/issues/715
PR-URL: https://github.com/iojs/io.js/pull/747
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: add TC meeting 2015-04-15 minutes
Rod Vagg [Wed, 22 Apr 2015 05:02:37 +0000 (15:02 +1000)]
doc: add TC meeting 2015-04-15 minutes

PR-URL: #1498
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: Add Known issues to v1.7.0/1.7.1 CHANGELOG
Yosuke Furukawa [Mon, 20 Apr 2015 06:04:55 +0000 (15:04 +0900)]
doc: Add Known issues to v1.7.0/1.7.1 CHANGELOG

PR-URL: https://github.com/iojs/io.js/pull/1473
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
9 years agostring_decoder: don't cache Buffer.isEncoding
Brian White [Tue, 28 Apr 2015 14:53:06 +0000 (10:53 -0400)]
string_decoder: don't cache Buffer.isEncoding

Some modules are monkey-patching Buffer.isEncoding, so without this
they cannot do that.

Fixes: https://github.com/iojs/io.js/issues/1547
PR-URL: https://github.com/iojs/io.js/pull/1548
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: fix util.deprecate example
Nick Raienko [Mon, 27 Apr 2015 15:04:11 +0000 (18:04 +0300)]
doc: fix util.deprecate example

PR-URL: https://github.com/iojs/io.js/pull/1535
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Julian Duque <julianduquej@gmail.com>
9 years agobuild: remove -J from test-ci
Rod Vagg [Tue, 28 Apr 2015 05:01:20 +0000 (15:01 +1000)]
build: remove -J from test-ci

parallel tests still not working on most build slaves

PR-URL: https://github.com/iojs/io.js/pull/1544
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agotest: fix test-net-dns-custom-lookup test assertion
Evan Lucas [Sun, 26 Apr 2015 13:52:10 +0000 (08:52 -0500)]
test: fix test-net-dns-custom-lookup test assertion

The assertion made an assumption that the IPv6 address would always be
`::1`. Since the address can be different on different platforms, it
has been changed to allow multiple addresses.

Fixes: https://github.com/iojs/io.js/issues/1527
PR-URL: https://github.com/iojs/io.js/pull/1531
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agotest: adjust Makefile/test-ci, add to vcbuild.bat
Rod Vagg [Sun, 26 Apr 2015 10:59:45 +0000 (20:59 +1000)]
test: adjust Makefile/test-ci, add to vcbuild.bat

PR-URL: https://github.com/iojs/io.js/pull/1530
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
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 agoutil: add Map and Set inspection support
Christopher Monsanto [Mon, 20 Apr 2015 00:29:59 +0000 (20:29 -0400)]
util: add Map and Set inspection support

PR-URL: https://github.com/iojs/io.js/pull/1471
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agodoc: Add Addon API (NAN) to working group list
Julian Duque [Sat, 25 Apr 2015 13:38:55 +0000 (08:38 -0500)]
doc: Add Addon API (NAN) to working group list

Also update nan and examples repositories links to io.js organization

PR-URL: #1523
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: add TC meeting 2015-04-08 minutes
Rod Vagg [Wed, 22 Apr 2015 04:52:43 +0000 (14:52 +1000)]
doc: add TC meeting 2015-04-08 minutes

PR-URL: #1497
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodeps: update http_parser to 2.5.0
Fedor Indutny [Fri, 24 Apr 2015 13:47:40 +0000 (15:47 +0200)]
deps: update http_parser to 2.5.0

PR-URL: https://github.com/iojs/io.js/pull/1517
Reviewed-By: Brian White <mscdex@mscdex.net>
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 agonet: add lookup option to Socket.prototype.connect
Evan Lucas [Wed, 22 Apr 2015 22:05:29 +0000 (17:05 -0500)]
net: add lookup option to Socket.prototype.connect

Allows customization of the lookup function used when
Socket.prototype.connect is called using a hostname.

PR-URL: https://github.com/iojs/io.js/pull/1505
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
9 years agonet: cleanup connect logic
Evan Lucas [Wed, 22 Apr 2015 21:46:21 +0000 (16:46 -0500)]
net: cleanup connect logic

Separates out the lookup logic for net.Socket. In the event
the `host` property is an IP address, the lookup is skipped.

PR-URL: https://github.com/iojs/io.js/pull/1505
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
9 years agobuffer: little improve for Buffer.concat method
Jackson Tian [Thu, 16 Apr 2015 03:29:02 +0000 (11:29 +0800)]
buffer: little improve for Buffer.concat method

When buffer list less than 2, no need to calculate the length.
The change's benchmark result is here:
https://gist.github.com/JacksonTian/2c9e2bdec00018e010e6
It improve 15% ~ 25% speed when list only have one buffer,
to other cases no effect.

PR-URL: https://github.com/iojs/io.js/pull/1437
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
9 years agodoc: update branch to master
Roman Reiss [Thu, 23 Apr 2015 15:22:38 +0000 (17:22 +0200)]
doc: update branch to master

Update the remaining markdown files to refer to the master branch.
PR-URL: https://github.com/iojs/io.js/pull/1511
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agomodule: remove '' from Module.globalPaths
Chris Yip [Tue, 21 Apr 2015 07:13:27 +0000 (15:13 +0800)]
module: remove '' from Module.globalPaths

If `$NODE_PATH` contains trailing separators, `Module.globalPaths` will
contains empty strings. When `Module` try to resolve a module's path,
`path.resolve('', 'index.js')` will boil down to `$PWD/index.js`, which
makes sub modules can access global modules and get unexpected result.

PR-URL: https://github.com/iojs/io.js/pull/1488
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agotls_wrap: use localhost if options.host is empty
Guilherme Souza [Tue, 21 Apr 2015 21:24:13 +0000 (18:24 -0300)]
tls_wrap: use localhost if options.host is empty

tls.connect(options) with no options.host should accept a certificate
with CN: 'localhost'. Fix Error: Hostname/IP doesn't match
certificate's altnames: "Host: undefined. is not cert's CN: localhost"

'localhost' is not added directly to defaults because that is not
always desired (for example, when using options.socket)

PR-URL: https://github.com/iojs/io.js/pull/1493
Fixes: https://github.com/iojs/io.js/issues/1489
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodoc: add Fishrock123 to the TC
Jeremiah Senkpiel [Thu, 23 Apr 2015 00:46:06 +0000 (20:46 -0400)]
doc: add Fishrock123 to the TC

as per https://github.com/iojs/io.js/issues/1502

PR-URL: https://github.com/iojs/io.js/pull/1507
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: add spaces to child.kill example
Nick Raienko [Wed, 22 Apr 2015 11:27:04 +0000 (14:27 +0300)]
doc: add spaces to child.kill example

PR-URL: https://github.com/iojs/io.js/pull/1503
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
9 years agodoc: update AUTHORS list
Rod Vagg [Mon, 20 Apr 2015 08:55:04 +0000 (18:55 +1000)]
doc: update AUTHORS list

Update AUTHORS list using tools/update-authors.sh

PR-URL: https://github.com/iojs/io.js/pull/1476
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoMerge v1.8.1.
Chris Dickinson [Tue, 21 Apr 2015 03:25:08 +0000 (20:25 -0700)]
Merge v1.8.1.

This brings in the '%PYTHON%' revert, and restores
the correct NODE_MODULE_VERSION.

PR-URL: https://github.com/iojs/io.js/pull/1482
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.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 agotest: add test for 06cfff9 regression
Brendan Ashworth [Sat, 18 Apr 2015 20:26:15 +0000 (13:26 -0700)]
test: add test for 06cfff9 regression

This commit adds a test to ensure all options are NOT modified after
passing them to http.request. Specifically options.host and options.port
are the most prominent that would previously error, but add the other
options that have default values.

options.host and options.port were overridden for the one-argument
net.createConnection(options) call.

PR-URL: https://github.com/iojs/io.js/pull/1467
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoRevert "http: don't bother making a copy of the options"
Brendan Ashworth [Sat, 18 Apr 2015 20:22:34 +0000 (13:22 -0700)]
Revert "http: don't bother making a copy of the options"

This reverts commit 06cfff935012ed2826cac56284cea982630cbc27.

Reverted because it introduced a regression where (because options were
modified in the later functionality) options.host and options.port would
be overridden with values provided in other, supported ways.

PR-URL: https://github.com/iojs/io.js/pull/1467
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: update CONTRIBUTING.md
Brendan Ashworth [Sat, 18 Apr 2015 18:11:52 +0000 (11:11 -0700)]
doc: update CONTRIBUTING.md

This commit:
  - fixes development branch (v1.x -> master)
  - updates stability index wording
  - use iojs binary instead of node

PR-URL: https://github.com/iojs/io.js/pull/1466
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 agoWorking on v2.0.0
Chris Dickinson [Fri, 17 Apr 2015 21:52:50 +0000 (14:52 -0700)]
Working on v2.0.0

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>