Commit Graph

11029 Commits (58a612ea9d2ede45d138174987fd8fae37f5d5d3)

Author SHA1 Message Date
Ben Noordhuis 4f68369643 build: disable v8 snapshots
Snapshots speed up start-up by a few milliseconds but are potentially
dangerous because of the fixed hash seed that is used for strings and
dictionaries, making collision denial-of-service attacks possible.

Release builds on iojs.org have snapshots disabled but source builds
did not, until now.

The risk for individual source builds is low; the binary gets a random
32 bits hash seed that should be hard to guess by an external attacker.

It's when binaries are distributed by, for example, a distro vendor
that the fixed hash seed becomes a vulnerability, because then it's
possible to target a large group of people at once.

People that really need the faster start-up time can use the new
--with-snapshot configure flag.

PR-URL: https://github.com/iojs/io.js/pull/585
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-27 00:54:02 +01:00
Johan Bergström c0a9d1bc74 versions: add http-parser patchlevel
PR-URL: https://github.com/iojs/io.js/pull/614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-27 00:30:57 +01:00
cjihrig 785481149d child_process: clone spawn options argument
spawnSync() modifies the options argument. This commit makes
a copy of options before any modifications occur.

Fixes: https://github.com/iojs/io.js/issues/576
PR-URL: https://github.com/iojs/io.js/pull/579
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-26 11:59:30 -05:00
Fedor Indutny 88aaff9aa6 deps: update http_parser to 2.4.2
Fix: https://github.com/iojs/io.js/issues/588
PR-URL: https://github.com/iojs/io.js/pull/604
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-25 21:34:54 +03:00
Nikolai Vavilov 804ab7ebaa doc: add seishun as a collaborator
PR-URL: https://github.com/iojs/io.js/pull/598
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
2015-01-24 23:03:11 +01:00
Vladimir Kurchatkin 301a968a40 child_process: remove redundant condition
There is no need to check `flowing` since `resume` does
nothing when `flowing` is already true.

PR-URL: https://github.com/iojs/io.js/pull/511
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-01-25 00:53:04 +03:00
Jonathan Ong 06cfff9350 http: don't bother making a copy of the options
Alternative to https://github.com/iojs/io.js/pull/592. The `options` object is never overwritten, so making a copy is not necessary.

This solves issues such as https://github.com/petkaantonov/urlparser/issues where the options object is created from a constructor.

PR-URL: https://github.com/iojs/io.js/pull/593
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
2015-01-24 13:05:27 -08:00
Vladimir Kurchatkin 55c222ceba doc: add vkurchatkin as collaborator
PR-URL: https://github.com/iojs/io.js/pull/591
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-01-24 23:30:27 +03:00
Rod Vagg 50ac4b7e2a Working on 1.0.5 2015-01-24 22:40:43 +11:00
Rod Vagg d1fc9c6cae 2015-01-24 io.js v1.0.4 Release
Notable changes:

* npm upgrade to 2.3.0 fixes Windows "uid is undefined" errors
* crypto.pseudoRandomBytes() is now an alias for crypto.randomBytes()
  and will block if there is insufficient entropy to produce secure
  values. See https://github.com/iojs/io.js/commit/e5e5980 for details.
* Patch for V8 to properly detect ARMv6; binaries now work again on
  ARMv6 (Raspberry Pi etc.)
* Minor V8 upgrade from 4.1.0.7 to 4.1.0.12
* 'punycode' core module bumped from stability level 2-Unstable,
  to 3-Stable
* Added new collaborators:
  - Thorsten Lorenz (@thlorenz)
  - Stephen Belanger (@qard)
  - Jeremiah Senkpiel (@fishrock123)
  - Evan Lucas (@evanlucas)
  - Brendan Ashworth (@brendanashworth)
2015-01-24 22:35:32 +11:00
Andres Suarez bb766d2c47 doc: update "net" section in node to io.js changes
PR-URL: https://github.com/iojs/io.js/pull/567
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-24 22:04:13 +11:00
Rod Vagg 73ddaa629c tools: remove old updateAuthors.awk script
Using the new tools/update-authors.sh script so this is
redundant

PR-URL: https://github.com/iojs/io.js/pull/582
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-24 22:02:41 +11:00
Rod Vagg 6230bf9b79 doc: update AUTHORS list
Update AUTHORS file using tools/update-authors.sh

PR-URL: https://github.com/iojs/io.js/pull/582
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-24 22:02:41 +11:00
Brendan Ashworth 33186fa7d8 doc: adds brendanashworth as collaborator
Moment of truth?

PR-URL: https://github.com/iojs/io.js/pull/587
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
2015-01-24 22:00:57 +11:00
Evan Lucas 8f9502a20a doc: add evanlucas to collaborators
PR-URL: https://github.com/iojs/io.js/pull/581
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-23 20:13:02 -06:00
Brendan Ashworth 35a4f1107e doc: alphabetize all.markdown
Previously `toc.markdown` was alphabetized but `all.markdown` was not.

