Cheng Zhao [Wed, 31 Dec 2014 20:38:08 +0000 (12:38 -0800)]
src,deps: replace LoadLibrary by LoadLibraryW
On Windows, when compiling with `UNICODE` defined, `LoadLibrary` becomes
`LoadLibraryW`. When an ASCII string is passed to that function it
crashes.
PR-URL: https://github.com/iojs/io.js/pull/226
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Fedor Indutny [Thu, 27 Mar 2014 20:09:20 +0000 (00:09 +0400)]
deps: provide TXT chunk info in c-ares
Provide more information in `ares_txt_reply` to coalesce chunks from the
same record into one string.
fix #7367
Ben Noordhuis [Mon, 11 May 2015 22:32:14 +0000 (00:32 +0200)]
deps: sync with upstream bagder/c-ares@bba4dc5
Fixes: https://github.com/iojs/io.js/issues/1676
PR-URL: https://github.com/iojs/io.js/pull/1678
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Trevor Norris [Fri, 8 May 2015 18:56:13 +0000 (12:56 -0600)]
build: re-enable V8 snapshots
Snapshots had been previously disabled because of a security
vunerability. This has been fixed (ref:
https://github.com/iojs/io.js/issues/1631#issuecomment-
100101375)
Also, re-enable snapshots for ARMv6 builds. There were previous build
issues that have been fixed.
Fixes: https://github.com/iojs/io.js/issues/1631
PR-URL: https://github.com/iojs/io.js/pull/1663
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Roman Reiss [Mon, 11 May 2015 12:24:38 +0000 (14:24 +0200)]
tools: set eslint comma-spacing to 'warn'
Certain cases with comments inside arrays or object literals fail to
pass eslint's comma-spacing rule. This change sets the comma-spacing
rule to the 'warn' level.
Once https://github.com/eslint/eslint/issues/2408 is resolved and
released, this rule should be set back to 'error' level.
PR-URL: https://github.com/iojs/io.js/pull/1672
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
Mike MacCana [Fri, 8 May 2015 18:54:34 +0000 (19:54 +0100)]
tls: update default ciphers to use gcm and aes128
AES-GCM or CHACHA20_POLY1305 ciphers must be used in current version of
Chrome to avoid an 'obsolete cryptography' warning.
Prefer 128 bit AES over 192 and 256 bit AES considering attacks that
specifically affect the larger key sizes but do not affect AES 128.
PR-URL: https://github.com/iojs/io.js/pull/1660
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Reviewed-By: Roman Reiss <me@silverwind.io>
Yosuke Furukawa [Wed, 1 Apr 2015 14:32:48 +0000 (23:32 +0900)]
dgram: call send callback asynchronously
dgram#send callback was changed synchronously.
The PR-URL is here https://github.com/joyent/libuv/pull/1358
This commit is temporary fix until libuv issue is resolved.
https://github.com/libuv/libuv/issues/301
PR-URL: https://github.com/iojs/io.js/pull/1313
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Alex Kocharin [Sun, 3 May 2015 18:11:33 +0000 (18:11 +0000)]
readline: turn emitKeys into a streaming parser
In certain environments escape sequences could be splitted into
multiple chunks. For example, when user presses left arrow,
`\x1b[D` sequence could appear as two keypresses (`\x1b` + `[D`).
PR-URL: https://github.com/iojs/io.js/pull/1601
Fixes: https://github.com/iojs/io.js/issues/1403
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
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>
Yosuke Furukawa [Tue, 28 Apr 2015 17:46:14 +0000 (02:46 +0900)]
lib: fix eslint styles
PR-URL: https://github.com/iojs/io.js/pull/1539
Fixes: https://github.com/iojs/io.js/issues/1253
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Yosuke Furukawa [Tue, 28 Apr 2015 17:03:05 +0000 (02:03 +0900)]
tools: replace closure-linter with eslint
PR-URL: https://github.com/iojs/io.js/pull/1539
Fixes: https://github.com/iojs/io.js/issues/1253
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Oleg Elifantiev [Thu, 2 Apr 2015 20:27:27 +0000 (23:27 +0300)]
cluster: disconnect event not emitted correctly
Inside of a worker, disconnect event was not emitted on cluster.worker
Fixes: https://github.com/iojs/io.js/issues/1304
PR-URL: https://github.com/iojs/io.js/pull/1386
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Roman Klauke [Thu, 7 May 2015 18:27:12 +0000 (20:27 +0200)]
src: add type check to v8.setFlagsFromString()
Calling v8.setFlagsFromString with e.g a function as a flag argument
gave no exception or warning that the function call will fail.
There is now an exception if the function gets called with the wrong
flag type (string is required) or that a flag is expected.
Other APIs already provide exceptions if the argument has not the
expected type.
PR-URL: https://github.com/iojs/io.js/pull/1652
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Rod Vagg [Thu, 7 May 2015 21:13:19 +0000 (14:13 -0700)]
Working on v2.0.2
Rod Vagg [Thu, 7 May 2015 19:28:23 +0000 (12:28 -0700)]
2015-05-07 io.js v2.0.1 Release (PROPOSAL)
PR-URL: https://github.com/iojs/io.js/pull/1629
Rod Vagg [Sat, 2 May 2015 05:32:49 +0000 (22:32 -0700)]
doc: add TC meeting 2015-04-29 minutes
PR-URL: https://github.com/iojs/io.js/pull/1585
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
thefourtheye [Tue, 5 May 2015 17:23:56 +0000 (22:53 +0530)]
install: fix NameError
If `len(args)` is less than two, then
`install_path = dst_dir + node_prefix + '/'` would throw a `NameError`,
because `dst_dir` will not be defined yet. So we are assigning `''` as
the default value.
PR-URL: https://github.com/iojs/io.js/pull/1628
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Ivan Kozik [Sun, 3 May 2015 02:41:00 +0000 (02:41 +0000)]
src: export the ParseEncoding function on Windows
Makes the ParseEncoding symbol visible to addons on Windows.
It was already visible on Unices.
PR-URL: https://github.com/iojs/io.js/pull/1596
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
AQNOUCH Mohammed [Wed, 6 May 2015 19:00:55 +0000 (20:00 +0100)]
doc: fix typo in readme.md
PR-URL: https://github.com/iojs/io.js/pull/1643
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Saúl Ibarra Corretgé [Wed, 6 May 2015 07:46:15 +0000 (09:46 +0200)]
deps: update libuv to 1.5.0
Fixes: https://github.com/iojs/io.js/issues/1397
Fixes: https://github.com/iojs/io.js/issues/1512
Fixes: https://github.com/iojs/io.js/issues/1621
Fixes: https://github.com/iojs/io.js/issues/862
PR-URL: https://github.com/iojs/io.js/pull/1646
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
thefourtheye [Wed, 6 May 2015 14:36:30 +0000 (20:06 +0530)]
tools: remove unused GuessWordSize function
Apart from the fact that the implementation is not reliable,
GuessWordSize is not used anywhere in the codebase.
PR-URL: https://github.com/iojs/io.js/pull/1638
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Ben Noordhuis [Wed, 6 May 2015 15:04:07 +0000 (17:04 +0200)]
deps: upgrade v8 to 4.2.77.20
Fixes: https://github.com/iojs/io.js/issues/1637
PR-URL: https://github.com/iojs/io.js/pull/1639
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
V8-Bug: https://code.google.com/p/v8/issues/detail?id=3960
V8-Bug: https://code.google.com/p/v8/issues/detail?id=4079
Ben Noordhuis [Wed, 6 May 2015 15:21:00 +0000 (17:21 +0200)]
src: fix pedantic cpplint whitespace warnings
Introduced in commit b712af7 ("src: fix NODE_DEPRECATED macro with old
compilers").
PR-URL: https://github.com/iojs/io.js/pull/1640
Reviewed-By: Roman Reiss <me@silverwind.io>
Shigeki Ohtsu [Wed, 6 May 2015 04:45:46 +0000 (13:45 +0900)]
js_stream: fix buffer index in DoWrite
The index of buffer to write in JSStream was always 0 by mistake. This
fix was to use increment index of buffer arrays.
The test was originally made by Brian White in #1594.
Fix: https://github.com/iojs/io.js/issues/1595
Fix: https://github.com/iojs/io.js/pull/1594
PR-URL: https://github.com/iojs/io.js/pull/1635
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Ben Noordhuis [Tue, 5 May 2015 16:17:55 +0000 (18:17 +0200)]
src: fix NODE_DEPRECATED macro with old compilers
The `__attribute__((deprecated("warning")))` macro didn't exist until
gcc 4.5 and clang 2.9.
While io.js does not build with compilers that old, add-ons do. Let's
make src/node.h compatible with such compilers, it's a public header.
PR-URL: https://github.com/iojs/io.js/pull/1626
Refs: https://github.com/iojs/io.js/issues/1619
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Brian White [Tue, 5 May 2015 13:27:12 +0000 (09:27 -0400)]
doc: fix PR link in CHANGELOG
PR-URL: https://github.com/iojs/io.js/pull/1624
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Trevor Norris [Mon, 4 May 2015 22:11:58 +0000 (16:11 -0600)]
async-wrap: remove before/after calls in init
It doesn't make sense to call before/after callbacks in init to the
parent because they'll be made anyway from MakeCallback. If information
does need to be propagated then it should be done automatically. Will
deal with this if the issue arrises in the future.
PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Trevor Norris [Mon, 4 May 2015 22:00:37 +0000 (16:00 -0600)]
async-wrap: set flags using functions
Setting flags using cryptic numeric object fields is confusing. Instead
use much simpler .enable()/.disable() calls on the async_wrap object.
PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Trevor Norris [Mon, 4 May 2015 21:59:07 +0000 (15:59 -0600)]
async-wrap: pass PROVIDER as first arg to init
Allow the init callback to see the PROVIDER type easily by being able to
compare the flag with the list of providers on the exported async_wrap
object.
PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Trevor Norris [Mon, 4 May 2015 21:56:40 +0000 (15:56 -0600)]
async-wrap: don't call init callback unnecessarily
Some calls to ReqWrap would get through the initial check and allow the
init callback to run, even though the callback had not been used on the
parent. Fix by explicitly checking if the parent has a queue.
Also change the name of the check, and internal field of AsyncHooks.
Other names were confusing.
PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Ben Noordhuis [Fri, 1 May 2015 15:25:18 +0000 (17:25 +0200)]
src: fix minor inefficiency in Buffer::New() call
Commit ccb199a ("src: fix deprecation warnings") passes env()->isolate()
to the Buffer::New() call. It's somewhat inefficient because the callee
looks up the environment from the isolate. Just pass the env directly.
PR-URL: https://github.com/iojs/io.js/pull/1577
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ben Noordhuis [Fri, 1 May 2015 15:18:16 +0000 (17:18 +0200)]
src: fix deprecated use of Buffer::New()
Pass the isolate explicitly. Overlooked in commit ccb199a ("src: fix
deprecation warnings") because g++ 4.8 and 4.9 don't warn for it
whereas g++ 5.1 does.
PR-URL: https://github.com/iojs/io.js/pull/1577
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Rod Vagg [Mon, 4 May 2015 21:33:59 +0000 (14:33 -0700)]
Working on v2.0.1
Rod Vagg [Wed, 29 Apr 2015 10:49:00 +0000 (20:49 +1000)]
2015-05-04 io.js v2.0.0 Release
PR-URL: https://github.com/iojs/io.js/pull/1532
Notable Changes:
* crypto: significantly reduced memory usage for TLS (Fedor Indutny & Сковорода
Никита Андреевич) #1529
* net: socket.connect() now accepts a 'lookup' option for a custom DNS
resolution mechanism, defaults to dns.lookup() (Evan Lucas) #1505
* npm: Upgrade npm to 2.9.0. See the v2.8.4 and v2.9.0 release notes for
details. Notable items:
- Add support for default author field to make npm init -y work without
user-input (@othiym23) npm/npm/
d8eee6cf9d
- Include local modules in npm outdated and npm update (@ArnaudRinquin)
npm/npm#7426
- The prefix used before the version number on npm version is now configurable
via tag-version-prefix (@kkragenbrink) npm/npm#8014
* os: os.tmpdir() is now cross-platform consistent and will no longer returns a
path with a trailling slash on any platform (Christian Tellnes) #747
* process:
- process.nextTick() performance has been improved by between 2-42% across the
benchmark suite, notable because this is heavily used across core (Brian White) #1548
- New process.geteuid(), process.seteuid(id), process.getegid() and
process.setegid(id) methods allow you to get and set effective UID and GID
of the process (Evan Lucas) #1536
* repl:
- REPL history can be persisted across sessions if the NODE_REPL_HISTORY_FILE
environment variable is set to a user accessible file,
NODE_REPL_HISTORY_SIZE can set the maximum history size and defaults to 1000
(Chris Dickinson) #1513
- The REPL can be placed in to one of three modes using the NODE_REPL_MODE
environment variable: sloppy, strict or magic (default); the new magic mode
will automatically run "strict mode only" statements in strict mode
(Chris Dickinson) #1513
* smalloc: the 'smalloc' module has been deprecated due to changes coming in V8
4.4 that will render it unusable
* util: add Promise, Map and Set inspection support (Christopher Monsanto) #1471
* V8: upgrade to 4.2.77.18, see the ChangeLog for full details. Notable items:
- Classes have moved out of staging; the class keyword is now usable in strict
mode without flags
- Object literal enhancements have moved out of staging; shorthand method and
property syntax is now usable ({ method() { }, property })
- Rest parameters (function(...args) {}) are implemented in staging behind the
--harmony-rest-parameters flag
- Computed property names ({['foo'+'bar']:'bam'}) are implemented in staging
behind the --harmony-computed-property-names flag
- Unicode escapes ('\u{xxxx}') are implemented in staging behind the
--harmony_unicode flag and the --harmony_unicode_regexps flag for use in
regular expressions
* Windows:
- Random process termination on Windows fixed (Fedor Indutny) #1512 / #1563
- The delay-load hook introduced to fix issues with process naming (iojs.exe /
node.exe) has been made opt-out for native add-ons. Native add-ons should
include 'win_delay_load_hook': 'false' in their binding.gyp to disable this
feature if they experience problems . (Bert Belder) #1433
* Governance:
- Rod Vagg (@rvagg) was added to the Technical Committee (TC)
- Jeremiah Senkpiel (@Fishrock123) was added to the Technical Committee (TC)
Rod Vagg [Mon, 4 May 2015 03:36:36 +0000 (20:36 -0700)]
src: bump NODE_MODULE_VERSION due to V8 API
V8 4.2 introduces some minor C++ API changes that make it necessary for
many native add-ons to recompile in order to be usable in v2.0.0+
PR-URL: https://github.com/iojs/io.js/pull/1532
Rod Vagg [Mon, 4 May 2015 20:05:50 +0000 (13:05 -0700)]
doc: add rvagg to the TC
PR-URL: https://github.com/iojs/io.js/pull/1613
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Ben Noordhuis [Mon, 4 May 2015 18:32:31 +0000 (20:32 +0200)]
build: don't compile debug build with -Og
It's not supported by clang and commit e67542a ("build: disable -Og
when building with clang") is not sufficient because the configure
script no longer writes the 'clang' variable to common.gypi.
I could fix the configure script but I don't care enough actually do
so. A fixed configure script won't help anyway when the compiler is
overridden through the CXX environment variable at compile time.
PR-URL: https://github.com/iojs/io.js/pull/1611
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Chris Dickinson [Mon, 4 May 2015 15:56:14 +0000 (08:56 -0700)]
repl: fix for a+ fd clearing the file on read
The second step of augmenting the internal REPL with persistent
history was to re-open the history file with a 'w' handle. This
truncated the file. If a user did not enter a new line before
closing the REPL, their history would be deleted.
PR-URL: https://github.com/iojs/io.js/pull/1605
Reviewed-By: Roman Reiss <me@silverwind.io>
Chris Dickinson [Mon, 4 May 2015 08:40:40 +0000 (01:40 -0700)]
repl: fix _debugger by properly proxying repl
The _debugger module uses the internal REPL module, but expects
to receive the userland REPL module. This fixes the breakage that
occurs by proxying the userland REPL module through the internal
module.
It also fixes an unintended in-REPL bug, where require(node-module)
was not resolving correctly.
PR-URL: https://github.com/iojs/io.js/pull/1605
Reviewed-By: Roman Reiss <me@silverwind.io>
Ben Noordhuis [Mon, 4 May 2015 15:08:15 +0000 (17:08 +0200)]
build: disable -Og when building with clang
clang does not yet support -Og, fall back to -O0.
See: https://llvm.org/bugs/show_bug.cgi?id=20765
Fixes: https://github.com/iojs/io.js/issues/1608
PR-URL: https://github.com/iojs/io.js/pull/1609
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Ben Noordhuis [Mon, 4 May 2015 11:30:53 +0000 (13:30 +0200)]
src: fix -Wmissing-field-initializers warning
Fix the following (non-serious) compiler warning:
../src/node_http_parser.cc:558:1: warning: missing initializer for
member 'http_parser_settings::on_chunk_header'
[-Wmissing-field-initializers]
};
^
../src/node_http_parser.cc:558:1: warning: missing initializer for
member 'http_parser_settings::on_chunk_complete'
[-Wmissing-field-initializers]
Introduced in commit b3a7da1 ("deps: update http_parser to 2.5.0").
PR-URL: https://github.com/iojs/io.js/pull/1606
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Сковорода Никита Андреевич [Fri, 1 May 2015 21:59:05 +0000 (00:59 +0300)]
tls_wrap: Unlink TLSWrap and SecureContext objects
This makes `TLSWrap` and `SecureContext` objects collectable by the
incremental gc.
`res = null` destroys the cyclic reference in the `reading` property.
`this.ssl = null` removes the remaining reference to the `TLSWrap`.
`this.ssl._secureContext.context = null` removes the reference to
the `SecureContext` object, even though there might be references
to `this.ssl._secureContext` somewhere.
The `reading` property will now throw an error if accessed after the
socket is closed, but that should not happen.
PR-URL: https://github.com/iojs/io.js/pull/1580
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Rod Vagg [Sat, 2 May 2015 05:37:17 +0000 (22:37 -0700)]
doc: update AUTHORS list
Update AUTHORS list using tools/update-authors.sh
PR-URL: https://github.com/iojs/io.js/pull/1586
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Rod Vagg [Sun, 3 May 2015 22:05:44 +0000 (15:05 -0700)]
Revert "url: significantly improve the performance of the url module"
This reverts commit
3fd7fc429c394059113432312ed19decbafd8fc4.
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: https://github.com/iojs/io.js/pull/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>
Rod Vagg [Sun, 3 May 2015 22:05:43 +0000 (15:05 -0700)]
Revert "url: delete href cache on all setter code paths"
This reverts commit
dbdd81a91bdce4cc59163e3be752dc3c53491987.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>