3434 Commits
Author SHA1 Message Date
Rod Vagg b65a11e072 2015-01-16 io.js v1.0.2 Release
Notable changes:

* Windows installer fixes
* Bundled node-gyp fixes for Windows
* http_parser v2.4.1 upgrade
* libuv v1.2.1 upgrade
2015-01-16 15:00:22 +11:00
Yosuke Furukawa fd30eb2152 src: fix jslint errors
PR-URL: https://github.com/iojs/io.js/pull/449
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-15 21:21:31 +01:00
Aaron Bieber ca039b4616 src: define AI_V4MAPPED for OpenBSD
OpenBSD doesn't define AI_V4MAPPED by default. Defining it to 0
as done with other ports.

PR-URL: https://github.com/iojs/io.js/pull/427
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-15 17:55:11 +01:00
Shigeki Ohtsu 8440cacb10 src: fix documentation url in help message
Refer to https://iojs.org/ for documentation

PR-URL: https://github.com/iojs/io.js/pull/378
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-15 17:52:00 +11:00
Ben Noordhuis 0926cb93ff crypto: add deprecated verisign cert for s3 compat
Nolens volens add back a 1024 bits Verisign Class 3 certificate that is
still in use by AWS S3.

Fixes: https://github.com/iojs/io.js/issues/402
2015-01-14 03:01:42 +01:00
Rod Vagg 38a46b9442 Working on 1.0.2 2015-01-14 16:15:39 +11:00
Rod Vagg 545959468f 2015-01-14 io.js v1.0.1 Release 2015-01-14 15:31:29 +11:00
Rod Vagg a88bc219a4 Working on 1.0.1 2015-01-14 15:15:10 +11:00
Bert Belder 909df70694 win: use the new io.js icon
PR: https://github.com/iojs/io.js/pull/356
Reviewed-by: Rod Vagg <rod@vagg.com>
2015-01-14 03:25:01 +01:00
Bert Belder 274261383d win: update icon for io.js
PR: https://github.com/iojs/io.js/pull/354
Reviewed-by: Rod Vagg <rod@vagg.com>
2015-01-14 03:07:02 +01:00
Johan Bergström 01736ddc00 process: reintroduce ares to versions
ares version info was accidentally removed in c80f8fa8f.

PR-URL: https://github.com/iojs/io.js/pull/347
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-14 03:20:54 +03:00
Bert Belder 0bf1d124af http: optimize on_headers_complete
Use an array instead of an object to pass a parsed header chunk from c++
to javascript. This offers a 5-10% speedup on the http_simple benchmark,
as evidenced by running:

  ab -k -t 100 -c 100 http://127.0.0.1:8000/bytes/100

PR: https://github.com/iojs/io.js/pull/292
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-13 02:35:27 +01:00
Ben Noordhuis 5165d71048 build,src: remove sslv3 support
SSLv3 is susceptible to downgrade attacks.  Provide secure defaults,
disable v3 protocol support entirely.

PR-URL: https://github.com/iojs/io.js/pull/315
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-01-13 01:59:30 +01:00
isaacs 3e1b1dd4a9 Remove excessive copyright/license boilerplate
The copyright and license notice is already in the LICENSE file.  There
is no justifiable reason to also require that it be included in every
file, since the individual files are not individually distributed except
as part of the entire package.
2015-01-12 15:30:28 -08:00
Rod Vagg 43e4c906e2 src: rename node to io.js for Windows installer
* quote "NODE_VERSION_STRING" in node.rc to allow for complex version
  strings
* change user-facing strings
* make sure .bat files are crlf

PR-URL: https://github.com/iojs/io.js/pull/291
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com>
2015-01-13 09:44:34 +11:00
Ben Noordhuis 42ebdcbff1 addon: update NODE_MODULE_VERSION macro
io.js v1.0.0 is not ABI-compatible with joyent/node@v0.12, update
the NODE_MODULE_VERSION macro to reflect that.  Update to a much
larger value to avoid future clashes with joyent/node.

PR-URL: https://github.com/iojs/io.js/pull/312
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-12 22:37:45 +01:00
Ben Noordhuis 26dd9e15bb build,src: remove sslv2 support
SSLv2 has been deprecated and known broken for nearly twenty years now.