PR-URL: https://github.com/iojs/io.js/pull/566
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-01-23 20:33:30 -05:00
Fishrock123 a0831c580d doc: add Fishrock123 to collaborators
PR-URL: #580
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
2015-01-23 18:18:46 -05:00
Stephen Belanger 54124874dc doc: add qard to collaborators
PR-URL: #578
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-01-23 15:12:46 -08:00
Bert Belder 8b55048d67 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>
2015-01-23 23:23:10 +01:00
Ben Noordhuis 82227f3511 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>
2015-01-23 23:23:06 +01:00
Forrest L Norvell f5b35dbda4 deps: upgrade npm to 2.3.0
* Windows improvements: no more uid is undefined errors, use `%COMSPEC%`
  when set in preference to hardcoded `cmd`, improved handling of Git
  remotes.
* Add caching based on Last-Modified / If-Modified-Since headers in
  addition to Etag-based cache validation.

PR-URL: https://github.com/iojs/io.js/pull/573
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-01-23 23:19:27 +01:00
Thorsten Lorenz f3fed5193c doc: adding thlorenz to list of collaborators
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>, Jeremiah Senkpiel <fishrock123@rocketmail.com>, Bert Belder <bertbelder@gmail.com>
PR-URL: https://github.com/iojs/io.js/pull/577
2015-01-23 17:03:05 -05:00
Vladimir Kurchatkin 8de89ec465 lib: move default address logic to `net._listen2`
When address is not provided to `server.listen()`, `_connectionKey` and
error messages should include actual address and correct family.

PR-URL: https://github.com/iojs/io.js/pull/539
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-23 18:09:39 +01:00
Ben Noordhuis 3143d732f6 test: delete parallel/test-process-active-wraps
It is supposed to test an internal debug feature but what it effectively
ends up testing, is the exact lifecyle of different kinds of internal
handles.

Lifecycles are different across releases and platforms, making the test
fail intermittently or, in some environments, consistently.  It's not a
good test, delete it.

PR-URL: https://github.com/iojs/io.js/pull/575
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-23 17:59:12 +01:00
Ben Noordhuis 4f95b5d825 test: fix parallel/test-http-destroyed-socket-write2
Ameliorate a timing sensitivity issue by switching from setImmediate()
to setTimeout() with a 50 ms timeout.

This commit also adds EPIPE as an accepted error (besides ECONNABORT
and ECONNRESET) because that's a plausible outcome given the timing
sensitive nature of test.

PR-URL: https://github.com/iojs/io.js/pull/575
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-23 17:59:10 +01:00
Ben Noordhuis 5ba307a978 test: fix parallel/test-dgram-error-message-address
The test expects EADDRNOTAVAIL when trying to bind to address 111::1.
Systems that have IPv6 disabled throw EAFNOSUPPORT instead, however.
Update the test accordingly.

PR-URL: https://github.com/iojs/io.js/pull/575
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-23 17:58:27 +01:00
Vladimir Kurchatkin f4c536b749 debugger: don't override module binding
Overriding module argument with const causes a SyntaxError. This
commit changes the variable name to remove the error.

PR-URL: https://github.com/iojs/io.js/pull/572
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-01-23 09:54:27 -05:00
cjihrig 40ffed8f3f stream: use nop as write() callback if omitted
This commit introduces a nop function that is used as the
Writable.prototype.write() callback when one is not provided.
This saves on function object creation.

PR-URL: https://github.com/iojs/io.js/pull/564
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-01-23 09:43:31 -05:00
Icer Liang df0d790107 doc: dns.lookupService has wrong header level
PR-URL: https://github.com/iojs/io.js/pull/552
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-23 13:28:45 +01:00
Todd Kennedy 8b1db9c0a7 doc: note in docs about missing interfaces
Update the documentation for `os.networkInterfaces` to note that any
interface that has not been assigned an address will not be displayed in
the results

Fixes: https://github.com/iojs/io.js/issues/498
PR-URL: https://github.com/iojs/io.js/pull/543
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-23 13:26:12 +01:00
Ben Noordhuis 2928ac68e5 doc: bump punycode api stability to 'stable'
The punycode library has been in the tree for over three years now and
has been de facto stable for all that time, if not perhaps de jure.
Let's make it official.

PR-URL: https://github.com/iojs/io.js/pull/470
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-01-23 13:08:40 +01:00
Rod Vagg 328e67b58b doc: add TC meeting 2015-01-21 minutes
PR-URL: https://github.com/iojs/io.js/pull/549
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-01-23 12:08:16 +11:00
Calvin Metcalf e5e598060e lib,src: make pseudoRandomBytes alias randomBytes
Previously pseudoRandomBytes worked similarly to randomBytes but in the
event of insufficient entropy would silently return non-secure values.

As of f68a116, the entropy pool blocks if there is insufficient entropy
instead of giving an error so there is now no longer a case where
pseudoRandomBytes would act differently than randomBytes.

Docs are updated to remove pseudoRandomBytes and to clarify that
randomBytes now does block instead of erring when entropy is low.

