Benjamin Gruenbaum [Thu, 26 Feb 2015 21:57:45 +0000 (23:57 +0200)]
doc: update os.markdown
Some doc update based on improvement ideas I remember from when I used this module in node:
- Mention windows returns 0 for `nice` values (which is obvious, but io makes no attempt to calculate something similar or return undefined, 0 is returned)
- Mention platform and arch are aliases for `process` properties.
- Document possible return values where appropriate, add examples in others.
- Rename title in order to match other titles in the navigation.
- Fix line that was over 80 characters long.
PR-URL: https://github.com/iojs/io.js/pull/976
Reviewed-By: Christian Tellnes <christian@tellnes.no>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
Pavel Medvedev [Fri, 27 Feb 2015 07:00:43 +0000 (10:00 +0300)]
src: add check for already defined macro NOMINMAX
In order to avoid Visual C++ warning C4005 about macro redefinition
when node.h is included in another project.
PR-URL: https://github.com/iojs/io.js/pull/986
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Mikeal Rogers [Sat, 21 Feb 2015 00:07:35 +0000 (16:07 -0800)]
doc: add roadmap, i18n, tracing, evangelism WGs
PR-URL: https://github.com/iojs/io.js/pull/911
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-by: Bert Belder <bertbelder@gmail.com>
Mikeal Rogers [Thu, 26 Feb 2015 22:48:07 +0000 (23:48 +0100)]
doc: document roadmap, workgroups
PR: https://github.com/iojs/io.js/pull/886
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-by: Bert Belder <bertbelder@gmail.com>
Christian Tellnes [Thu, 26 Feb 2015 20:04:40 +0000 (21:04 +0100)]
doc: add tellnes as collaborator
PR-URL: https://github.com/iojs/io.js/pull/973
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Brian White [Thu, 26 Feb 2015 20:04:27 +0000 (15:04 -0500)]
doc: add mscdex as collaborator
PR-URL: https://github.com/iojs/io.js/pull/972
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Rod Vagg [Thu, 26 Feb 2015 19:40:25 +0000 (13:40 -0600)]
Working on v1.4.2
Rod Vagg [Wed, 25 Feb 2015 19:18:53 +0000 (13:18 -0600)]
2015-02-26 io.js v1.4.1 Release
Notable changes:
* process / promises: An'unhandledRejection' event is now emitted on
process whenever a Promise is rejected and no error handler is
attached to the Promise within a turn of the event loop. A
'rejectionHandled' event is now emitted whenever a Promise was
rejected and an error handler was attached to it later than after an
event loop turn. See the process documentation for more detail.
https://github.com/iojs/io.js/pull/758 (Petka Antonov)
* streams: you can now use regular streams as an underlying socket for
tls.connect() https://github.com/iojs/io.js/pull/758 (Fedor Indutny)
* http: A new 'abort' event emitted when a http.ClientRequest is
aborted by the client. https://github.com/iojs/io.js/pull/945
(Evan Lucas)
* V8: Upgrade V8 to 4.1.0.21. Includes an embargoed fix, details
should be available at
https://code.google.com/p/chromium/issues/detail?id=430201
when embargo is lifted. A breaking ABI change has been held back
from this upgrade, possibly to be included when io.js merges V8 4.2.
See https://github.com/iojs/io.js/pull/952 for discussion.
* npm: Upgrade npm to 2.6.0. Includes features to support the new
registry and to prepare for npm@3. See npm CHANGELOG.md
https://github.com/npm/npm/blob/master/CHANGELOG.md#v260-2015-02-12
for details.
* libuv: Upgrade to 1.4.2. See libuv ChangeLog
https://github.com/libuv/libuv/blob/v1.x/ChangeLog for details of
fixes.
Brendan Ashworth [Thu, 26 Feb 2015 05:31:42 +0000 (21:31 -0800)]
doc: fix process.stdout reference to console.log
This commit changes the word introduction to the code block to be
explicitly correct, and changes the `d` variable to `msg` for clarity.
PR-URL: https://github.com/iojs/io.js/pull/964
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Nicu Micleușanu <micnic90@gmail.com>
Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
Tim Oxley [Thu, 26 Feb 2015 12:15:40 +0000 (06:15 -0600)]
doc: link & formatting of SHAs in commit list
This adds more consistency, plus links to commits are particularly useful.
PR-URL: https://github.com/iojs/io.js/pull/967
Reviewed-By: Rod Vagg <rod@vagg.org>
silverwind [Thu, 26 Feb 2015 14:36:41 +0000 (15:36 +0100)]
doc: fix 'dhparam' description of tls.createServer
fixes #958
Fixes: https://github.com/iojs/io.js/issues/958
PR-URL: https://github.com/iojs/io.js/pull/968
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Ben Noordhuis [Thu, 26 Feb 2015 10:27:18 +0000 (11:27 +0100)]
deps: update libuv to 1.4.2
PR-URL: https://github.com/iojs/io.js/pull/966
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Evan Lucas [Wed, 25 Feb 2015 22:59:29 +0000 (16:59 -0600)]
src: fix intermittent SIGSEGV in resolveTxt
Fixes a SIGSEGV by making sure `txt_chunk` is not empty before setting
it on `txt_records`
PR-URL: https://github.com/iojs/io.js/pull/960
Reviewed-By: Rod Vagg <rod@vagg.org>
Chris Dickinson [Sun, 22 Feb 2015 22:54:25 +0000 (14:54 -0800)]
src: fix domains + --abort-on-uncaught-exception
If run with --abort-on-uncaught-exception, V8 will abort the process
whenever it does not see a JS-installed CatchClause in the stack. C++
TryCatch clauses are ignored. Domains work by setting a FatalException
handler which is ignored when running in abort mode.
This patch modifies MakeCallback to call its target function through a
JS function that installs a CatchClause and manually calls _fatalException
on error, if the process is both using domains and is in abort mode.
Semver: patch
PR-URL: https://github.com/iojs/io.js/pull/922
Fixes: https://github.com/iojs/io.js/issues/836
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Evan Lucas [Wed, 25 Feb 2015 00:11:11 +0000 (18:11 -0600)]
http: emit abort event from ClientRequest
ClientRequest will now emit an abort event the first time abort()
is called.
Semver: Minor
Fixes: https://github.com/joyent/node/issues/9278
PR-URL: https://github.com/iojs/io.js/pull/945
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Fedor Indutny [Wed, 25 Feb 2015 17:43:14 +0000 (20:43 +0300)]
stream_base: remove static JSMethod declarations
Move JS methods to the stream_base-inl.h and thus define them on each
use of `StreamBase::AddMethods`. Inline `AddMethods` itself, so that
there won't be any need in a static declaration in stream_base.cc.
NOTE: This basically allows using this API in user-land, though, some
polishing is required before releasing it.
PR-URL: https://github.com/iojs/io.js/pull/957
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Ben Noordhuis [Wed, 25 Feb 2015 11:18:50 +0000 (12:18 +0100)]
deps: revert v8 abi change
Undo the ABI (but not API) change to NamedPropertyHandlerConfiguration.
This avoids a NODE_MODULE_VERSION bump and forcing everyone to recompile
their add-ons, at the cost of increasing the delta with upstream V8.
This commit effectively backs out 4.1.0.16, the release that introduced
the ABI change (and nothing else.)
PR-URL: https://github.com/iojs/io.js/pull/952
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Fedor Indutny [Tue, 3 Feb 2015 13:59:19 +0000 (16:59 +0300)]
deps: fix postmortem support in v8
Fix: iojs/io.js#461
PR-URL: https://github.com/iojs/io.js/pull/706
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Ben Noordhuis [Wed, 25 Feb 2015 10:41:56 +0000 (11:41 +0100)]
deps: upgrade v8 to 4.1.0.21
PR-URL: https://github.com/iojs/io.js/pull/952
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Ben Noordhuis [Tue, 24 Feb 2015 20:03:00 +0000 (21:03 +0100)]
deps: update libuv to 1.4.1
PR-URL: https://github.com/iojs/io.js/pull/940
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Benjamin Gruenbaum [Wed, 25 Feb 2015 00:44:10 +0000 (02:44 +0200)]
doc: document 'unhandledRejection' and 'rejectionHandled'
Documents the new unhandled rejection detection API.
Documents the new unhandledRejection/rejectionHandled events in the process
docuemntation. As agreed on in this issue:
https://github.com/iojs/io.js/issues/256#event-
241385784
PR-URL: https://github.com/iojs/io.js/pull/946
Reviewed-By: Domenic Denicola <domenic@domenicdenicola.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Ryan Scheel [Wed, 25 Feb 2015 11:00:49 +0000 (03:00 -0800)]
doc: update documentation.markdown for io.js.
PR-URL: https://github.com/iojs/io.js/pull/950
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Ben Noordhuis [Wed, 25 Feb 2015 09:40:33 +0000 (10:40 +0100)]
test: fix infinite spawn cycle in stdio test
Fix parallel/test-stdio-closed introduced in commit b5f25a9 ("src:
ensure that file descriptors 0-2 are valid") to not keep spawning
child processes ad infinitum.
The test spawns itself as a child process but a missing return statement
made the child process spawn itself again, and again, and again.
It went unnoticed for some time because the child process exits almost
immediately afterwards, i.e. it didn't fill up the process table. The
observable effect was an iojs process that was quietly consuming CPU
cyles in the background with a PID that was constantly changing.
Refs: https://github.com/iojs/io.js/pull/938
PR-URL: https://github.com/iojs/io.js/pull/948
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Sam Roberts [Fri, 13 Feb 2015 21:41:00 +0000 (13:41 -0800)]
doc: link cluster worker.send() to child.send()
PR-URL: https://github.com/iojs/io.js/pull/839
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Petka Antonov [Sun, 22 Feb 2015 12:44:12 +0000 (14:44 +0200)]
node: implement unhandled rejection tracking
Implement unhandled rejection tracking for promises as
specified in https://gist.github.com/benjamingr/
0237932cee84712951a2
Fixes #256
PR-URL: https://github.com/iojs/io.js/pull/758
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Domenic Denicola <domenic@domenicdenicola.com>
Petka Antonov [Mon, 23 Feb 2015 20:22:27 +0000 (22:22 +0200)]
benchmark: pass execArgv to the benchmarking process
Benchmarker should pass exec flags (e.g. --no-crankshaft,
--turbofan-filter, --trace-opt etc) to the benchmarking process
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
PR-URL: https://github.com/iojs/io.js/pull/928
Johan Bergström [Mon, 23 Feb 2015 00:30:44 +0000 (11:30 +1100)]
build: Fix incorrect reference
PR-URL: https://github.com/iojs/io.js/pull/924
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Fedor Indutny [Mon, 23 Feb 2015 20:09:44 +0000 (23:09 +0300)]
streams: introduce StreamWrap and JSStream
Introduce a way to wrap plain-js `stream.Duplex` streams into C++
StreamBase's child class. With such method at hand it is now possible to
pass `stream.Duplex` instance as a `socket` parameter to
`tls.connect()`.
PR-URL: https://github.com/iojs/io.js/pull/926
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Rod Vagg [Tue, 24 Feb 2015 18:17:53 +0000 (12:17 -0600)]
build: make test-ci output TAP to stdout and log
Closes: #810
PR-URL: https://github.com/iojs/io.js/pull/938
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Johan Bergström [Tue, 24 Feb 2015 06:20:44 +0000 (17:20 +1100)]
test: support writing test output to file
This is a minimal effort to support test output written both to
stdout and file in order to get our buildbots understanding
test output.
PR-URL: https://github.com/iojs/io.js/pull/934
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
cjihrig [Mon, 23 Feb 2015 22:32:18 +0000 (17:32 -0500)]
util: handle symbols properly in format()
Currently, if util.format() is called with a string as its first
argument, and a Symbol as one of the subsequent arguments, an
exception is thrown due to an attempted implicit string conversion.
This commit causes Symbols to be explicitly converted.
Fixes: https://github.com/iojs/io.js/issues/927
PR-URL: https://github.com/iojs/io.js/pull/931
Reviewed-By: Domenic Denicola <domenic@domenicdenicola.com>
Ben Noordhuis [Sun, 22 Feb 2015 06:50:20 +0000 (07:50 +0100)]
deps: enable node-gyp iojs.lib download checksum
Originally disabled in commit 5de334c ("deps: make node-gyp work again
on windows") due to the then-website lacking the requisite SHASUMS.txt
or SHASUMS256.txt files. The website has a SHASUMS256.txt now so start
checksumming the download again.
PR-URL: https://github.com/iojs/io.js/pull/918
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Vladimir Kurchatkin [Thu, 12 Feb 2015 20:09:34 +0000 (23:09 +0300)]
readline: use native `codePointAt`
Semver: patch
PR-URL: https://github.com/iojs/io.js/pull/825
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Jeremiah Senkpiel [Mon, 16 Feb 2015 20:05:31 +0000 (15:05 -0500)]
doc: fix footer sizing
reduced to the minimal amount, any less shows a white bar.
Semver: patch
PR-URL: https://github.com/iojs/io.js/pull/860
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Brendan Ashworth [Sun, 22 Feb 2015 02:47:04 +0000 (18:47 -0800)]
test: common.js -> common
This commit changes many test styles to change all references
from require('./common.js'); to require('./common');.
The latter is much more common, with the former only being used in 50
tests. It is just a stylistic change, and it seems that `common.js` was
introduced by a rogue test and copied and pasted into the rest.
Semver: patch
PR-URL: https://github.com/iojs/io.js/pull/917
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Fedor Indutny [Sun, 22 Feb 2015 18:59:07 +0000 (21:59 +0300)]
stream_base: introduce StreamBase
StreamBase is an improved way to write C++ streams. The class itself is
for separting `StreamWrap` (with the methods like `.writeAsciiString`,
`.writeBuffer`, `.writev`, etc) from the `HandleWrap` class, making
possible to write abstract C++ streams that are not bound to any uv
socket.
The following methods are important part of the abstraction (which
mimics libuv's stream API):
* Events:
* `OnAlloc(size_t size, uv_buf_t*)`
* `OnRead(ssize_t nread, const uv_buf_t*, uv_handle_type pending)`
* `OnAfterWrite(WriteWrap*)`
* Wrappers:
* `DoShutdown(ShutdownWrap*)`
* `DoTryWrite(uv_buf_t** bufs, size_t* count)`
* `DoWrite(WriteWrap*, uv_buf_t*, size_t count, uv_stream_t* handle)`
* `Error()`
* `ClearError()`
The implementation should provide all of these methods, thus providing
the access to the underlying resource (be it uv handle, TLS socket, or
anything else).
A C++ stream may consume the input of another stream by replacing the
event callbacks and proxying the writes. This kind of API is actually
used now for the TLSWrap implementation, making it possible to wrap TLS
stream into another TLS stream. Thus legacy API calls are no longer
required in `_tls_wrap.js`.
PR-URL: https://github.com/iojs/io.js/pull/840
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Bert Belder [Thu, 15 Jan 2015 00:39:30 +0000 (01:39 +0100)]
deps: make node-gyp work again on windows
* Fetch from the correct url.
* Link compiled addons with iojs.lib instead of node.lib.
* Disable checksum checks for iojs.lib until our website supports
them.
PR: https://github.com/iojs/io.js/pull/422
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-by: Rod Vagg <rod@vagg.org>
Ben Noordhuis [Tue, 13 Jan 2015 22:22:49 +0000 (23:22 +0100)]
deps: make node-gyp fetch tarballs from iojs.org
Apply a small patch that makes node-gyp fetch the tarballs from
https://iojs.org/ instead of http://nodejs.org/
A patch better suited for inclusion upstream will be put together
shortly.
PR-URL: https://github.com/iojs/io.js/pull/343
Reviewed-By: Rod Vagg <rod@vagg.org>
Forrest L Norvell [Fri, 20 Feb 2015 17:03:34 +0000 (09:03 -0800)]
deps: upgrade npm to 2.6.0
PR-URL: https://github.com/iojs/io.js/pull/904
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
René Kooi [Sat, 21 Feb 2015 19:10:03 +0000 (20:10 +0100)]
doc: fix stream `_writev` header size
PR-URL: https://github.com/iojs/io.js/pull/916
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
cjihrig [Wed, 18 Feb 2015 17:55:13 +0000 (12:55 -0500)]
fs: add type checking to makeCallback()
This commit adds proper type checking to makeCallback(). Anything
other than undefined or a function will throw.
PR-URL: https://github.com/iojs/io.js/pull/866
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
Bruno Jouhier [Sat, 7 Feb 2015 18:27:20 +0000 (19:27 +0100)]
fs: properly handle fd passed to truncate()
Currently, fs.truncate() silently fails when a file descriptor
is passed as the first argument. This commit changes this
behavior to properly call fs.ftruncate().
PR-URL: https://github.com/joyent/node/pull/9161
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Timothy J Fontaine <tjfontaine@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Conflicts:
lib/fs.js
Shinnosuke Watanabe [Sat, 21 Feb 2015 06:51:38 +0000 (15:51 +0900)]
doc: use HTTPS URL for the API documentation page
PR-URL: https://github.com/iojs/io.js/pull/913
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
cjihrig [Sat, 3 Jan 2015 04:14:25 +0000 (23:14 -0500)]
net: make Server.prototype.unref() persistent
Currently, the unref() method does not remember any state
if called before the server's handle has been created. This
commit adds state to track calls to ref() and unref().
PR-URL: https://github.com/iojs/io.js/pull/897
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Trevor Norris [Fri, 20 Feb 2015 17:32:29 +0000 (10:32 -0700)]
smalloc: extend user API
node::Environment isn't accessible to user APIs, so extend smalloc to
also accept v8::Isolate.
Fixes:
75adde07 "src: remove `node_isolate` from source"
PR-URL: https://github.com/iojs/io.js/pull/905
Reviewed-by: Fedor Indutny <fedor@indutny.com>
Brian White [Fri, 20 Feb 2015 13:23:34 +0000 (08:23 -0500)]
doc: fix PR reference in CHANGELOG
The CHANGELOG referenced PR 847, but should really be 846.
PR-URL: https://github.com/iojs/io.js/pull/903
Reviewed-By: Christian Tellnes <christian@tellnes.no>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Rod Vagg [Fri, 20 Feb 2015 09:31:58 +0000 (20:31 +1100)]
doc: fix typo, rephrase cipher change in CHANGELOG
PR-URL: https://github.com/iojs/io.js/pull/902
Reviewed-By: Roman Reiss <me@silverwind.io>
Rod Vagg [Fri, 20 Feb 2015 09:29:54 +0000 (20:29 +1100)]
Working on v1.3.0
Rod Vagg [Fri, 20 Feb 2015 09:25:12 +0000 (20:25 +1100)]
2015-02-20 io.js v1.3.0 Release
Notable changes:
* url: `url.resolve('/path/to/file', '.')` now returns `/path/to/`
with the trailing slash, `url.resolve('/', '.')` returns `/`.
https://github.com/iojs/io.js/issues/278 (Amir Saboury)
* tls: tls (and in turn https) now rely on a stronger default
cipher suite which excludes the RC4 cipher. If you still want to
use RC4, you have to specify your own ciphers suite.
https://github.com/iojs/io.js/issues/826 (Roman Reiss)
Rod Vagg [Fri, 20 Feb 2015 01:37:11 +0000 (12:37 +1100)]
doc: update AUTHORS list
Update AUTHORS file using tools/update-authors.sh
PR-URL: https://github.com/iojs/io.js/pull/900
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Rod Vagg [Wed, 18 Feb 2015 13:20:20 +0000 (00:20 +1100)]
doc: add TC meeting 2015-02-04 minutes
Closes #701
PR-URL: https://github.com/iojs/io.js/pull/876
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Emily Rose [Thu, 19 Feb 2015 22:27:53 +0000 (14:27 -0800)]
doc: remove outdated language on consensus
PR: https://github.com/iojs/io.js/pull/898
Reviewed-by: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Mikeal Rogers <mikeal.rogers@gmail.com>
Fedor Indutny [Thu, 19 Feb 2015 13:14:36 +0000 (14:14 +0100)]
net: unref timer in parent sockets
`TLSSocket` wraps the original `net.Socket`, but writes/reads to/from
`TLSSocket` do not touch the timers of original `net.Socket`.
Introduce `socket._parent` property, and iterate through all parents
to unref timers and prevent timeout event on original `net.Socket`.
Fix: https://github.com/joyent/node/issues/9242
PR-URL: https://github.com/iojs/io.js/pull/891
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
cjihrig [Thu, 19 Feb 2015 04:10:15 +0000 (23:10 -0500)]
fs: ensure nullCheck() callback is a function
Currently, nullCheck() will attempt to invoke any truthy value
as a function if the path argument contains a null character.
This commit validates that the callback is actually a function
before trying to invoke it. fs.access() was vulnerable to this
bug, as nullCheck() was called prior to type checking its
callback.
PR-URL: https://github.com/iojs/io.js/pull/887
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Roman Reiss [Wed, 18 Feb 2015 16:55:11 +0000 (17:55 +0100)]
doc: document 'ciphers' option of tls.connect
This option has been there for a long time, but has never been
documented. It's functionally identical to the server counterpart.
PR-URL: https://github.com/iojs/io.js/pull/845
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Ben Noordhuis [Wed, 18 Feb 2015 02:43:29 +0000 (03:43 +0100)]
src: ensure that file descriptors 0-2 are valid
Check that stdin, stdout and stderr map to open file descriptors and
remap them to /dev/null if that isn't the case. Protects against
information leaks or worse when io.js is started with closed stdio
file descriptors.
PR-URL: https://github.com/iojs/io.js/pull/875
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
Ben Noordhuis [Tue, 17 Feb 2015 21:53:21 +0000 (22:53 +0100)]
src: fix typo in error message
PR-URL: https://github.com/iojs/io.js/pull/875
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
Ben Noordhuis [Tue, 17 Feb 2015 18:35:59 +0000 (19:35 +0100)]
src: fix add-on builds, partially revert
8aed9d66
Commit
8aed9d66 ("src: cleanup `Isolate::GetCurrent()`") breaks building
add-ons because of the following:
In file included from ../node_modules/nan/nan.h:27:0,
from ../src/binding.cc:18:
/home/bnoordhuis/src/v1.x/src/node_object_wrap.h: In member function
'v8::Local<v8::Object> node::ObjectWrap::handle()':
/home/bnoordhuis/src/v1.x/src/node_object_wrap.h:39:46: error: base
operand of '->' has non-pointer type 'v8::Persistent<v8::Object>'
return v8::Local<v8::Object>::New(handle_->GetIsolate(),
persistent());
Mea culpa, I was one of the reviewers.
PR-URL: https://github.com/iojs/io.js/pull/868
Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
jigsaw [Tue, 17 Feb 2015 15:10:17 +0000 (00:10 +0900)]
doc: fix typo miliseconds -> milliseconds
PR-URL: https://github.com/iojs/io.js/pull/865
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Trevor Norris [Mon, 16 Feb 2015 21:09:50 +0000 (14:09 -0700)]
buffer: fix pool offset adjustment
If the Buffer allocation isn't a slice then there's no need to adjust
the pool offset after realloc'ing the space available.
Fixes: 6462519 "buffer, doc: misc. fix and cleanup"
Roman Reiss [Sun, 15 Feb 2015 17:43:36 +0000 (18:43 +0100)]
tls: more secure defaults
This updates the default cipher suite to an more secure list, which
prefers strong ciphers with Forward Secrecy. Additionally, it enables
`honorCipherOrder` by default.
Noteable effect of this change is that the insecure RC4 ciphers are
disabled and that Chrome negotiates a more secure ECDHE cipher.
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/iojs/io.js/pull/826
Rod Vagg [Thu, 12 Feb 2015 01:39:40 +0000 (12:39 +1100)]
test: remove flaky test functionality
Reverts https://github.com/joyent/node/pull/8689
PR-URL: https://github.com/iojs/io.js/pull/812
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Jimmy Hsu [Sun, 15 Feb 2015 00:52:30 +0000 (16:52 -0800)]
doc: add comma in README to increase clarity
Minor change to increase clarity of what is being referenced to.
Roman Reiss [Sun, 15 Feb 2015 17:35:14 +0000 (18:35 +0100)]
test: fix parallel/test-tls-getcipher
The test blindly assumes that the default cipher suite supports RC4
ciphers. This corrects the case where RC4 might not be available in the
default ciphers by setting the client to use the same suite as the
server.
PR-URL: https://github.com/iojs/io.js/pull/853
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Brian White [Sun, 15 Feb 2015 04:26:50 +0000 (23:26 -0500)]
benchmark: add a few querystring benchmarks
PR-URL: https://github.com/iojs/io.js/pull/847
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
cjihrig [Fri, 13 Feb 2015 21:39:24 +0000 (16:39 -0500)]
test: verify fields in spawn{Sync} errors
This commit validates the properties of ENOENT error objects
returned by spawn() and spawnSync().
PR-URL: https://github.com/iojs/io.js/pull/838
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
Charmander [Fri, 13 Feb 2015 21:25:29 +0000 (13:25 -0800)]
doc: correct `it's` to `its` in process
"This event is emitted when io.js empties its event loop..."
PR-URL: https://github.com/iojs/io.js/pull/837
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Wyatt Preul [Fri, 13 Feb 2015 18:49:30 +0000 (12:49 -0600)]
doc: add geek as collaborator
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
PR-URL: #835
Amir Saboury [Sat, 10 Jan 2015 03:01:32 +0000 (22:01 -0500)]
url: reslove urls with . and ..
'.' and '..' are directory specs and resolving urls with or
without the hostname with '.' and '..' should add a trailing
slash to the end of the url.
Fixes: https://github.com/joyent/node/issues/8992
PR-URL: https://github.com/iojs/io.js/pull/278
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
cjihrig [Wed, 24 Sep 2014 03:08:35 +0000 (23:08 -0400)]
net: remove use of arguments in Server constructor
The current implementation uses the arguments object in the Server()
constructor. Since both arguments to Server() are optional, there was a
high likelihood of accessing a non-existent element in arguments, which
carries a performance overhead. This commit replaces the arguments
object with named arguments.
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Conflicts:
lib/net.js
Debjeet Biswas [Sun, 8 Feb 2015 22:45:03 +0000 (04:15 +0530)]
doc: grammar fix in smalloc
PR-URL: https://github.com/joyent/node/pull/9164
Reviewed-by: Colin Ihrig <cjihrig@gmail.com>
Jan Schär [Mon, 9 Feb 2015 15:51:12 +0000 (16:51 +0100)]
test: Timeout#unref() does not return instance
Timeout#unref() call returns undefined, not this. The test already
worked before, because the interval was still unref'd, and the test also
succeeds without clearing the interval.
PR-URL: https://github.com/joyent/node/pull/9171
Reviewed-by: Colin Ihrig <cjihrig@gmail.com>
Reviewed-by: Timothy J Fontaine <tjfontaine@gmail.com>
Conflicts:
test/simple/test-timers-unref.js
Dan Dascalescu [Thu, 12 Feb 2015 07:25:01 +0000 (23:25 -0800)]
doc: fix code syntax
Add a ';' to the end of a function call in documentation.
PR-URL: https://github.com/joyent/node/pull/9198
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Herbert Vojčík [Thu, 12 Feb 2015 13:50:47 +0000 (14:50 +0100)]
module: replace NativeModule.require
The NativeModule system passes NativeModule.require transparently and so
is unnecessary to call explicitly.
The only one which should have the prefix is the in line 295, where
actually implements a big fs-based module system and actually requires a
native module. That is left unchanged.
PR-URL: https://github.com/joyent/node/pull/9201
Ref: https://github.com/joyent/node/issues/2009
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Conflicts:
lib/module.js
Andrei Sedoi [Fri, 9 Jan 2015 17:55:32 +0000 (19:55 +0200)]
doc: use correct signature for assert()
The message argument is optional for both assert() and
assert.ok(). This commit makes message optional for assert().
PR-URL: https://github.com/joyent/node/pull/9003
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
cjihrig [Tue, 16 Dec 2014 22:17:28 +0000 (17:17 -0500)]
net: throw on invalid socket timeouts
This commit restricts socket timeouts non-negative, finite
numbers. Any other value throws a TypeError or RangeError.
This prevents subtle bugs that can happen due to type
coercion.
Fixes: https://github.com/joyent/node/issues/8618
PR-URL: https://github.com/joyent/node/pull/8884
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Timothy J Fontaine <tjfontaine@gmail.com>
Conflicts:
lib/timers.js
test/simple/test-net-settimeout.js
test/simple/test-net-socket-timeout.js
Omer Wazir [Thu, 12 Feb 2015 06:13:54 +0000 (23:13 -0700)]
doc: fix sentence grammar timers.markdown
Just added ', it' because the phrasing did not seem correct.
PR-URL: https://github.com/iojs/io.js/pull/815
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Brendan Ashworth [Thu, 12 Feb 2015 08:19:25 +0000 (00:19 -0800)]
test: distribute crypto tests into separate files
This commit distributes many of the various tests that were previously
strewn about `test-crypto.js` into their own files, such as for Ciphers
and Deciphers, Hashing, and HMACs. Copy pasta, and no style changes
besides removing a few now-unnecessary closures.
Helps eliminate file bloat and allows for easier test prognosis.
PR-URL: https://github.com/iojs/io.js/pull/827
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Omer Wazir [Thu, 12 Feb 2015 17:30:18 +0000 (10:30 -0700)]
doc: increase mark class contrast ratio
PR-URL: https://github.com/iojs/io.js/pull/824
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Jeremiah Senkpiel [Thu, 12 Feb 2015 15:55:55 +0000 (10:55 -0500)]
doc: better font-smoothing for firefox
does the same thing for firefox as 'antialiased' does for webkit.
PR-URL: https://github.com/iojs/io.js/pull/820
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Roman Reiss [Thu, 12 Feb 2015 09:48:31 +0000 (10:48 +0100)]
doc: disable font ligatures
PR-URL: https://github.com/iojs/io.js/pull/816
Reviewed-By: Nicu Micleușanu <micnic90@gmail.com>
Omer Wazir [Thu, 12 Feb 2015 05:51:57 +0000 (22:51 -0700)]
doc: Close code span correctly
The code span is closed with a straight quote instead of the correct
back tick being used.
PR-URL: https://github.com/iojs/io.js/pull/814
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Ben Noordhuis [Fri, 30 Jan 2015 14:15:56 +0000 (15:15 +0100)]
src: reduce AsyncWrap memory footprint
Fold two integral fields into one and use bitops to access/manipulate
them.
PR-URL: https://github.com/iojs/io.js/pull/667
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ben Noordhuis [Fri, 30 Jan 2015 11:55:25 +0000 (12:55 +0100)]
src: remove obsoleted queue.h header
It has been obsoleted by the previous commit. Now it's time to say
goodbye.
PR-URL: https://github.com/iojs/io.js/pull/667
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ben Noordhuis [Fri, 30 Jan 2015 11:54:53 +0000 (12:54 +0100)]
src: switch from QUEUE to intrusive list
This commit also breaks up req_wrap.h into req-wrap.h and req-wrap-inl.h
to work around a circular dependency issue in env.h.
PR-URL: https://github.com/iojs/io.js/pull/667
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ben Noordhuis [Fri, 30 Jan 2015 11:54:28 +0000 (12:54 +0100)]
src: add typesafe intrusive list
This is a replacement for the QUEUE macros. It implements the same
functionality but in a way that lets the compiler typecheck it.
PR-URL: https://github.com/iojs/io.js/pull/667
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Brian White [Wed, 11 Feb 2015 22:00:12 +0000 (17:00 -0500)]
events: optimize adding and removing of listeners
These optimizations result in >2x speedup in the ee-add-remove
benchmark:
* Don't mutate array.length when removing the last listener for
an event
* Don't bother checking max listeners if listeners isn't an array
* Don't call delete when removing the last event in _events, just
re-assign a new object instead
PR-URL: https://github.com/iojs/io.js/pull/785
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Brian White [Tue, 10 Feb 2015 18:12:09 +0000 (13:12 -0500)]
events: move slow path to separate function too
This keeps in line with how things are done for the fast path
and *might* even provide a *slight* performance increase.
PR-URL: https://github.com/iojs/io.js/pull/785
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Vladimir Kurchatkin [Mon, 9 Feb 2015 14:19:56 +0000 (17:19 +0300)]
buffer: expose internals on binding
Remove internal object and expose functions directly on binding. This
makes possible to simply use internal functions in other builtin
modules.
PR-URL: https://github.com/iojs/io.js/pull/770
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
Vladimir Kurchatkin [Fri, 6 Feb 2015 17:48:14 +0000 (20:48 +0300)]
src: cleanup `Isolate::GetCurrent()`
PR-URL: https://github.com/iojs/io.js/pull/807
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Ryan Seys [Wed, 11 Feb 2015 13:56:31 +0000 (08:56 -0500)]
doc: change effect to affect in errors.md
PR-URL: https://github.com/iojs/io.js/pull/799
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Sam Roberts [Wed, 11 Feb 2015 01:14:02 +0000 (17:14 -0800)]
doc: add sam-github as collaborator
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
PR-URL: https://github.com/iojs/io.js/pull/791
Michaël Zasso [Wed, 11 Feb 2015 15:57:31 +0000 (16:57 +0100)]
doc: remove Caine section from contributing guide
Caine bot is not active on the repository anymore.
This section is just confusing for new contributors.
Fixes: https://github.com/iojs/io.js/issues/802
PR-URL: https://github.com/iojs/io.js/pull/804
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Yosuke Furukawa [Wed, 11 Feb 2015 15:56:18 +0000 (00:56 +0900)]
doc: fix libuv link
PR-URL: https://github.com/iojs/io.js/pull/803
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Shigeki Ohtsu [Wed, 11 Feb 2015 14:35:47 +0000 (23:35 +0900)]
crypto: fix to check ext method for shared lib
In the case of using openssl with shared library,
reinterpret_cast<X509V3_EXT_I2V>(i2v_GENERAL_NAMES)) refers plt
pointer so that SafeX509ExtPrint returns false.
Fix it to check it with method of NID_subject_alt_name
This patch originally was created by Fedor Indutny
and Ben Noordhuis
Fixes: https://github.com/iojs/io.js/issues/617
PR-URL: https://github.com/iojs/io.js/pull/800
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Rudolf Meijering [Wed, 11 Feb 2015 15:37:23 +0000 (17:37 +0200)]
doc: fix wording in fs.appendFile
PR-URL: https://github.com/iojs/io.js/pull/801
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Vladimir Kurchatkin [Wed, 11 Feb 2015 13:17:04 +0000 (16:17 +0300)]
src: remove trailing whitespace
PR-URL: https://github.com/iojs/io.js/pull/798
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Chris Dickinson [Wed, 11 Feb 2015 03:33:58 +0000 (19:33 -0800)]
doc: update error links
PR-URL: https://github.com/iojs/io.js/pull/793
Reviewed-by: Rod Vagg <rod@vagg.org>
Rod Vagg [Wed, 11 Feb 2015 02:50:19 +0000 (13:50 +1100)]
Working on v1.2.1
Rod Vagg [Wed, 11 Feb 2015 01:41:07 +0000 (12:41 +1100)]
2015-02-10 io.js v1.2.0 Release
Notable changes:
* stream:
- Simpler stream construction, see
https://github.com/iojs/readable-stream/issues/102 for details.
This extends the streams base objects to make their constructors
accept default implementation methods, reducing the boilerplate
required to implement custom streams. An updated version of
readable-stream will eventually be released to match this change
in core. (@sonewman)
* dns:
- `lookup()` now supports an `'all'` boolean option, default to
`false` but when turned on will cause the method to return an
array of *all* resolved names for an address, see,
https://github.com/iojs/io.js/pull/744 (@silverwind)
* assert:
- Remove `prototype` property comparison in `deepEqual()`,
considered a bugfix, see https://github.com/iojs/io.js/pull/636
(@vkurchatkin)
- Introduce a `deepStrictEqual()` method to mirror `deepEqual()`
but performs strict equality checks on primitives, see
https://github.com/iojs/io.js/pull/639 (@vkurchatkin)
* **tracing**:
- Add LTTng (Linux Trace Toolkit Next Generation) when compiled
with the `--with-lttng` option. Trace points match those
available for DTrace and ETW.
https://github.com/iojs/io.js/pull/702 (@thekemkid)
* npm upgrade to 2.5.1
* **libuv** upgrade to 1.4.0
* Add new collaborators:
- Aleksey Smolenchuk (@lxe)
- Shigeki Ohtsu (@shigeki)