I made SSLv2 support opt-in well over a year ago in commit 39aa894 and
now this commit removes it entirely.

PR-URL: https://github.com/iojs/io.js/pull/290
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-11 16:07:45 +01:00
Rod Vagg 3ecad1d542 src: only append "-pre" to version if no tag
removed because nightly builds use the TAG make variable
to create a prerelease tag after the version yet `-pre` is
also appended beyond that. `-pre` is unnecessary if another
prerelease tag is being used.

Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-11 22:44:27 +11:00
Fedor Indutny 0d02515d6e zlib: do not unref() if wasn't ref()ed
In very unlikely case, where `deflateInit2()` may return error (right
now happening only on exhausting all memory), the `ZCtx::Error()` will
be called and will try to `Unref()` the handle. But the problem is that
this handle was never `Ref()`ed, so it will trigger an assertion error
and crash the program.

Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/joyent/node/pull/8687

Cherry-picked-from: https://github.com/joyent/node/commit/8c868989be778246bc4b9558f087d0f93724b83d
2015-01-10 22:32:12 +01:00
Fedor Indutny e92dbf3af9 src: check if NODE_WANT_INTERNALS is defined
Otherwise a warning could be printed on some systems.
This fixes joyent/node#8419.

Cherry-picked-from: https://github.com/joyent/node/commit/d87ae24dfe148e8bd524c57cfd2c9fe0d3dfce93
2015-01-10 22:32:11 +01:00
Ben Noordhuis 4e58211bb7 src: disable harmony object literals
Per the discussion in https://github.com/iojs/io.js/pull/272, upstream
V8 has disabled Harmony object literals for the time being.  Do the
same for feature parity.

PR-URL: https://github.com/iojs/io.js/pull/272
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Domenic Denicola <domenic@domenicdenicola.com>
2015-01-09 20:57:25 +01:00
Ben Noordhuis a2751e3e1e src: disable harmony classes
The V8 development branch has unshipped ES6 classes pending resolution
of a number of inheritance edge cases.  Disable classes in io.js for
the sake of feature parity.

See https://github.com/iojs/io.js/issues/251 for background and
discussion.

PR-URL: https://github.com/iojs/io.js/pull/272
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Domenic Denicola <domenic@domenicdenicola.com>
2015-01-09 20:56:32 +01:00
Chris Dickinson bc629c0c4f src: zlib: revert concatenated-stream changes
Revert "src: fix windows build error" and "zlib: support
concatenated gzip files".

This reverts commits be413ac732
and 1183ba47df.

Treating subsequent bytes as a concatenated zlib stream
breaks npm install.

Conflicts:
	test/parallel/test-zlib-from-multiple-gzip-with-garbage.js
	test/parallel/test-zlib-from-multiple-gzip.js
	test/parallel/test-zlib-from-multiple-huge-gzip.js

Fixes: https://github.com/joyent/node/issues/8962
PR-URL: https://github.com/iojs/io.js/pull/240
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-09 11:09:08 -08:00
Vladimir Kurchatkin 9f45799dd2 build: fix process.platform
e1fe270 introduces the NODE_PLATFORM macro which had to be redefined in
node.gyp for `process.platform` to return expected values.

PR-URL: https://github.com/iojs/io.js/pull/271
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-09 19:52:51 +01:00
Caitlin Potter be2404e0d3 core: throw TypeError if chdir() args are wrong
PR-URL: https://github.com/iojs/io.js/pull/274
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-09 18:36:15 +01:00
Bert Belder eab60039b1 win,tracing: node -> iojs in perfctr/etw manifests
PR-URL: https://github.com/iojs/io.js/pull/263
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-08 23:32:16 +01:00
Bert Belder 889f4023aa win,src: node -> iojs in executable manifest
PR-URL: https://github.com/iojs/io.js/pull/263
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-08 23:32:15 +01:00
Rod Vagg 8a0e7d6566 version: working on 1.0.0
PR-URL: https://github.com/iojs/io.js/pull/253
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-08 09:50:16 -05:00
Bert Belder e1fe270fd7 src: prefix ARCH and PLATFORM with NODE_
The PLATFORM preprocessor symbol is defined in node.gyp, and on Windows
it's set to "win". This conflicts with a built-in preprocessor symbol
with a different value ("win32"), which makes the linker(!) complain.
Resolve this by renaming these symbols to NODE_ARCH and NODE_PLATFORM.