PR-URL: https://github.com/iojs/io.js/pull/557
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-22 23:08:36 +01:00
Ben Noordhuis c6cd46041c configure: remove unused arm_neon variable
Remove the configure check, the flag was dropped in V8 3.28.

PR-URL: https://github.com/iojs/io.js/pull/559
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-22 23:08:33 +01:00
Ben Noordhuis 7d9d7560cf configure: disable vfpv3 on armv6
VFPv3 is ARMv7-only, enabling it for ARMv6 is therefore always wrong.
Mea culpa, I do believe I'm the original author of that change.

Fixes: https://github.com/iojs/io.js/issues/283
PR-URL: https://github.com/iojs/io.js/pull/559
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-22 23:08:28 +01:00
Ben Noordhuis 297cadbab6 deps: fix v8 armv6 run-time detection
The elf_platform suffix in /proc/cpuinfo moved to the model name field
in Linux 3.8.

Out-of-tree patch pending https://codereview.chromium.org/867713003/

Fixes: https://github.com/iojs/io.js/issues/283
PR-URL: https://github.com/iojs/io.js/pull/559
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-22 23:07:53 +01:00
Calvin Metcalf d481bb68c4 doc: more explicit crypto.pseudoRandomBytes docs
Updates the docs for the crypto.pseudoRandomBytes function
to more explicitly detail how it's the same as crypto.randomBytes
just without a safety net (e.g. it doesn't throw an error when
there is low entropy).

PR-URL: https://github.com/iojs/io.js/pull/545
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-22 15:47:41 +01:00
Ben Noordhuis 7d462479f6 src: s/node/io.js/ in `iojs --help` message
Fix up a node reference that was missed in commit daf9562d.

PR-URL: https://github.com/iojs/io.js/pull/538
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-01-22 15:40:25 +01:00
Ben Noordhuis 069c0dfb1c deps: upgrade v8 to 4.1.0.12
No out-of-tree patches, yay!

PR-URL: https://github.com/iojs/io.js/pull/555
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-22 13:21:34 +01:00
Rod Vagg ada2a4308c doc: add TC meeting 2015-01-13 minutes
PR-URL: https://github.com/iojs/io.js/pull/508
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-01-22 21:57:42 +11:00
Bert Belder 60402b924b docs: remove incorrect entry from changelog
`url.format()` doesn't take a `path` option; the change that
introduced it was reverted in 913addbff5.

PR: https://github.com/iojs/io.js/pull/546
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-22 02:19:34 +01:00
Jackson Tian 8b98096c92 fs: make fs.access() flags read only
These flags were defined as constants, but could be
overwritten when exported from fs. This commit exports
the flags as read only properties of fs.

PR-URL: https://github.com/iojs/io.js/pull/507
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-01-21 16:29:58 -05:00
cjihrig 804e7aa9ab lib: use const to define constants
This commit replaces a number of var statements throughout
the lib code with const statements.

PR-URL: https://github.com/iojs/io.js/pull/541
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-21 16:21:31 -05:00
Ben Noordhuis 803883bb1a v8: fix template literal NULL pointer deref
Fixes a NULL pointer dereference with unterminated template literals.

This is a back-port of commit v8/v8-git-mirror@02218ad from the V8
master branch, see https://code.google.com/p/v8/issues/detail?id=3820.

PR-URL: https://github.com/iojs/io.js/pull/534
Reviewed-By: Caitlin Potter <caitpotter88@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-21 13:35:01 +01:00
Vladimir Kurchatkin 5435cf2f16 v8: optimize `getHeapStatistics`
Since setting object properties in C++ can be slow, pass
data to JS using preallocated smalloc buffer and create
object in JS instead.

PR-URL: https://github.com/iojs/io.js/pull/469
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-01-21 01:25:54 +01:00
Yosuke Furukawa 5d014637b6 benchmark: print score to five decimal places
PR-URL: https://github.com/iojs/io.js/pull/516
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-21 01:21:44 +01:00
Trevor Norris 752585db63 src: silence clang warnings
Mark several methods "override" in order to remove build warnings.

PR-URL: https://github.com/iojs/io.js/pull/531
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-20 15:28:05 -08:00
Cheng Zhao 22e1aea8a0 src: set node_is_initialized in node::Init
This can make node_is_initialized correctly set to true for applications
that use node::Init to embed iojs.

PR-URL: https://github.com/iojs/io.js/pull/225/
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-21 00:13:36 +01:00
Ben Noordhuis 668420d1f7 src: clean up unused macros in node_file.cc
Remove a few unused or barely used macros from src/node_file.cc.

PR-URL: https://github.com/iojs/io.js/pull/529
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-01-21 00:11:59 +01:00
Ben Noordhuis 52f624e72a src: rename ASSERT macros in node_crypto.cc
Rename the misnomers ASSERT_IS_STRING_OR_BUFFER and ASSERT_IS_BUFFER.
Said macros don't assert, they throw a TypeError and return.

PR-URL: https://github.com/iojs/io.js/pull/529
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-01-21 00:11:57 +01:00