PR-URL: https://github.com/iojs/io.js/pull/261
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-08 14:17:24 +01:00
Bert Belder 858b558345 win: fix NODE_NET_SOCKET_READ/WRITE signature
The NODE_NET_SOCKET_READ and NODE_NET_SOCKET_WRITE macros are just
no-ops on Windows, but they used to be defined as taking four parameters
while being called with five arguments. Turn them into variadic macros
to squelch a compiler warning.

PR-URL: https://github.com/iojs/io.js/pull/261
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-08 14:17:24 +01:00
Bert Belder 09fe6fe153 win: suppress GetVersionEx deprecation warning
There is no other way to retrieve the Windows version. The stated reason
this API is deprecated is that applications are not supposed to check
whether the Windows it's running on is recent enough. But that's not
what we use it for.

PR-URL: https://github.com/iojs/io.js/pull/261
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-08 14:17:23 +01:00
Bert Belder 0ce7b912c4 win: use GetVersionExW instead of GetVersionExA
For consistency with the rest of the source code, use the wide-char
version of this API.

PR-URL: https://github.com/iojs/io.js/pull/261
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-08 14:17:23 +01:00
Cheng Zhao 604b876147 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>
2015-01-07 23:38:28 +01:00
Trevor Norris cbf76c1f2f src: pass Isolate to node::Utf8Value constructor
Initial attempt to remove all uses of Isolate::GetCurrent(). Still
exists a few locations, but this works out a heavy usage.

PR-URL: https://github.com/iojs/io.js/pull/244
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-07 14:21:02 -08:00
Trevor Norris d553386623 src: pass Isolate to additional locations
Due to a recent V8 upgrade, more methods require Isolate as an argument.

PR-URL: https://github.com/iojs/io.js/pull/244
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-07 14:19:40 -08:00
Ben Noordhuis 94e147500c Merge remote-tracking branch 'joyent/v0.12' into v1.x
I was originally going to do this after the v0.11.15 release, but as
that release is three weeks overdue now, I decided not to wait any
longer; we don't want the delta to get too big.

Conflicts:
	lib/net.js
	test/simple/simple.status

PR-URL: https://github.com/iojs/io.js/pull/236
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-05 17:26:47 +01:00
Trevor Norris 372a2f56be smalloc: fix bad assert for zero length data
If the data length passed to smalloc.alloc() the array_length will be
zero, causing an overflow check to fail. This prevents that from
happening.

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
2015-01-05 02:24:40 -08:00
Rudi Cilibrasi c77a494e4a src: remove cpplint error using NOLINT directive
PR-URL: https://github.com/iojs/io.js/pull/202
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2014-12-23 15:43:19 +01:00
Ben Noordhuis dab6f681cd lib,src: remove post-gc event infrastructure
Remove the 'gc' event from the v8 module and remove the supporting
infrastructure from src/.  It gets the axe because:

1. There are currently no users.  It was originally conceived as
   an upstreamed subset of StrongLoop's strong-agent GC metrics,
   but the strong-agent code base has evolved considerably since
   that time and has no use anymore for what is in core.

2. The implementation is not quite sound.  It calls into JS land
   from inside the GC epilog and that is unsafe.  We could fix
   that by delaying the callback until a safe time but because
   there are no users anyway, removing it is all around easier.

PR-URL: https://github.com/iojs/io.js/pull/174
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2014-12-18 19:39:30 +01:00
Ben Noordhuis 93533e98f7 src: fix windows build error
Fix a Windows-only build error that was introduced in
commit 1183ba4 ("zlib: support concatenated gzip files").

Rename the NO_ERROR and FAILED enumerations, they conflict
with macros of the same name in <winerror.h>.

PR-URL: https://github.com/joyent/node/pull/8893
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-by: Timothy J Fontaine <tjfontaine@gmail.com>
2014-12-17 14:13:20 -08:00
Luis Reis 6f6a97958e zlib: support concatenated gzip files
Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/joyent/node/pull/6442
2014-12-16 15:11:50 -08:00
cjihrig 165b70f146 fs: add access() and accessSync()
fs.exists() and fs.existsSync() do not follow the typical
error first callback convention. access() and accessSync()
are added as alternatives in this commit.

Fixes: https://github.com/joyent/node/pull/8714
PR-URL: https://github.com/iojs/io.js/pull/114
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Domenic Denicola <domenic@domenicdenicola.com>
2014-12-15 12:05:49 -05:00
Ben Noordhuis 52fc406308 src: move BE/LE buffer conversion to StringSlice()
Move the big endian to little endian conversion logic for UCS2 input
from src/string_bytes.cc to src/node_buffer.cc; StringSlice() is the
only function that actually needs it and with this commit, a second
copy is avoided on big endian architectures.
2014-12-14 16:01:47 +01:00
Ben Noordhuis 56fde66c46 src: redo unaligned access workaround
Introduce two-byte overloads of node::Encode() and StringBytes::Encode()
that ensure that the input is suitably aligned.

Revisits commit 535fec8 from yesterday.
2014-12-14 16:01:47 +01:00
Ben Noordhuis a60056df3c src: fix addon loader regression
Fix a regression that was introduced in commit a38b9178 by removing the
bad check.  Also rearrange the addon loading logic to ensure that the
list of pending addons remains in a consistent state when the shared
object fails to load; in particular, when an addon self-registers first,
then hits a dynamic linker error in a later constructor.

Fixes the following asserting when loading a .node shared object:

    node: ../src/node.cc:1944: void node::node_module_register(void*):
    Assertion `(modpending) != (nullptr)' failed.

Fixes strongloop/strongops#233.

PR-URL: https://github.com/iojs/io.js/pull/154
Reviewed-By: Ryan Graham <ryan@strongloop.com>
2014-12-13 23:07:06 +01:00
Juanjo 946cec7b65 lib,src: fix spawnSync ignoring its 'env' option
PR-URL: https://github.com/joyent/node/pull/8546
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2014-12-11 10:31:06 -08:00
Fedor Indutny 687dfc9875 crypto: separate altname extensions with ", "
In newly introduced `SafeX509ExtPrint` I forgot to insert separators
between extensions, which lead to the "DNS:...DNS:..." thing for npm.

Fix: iojs/io.js#105
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/iojs/io.js/pull/113.patch
2014-12-11 00:07:58 +07:00
brian m. carlson ac18ebddbd crypto: disable SSLv3 if shared OpenSSL lacks it
Some distributions disable SSLv3 due to POODLE.  In such a case, disable
the specific SSLv3 methods and throw an exception, much like the code
already does for SSLv2.  The SSLv23* code is retained because this is
OpenSSL's terminology for "no version in particular".

Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/iojs/io.js/pull/101
2014-12-10 15:48:38 +07:00
Ben Noordhuis 535fec83ea src: fix unaligned access in ucs2 string encoder
Seen with g++ 4.9.2 on x86_64 Linux: a SIGSEGV is generated when the
input to v8::String::NewFromTwoByte() is not suitably aligned.

g++ 4.9.2 emits SSE instructions for copy loops.  That requires aligned
input but that was something StringBytes::Encode() did not enforce until
now.  Make a properly aligned copy before handing off the input to V8.

We could, as an optimization, check that the pointer is aligned on a
two-byte boundary but that is technically still UB; pointers-to-char
are allowed to alias other pointers but the reverse is not true:
a pointer-to-uint16_t that aliases a pointer-to-char is in violation
of the pointer aliasing rules.

See https://code.google.com/p/v8/issues/detail?id=3694

Fixes segfaulting test simple/test-stream2-writable.

PR-URL: https://github.com/iojs/io.js/pull/127
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
2014-12-09 19:15:50 +01:00
Juanjo ea945bf068 lib,src: fix spawnSync ignoring its 'env' option
PR-URL: https://github.com/joyent/node/pull/8546
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2014-12-09 18:41:30 +01:00