Commit Graph
10776 Commits
Author SHA1 Message Date
Rich Trott d421e85dc9 lib: fix cluster handle leak
It is possible to cause a resource leak in SharedHandle. This commit
fixes the leak.

Fixes: https://github.com/nodejs/node/issues/2510
PR-URL: https://github.com/nodejs/node/pull/5152
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-02-11 11:29:14 -08:00
Brian White 6c468df9af child_process: fix data loss with readable event
This commit prevents child process stdio streams from being
automatically flushed on child process exit/close if a 'readable'
event handler has been attached at the time of exit.

Without this, child process stdio data can be lost if the process
exits quickly and a `read()` (e.g. from a 'readable' handler)
hasn't had the chance to get called yet.

Fixes: https://github.com/nodejs/node/issues/5034
PR-URL: https://github.com/nodejs/node/pull/5037
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-02-11 11:29:14 -08:00
Julien Gilli 018e4e0b1a domains: fix handling of uncaught exceptions
Fix node exiting due to an exception being thrown rather than emitting
an 'uncaughtException' event on the process object when:
1. no error handler is set on the domain within which an error is thrown
2. an 'uncaughtException' event listener is set on the process

Also fix an issue where the process would not abort in the proper
function call if an error is thrown within a domain with no error
handler and --abort-on-uncaught-exception is used.

Fixes #3607 and #3653.

PR: #3885
PR-URL: https://github.com/nodejs/node/pull/3885
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-02-11 11:29:14 -08:00
Julien Gilli be39f30447 test: add test-domain-exit-dispose-again back
d1ba82af1c "fixed"
test-domain-exit-dispose-again by changing its logic to test that
process.domain was cleared properly in case an error was thrown from
a timer's callback.

However, it became clear when reviewing a recent change that refactors
lib/timers.js that it was not quite the intention of the original test.

Thus, this change adds the original implementation of
test-domain-exit-dispose-again back, with comments that make its
implementation easier to understand.

It also preserves the changes made by
d1ba82af1c, but it moves them to a new
test file named test-timers-reset-process-domain-on-throw.js.

PR: #4278
PR-URL: https://github.com/nodejs/node/pull/4278
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-02-11 11:29:14 -08:00
Jörg Krause 28dddabf6a src: fix build error without OpenSSL support
PR #3890 [1] introduced the variable ALLOW_INSECURE_SERVER_DHPARAM defined
in src/node_crypto.cc. However, if nodejs is built without OpenSSL support,
the build fails:
 error: ‘ALLOW_INSECURE_SERVER_DHPARAM’ was not declared in this scope
       ALLOW_INSECURE_SERVER_DHPARAM = true;

Fix this by using the preprocessor macro HAVE_OPENSSL to opt-out the use of
ALLOW_INSECURE_SERVER_DHPARAM in non-OpenSSL builds.

[1] https://github.com/nodejs/node/pull/3890

PR-URL: https://github.com/nodejs/node/pull/4201
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
2016-02-11 11:29:14 -08:00
Julien Gilli da66166b9a test: fix test-domain-exit-dispose-again
test-domain-exit-dispose-again had been written for node v0.10.x, and
was using the fact that callbacks scheduled with `process.nextTick`
wouldn't run if the domain attached to it was disposed.

This is not longer the case, and as a result the test would not catch
any regression: it would always pass.

This change rewrites that test to check that the current domain is
cleared properly when processing the rest of the timers list if a
timer's callback throws an error. This makes the test fail without the
original fix, and pass with the original fix, as expected.

PR: #3991
PR-URL: https://github.com/nodejs/node/pull/3991
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2016-02-11 11:29:14 -08:00
Trevor Norris 3a48f0022f node: fix leaking Context handle
The call to node::Environment::GetCurrent(Isolate*) makes the call to
v8::Isolate::GetCurrentContext(). Doing so creates a new handle that
bubbled to the v8::SealHandleScope().

PR-URL: https://github.com/nodejs/node/pull/3945
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: James Snell <jasnell@gmail.com>
2016-02-11 11:29:14 -08:00
Trevor Norris a79baf03cd src: use global SealHandleScope
Helps to find Handle leaks in Debug mode.

Ref: a5244d3 "deps: backport 1f8555 from v8's upstream"

PR-URL: https://github.com/nodejs/node/pull/3945
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: James Snell <jasnell@gmail.com>
2016-02-11 11:29:14 -08:00
Trevor Norris 46c8e2165f deps: backport 1f8555 from v8's upstream
Original commit message:

    api: introduce SealHandleScope

    When debugging Handle leaks in io.js we found it very convenient to be
    able to Seal some specific (root in our case) scope to prevent Handle
    allocations in it, and easily find leakage.

    R=yangguo
    BUG=

    Review URL: https://codereview.chromium.org/1079713002

    Cr-Commit-Position: refs/heads/master@{#27766}

Should help us identify and fix Handle leaks in core and user-space code.

PR-URL: https://github.com/nodejs/node/pull/3945
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: James Snell <jasnell@gmail.com>
2016-02-11 11:29:14 -08:00
James M Snell a8bb5c77ef Working on v0.12.11 2016-02-09 08:49:33 -08:00
James M Snell 8d7aa925de 2016-02-09, Version 0.12.10 (LTS)
This is an important security release. All Node.js users should
consult the security release summary at nodejs.org for details on
patched vulnerabilities.

Notable changes:

* http: fix defects in HTTP header parsing for requests and responses
  that can allow request smuggling (CVE-2016-2086) or response
  splitting (CVE-2016-2216). HTTP header parsing now aligns more
  closely with the HTTP spec including restricting the acceptable
  characters.
* http-parser: upgrade from 2.3.0 to 2.3.1
* openssl: upgrade from 1.0.1q to 1.0.1r. To mitigate against the
  Logjam attack, TLS clients now reject Diffie-Hellman handshakes with
  parameters shorter than 1024-bits, up from the previous limit of
  768-bits.
* src:
  - introduce new `--security-revert={cvenum}` command line flag for
    selective reversion of specific CVE fixes
  - allow the fix for CVE-2016-2216 to be selectively reverted using
    `--security-revert=CVE-2016-2216`
* build:
  - xz compressed tar files will be made available from nodejs.org for
    v0.12 builds from v0.12.10 onward
  - A headers.tar.gz file will be made available from nodejs.org for
    v0.12 builds from v0.12.10 onward, a future change to node-gyp
    will be required to make use of these

PR-URL: https://github.com/nodejs/node-private/pull/24
v0.12.10
2016-02-09 08:41:18 -08:00
Rod Vagg 8e1e25bd52 build: enable xz compressed tarballs where possible
PR-URL: https://github.com/nodejs/node/pull/4894
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-02-09 08:41:18 -08:00
Rod Vagg 5d879a404f doc: clarify v0.12.9 notable items
* Include reference to CVE-2015-8027
* Fix "socket may no longer have a socket" reference
* Expand on non-existent parser causing the error
* Clarify that CVE-2015-3194 affects TLS servers using _client
  certificate authentication_

PR-URL: https://github.com/nodejs/node/pull/4154
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-02-09 08:41:18 -08:00
Richard Lau ce2a393e34 tools: backport tools/install.py for headers
Backport the tools/install.py changes from 628a3ab that were missed
when 6fb0b92 backported the corresponding changes to the Makefile to
build the headers only archive.

PR-URL: https://github.com/nodejs/node/pull/4149
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Rod Vagg <rod@vagg.org>
2016-02-09 08:41:18 -08:00
Shigeki Ohtsu da747bf360 deps: upgrade openssl sources to 1.0.1r
This replaces all sources of openssl-1.0.1r.tar.gz into
deps/openssl/openssl

PR-URL: https://github.com/nodejs/node/pull/4967
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

deps: copy all openssl header files to include dir

All symlink files in `deps/openssl/openssl/include/openssl/`
are removed and replaced with real header files to avoid
issues on Windows. Two files of opensslconf.h in crypto and
include dir are replaced to refer config/opensslconf.h.

PR-URL: https://github.com/nodejs/node/pull/4967
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

deps: separate sha256/sha512-x86_64.pl for openssl

sha256-x86_64.pl does not exist in the origin openssl distribution. It
was copied from sha512-x86_64.pl and both sha256/sha512 scripts were
modified so as to generates only one asm file specified as its key
hash length.

PR: #9451
PR-URL: https://github.com/joyent/node/pull/9451
Reviewed-By: Julien Gilli <julien.gilli@joyent.com>

deps: fix openssl assembly error on ia32 win32

`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and
perhaps others) are requiring .686 .

PR: #9451
PR-URL: https://github.com/joyent/node/pull/9451
Reviewed-By: Julien Gilli <julien.gilli@joyent.com>

openssl: fix keypress requirement in apps on win32

reapply b910613792

PR: #9451
PR-URL: https://github.com/joyent/node/pull/9451
Reviewed-By: Julien Gilli <julien.gilli@joyent.com>

deps: add -no_rand_screen to openssl s_client

In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/joyent/node/pull/25368
2016-02-09 08:41:18 -08:00
James M Snell 2aa1a85432 src: avoiding compiler warnings in node_revert.cc
PR-URL: https://github.com/nodejs/node-private/pull/21
2016-02-09 08:41:18 -08:00
James M Snell 2a2d3e1b03 http: strictly forbid invalid characters from headers
PR-URL: https://github.com/nodejs/node-private/pull/21
2016-02-09 08:41:18 -08:00
James M Snell d86fc39666 deps: update http-parser to version 2.3.1
includes parsing improvements to ensure closer HTTP spec conformance

PR-URL: https://github.com/nodejs/node-private/pull/21
2016-02-09 08:41:18 -08:00
James M Snell 4303dde44e src: add --security-revert command line flag
The `--security-revert={cvenum}` command line flag is a special purpose
flag to be used only in stable or LTS branches when a breaking change
is required to address a security vulnerability. Whenever a vulnerability
requires a breaking change, and a CVE has been assigned, the flag can
be used to force Node to revert to the insecure behavior that was
implemented before the fix was applied.

Note that this flag is intended to be used only as a last resort in the
case a security update breaks existing code. When used, a security
warning will be printed to stderr when Node launches.

The `--security-revert={cvenum}` flag takes a single CVE number as an
argument. Multiple instances of the `--security-revert={cvenum}` flag
can be used on the command line to revert multiple changes.

Whenever a new `--security-revert={cvenum}` is enabled, it should be
documented in the release notes and in the API docs.

Master and the first release of a new major (e.g. v6.0) should not have
any reverts available.

Every time a new `--security-revert={cvenum}` is added, there should be
a semver-minor bump in the stable and LTS branch.

PR-URL: https://github.com/nodejs/node-private/pull/21
2016-02-09 08:41:18 -08:00
Rod Vagg cf9821156b Working on v0.12.10 2015-12-04 14:28:07 +11:00
Rod Vagg ffc1395af0 2015-12-04, Version 0.12.9 (Stable)
Security Update

Notable items:

* http: Fix a bug where an HTTP socket may no longer have a socket but a
  pipelined request triggers a pause or resume, a potential
  denial-of-service vector. (Fedor Indutny)
* openssl: Upgrade to 1.0.1q, fixes CVE-2015-3194
  "Certificate verify crash with missing PSS parameter", a potential
  denial-of-service vector for Node.js TLS servers; TLS clients are also
  impacted. Details are available at
  <http://openssl.org/news/secadv/20151203.txt>. (Ben Noordhuis) #4133

PR-URL: https://github.com/nodejs/node-private/pull/13
v0.12.9
2015-12-04 08:44:40 +11:00
Ben Noordhuis 8d24a14f2c deps: upgrade to openssl 1.0.1q
Contains fixes for:

* CVE-2015-3194 Certificate verify crash with missing PSS parameter
* CVE-2015-3195 X509_ATTRIBUTE memory leak

fixup! character encoding noise

fixup! update opensslconf.h

PR-URL: https://github.com/nodejs/node/pull/4133
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-12-04 05:39:50 +11:00
Fedor Indutny dfc6f4a9af http: fix pipeline regression
Always check that socket still has the parser. It may be destroyed
interim, and we may end up with an uncaught exception.

Fix: https://github.com/nodejs/node/issues/3508
PR-URL: https://github.com/nodejs/node-private/pull/5
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2015-12-03 23:03:08 +11:00
Rod Vagg e2b6d45398 Working on v0.12.9 2015-11-25 11:16:32 +11:00
Rod Vagg 0cdc54a2bb 2015-11-25 Version 0.12.8 (LTS) Release
PR-URL: https://github.com/nodejs/node/pull/2806
v0.12.8
2015-11-25 10:21:52 +11:00
João Reis 7e4b47f38a build,win: fix node.exe resource version
When MSBuild invokes rc.exe, it passes NODE_TAG unstringified, but
passes it correctly to cl.exe. Hence, this workaround was made to
apply only to the resource file.

Fixes: https://github.com/nodejs/node/issues/2963
PR-URL: https://github.com/nodejs/node/pull/3053
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-11-25 10:05:15 +11:00
Rod Vagg 64459c0fe8 doc: backport README.md
PR-URL: https://github.com/nodejs/node/pull/3642
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-11-25 10:05:11 +11:00
Rod Vagg 7d11208f68 build: backport tools/release.sh
PR-URL: https://github.com/nodejs/node/pull/3642
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-11-25 10:05:05 +11:00
Rod Vagg 6fb0b92fa0 build: backport config for new CI infrastructure
PR-URL: https://github.com/nodejs/node/pull/3642
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-11-25 10:04:52 +11:00
Michael Dawson caa16b41d6 tls: prevent server from using dhe keys < 768
As part of the fix for logjam, node was upgraded to a
level of openssl which rejects connections to servers that
are using keys smaller than 768 bits. It is still possible,
however, to create a server that uses a smaller key size
and and older client may be able to connect to it.

This PR moves us to a secure by default stance on the
server side as well, preventing the creation of a server
using a dhe key size less than 768. This can be overridden
with the command line option which is also added.

It is derived from

https://github.com/nodejs/node/commit/9b35be58100237365c24ab394d3dc6462f9675e6

which was landed in later io.js/node versions but makes
the limit 1024.  This PR uses the smaller limit in order
to meet the recomendations for logjam while matching was
was done on the client side in openssl to minimize the
potential impacton users.

The command line option will only be documented in the
release notes and will not be added to the tls
documentation.  The goal is that people who are
upgrading are aware and can use the option if they
run into issues, but otherwise the option is not
visible/used.

PR-URL: https://github.com/nodejs/node/pull/3890
Fixes: https://github.com/nodejs/LTS/issues/49
Reviewed-By: Myles Borins <mborins@us.ibm.com>
Reviewed-By: James Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <r@va.gg>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-11-23 11:30:50 -05:00
Forrest L Norvell ca97fb6be3 deps: upgrade npm to 2.14.9
This is a roll-up release that includes all changes to npm since 2.13.4.

PR-URL: https://github.com/nodejs/node/pull/3684
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2015-11-14 16:46:05 -08:00
Ben Noordhuis 83441616a5 build: fix --without-ssl compile time error
Fix the following build error by putting #if guards around the
variables:

    ../src/node.cc: In function 'void node::ParseArgs(int*,
    const char**, int*, const char***, int*, const char***)':
    ../src/node.cc:3037:7: error: 'SSL2_ENABLE' was not declared
    in this scope
           SSL2_ENABLE = true;
           ^
    ../src/node.cc:3039:7: error: 'SSL3_ENABLE' was not declared
    in this scope
           SSL3_ENABLE = true;

Fixes: https://github.com/nodejs/node-v0.x-archive/issues/8645
PR-URL: https://github.com/nodejs/node/pull/3825
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: James M Snell <jasnell@gmail.com>
2015-11-14 16:35:27 -08:00
Jeremy Whitlock f0453caea2 domains: port caeb677 from v0.10 to v0.12
caeb677
Do not abort the process if an error is thrown from within a domain,
an error handler is setup for the domain and
--abort-on-uncaught-exception was passed on the command line.

However, if an error is thrown from within the top-level domain's
error handler and --abort-on-uncaught-exception was passed on the
command line, make the process abort.

Fixes: #8877

Fixes: https://github.com/nodejs/node-v0.x-archive/issues/8877
PR-URL: https://github.com/nodejs/node-v0.x-archive/pull/25835
Reviewed-By: misterdjules - Julien Gilli <jgilli@nodejs.org>
2015-09-30 19:59:10 -04:00
Jeremy Whitlock 1982ed6e63 v8: port fbff705 from v0.10 to v0.12
fbff705
Add v8::Isolate::SetAbortOnUncaughtException() so the user can be
notified when an uncaught exception has bubbled.

Fixes: https://github.com/nodejs/node-v0.x-archive/issues/8877
PR-URL: https://github.com/nodejs/node-v0.x-archive/pull/25835
Reviewed-By: misterdjules - Julien Gilli <jgilli@nodejs.org>
2015-09-30 19:59:10 -04:00
João Reis e07c86e240 build,win: try next MSVS version on failure
Try the next version of Microsoft Visual Studio when vcvarsall.bat
fails to set VCINSTALLDIR.

PR-URL: https://github.com/nodejs/node/pull/2843
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Reviewed-By: orangemocha - Alexis Campailla <orangemocha@nodejs.org>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-09-16 06:30:23 -04:00
Lucien Greathouse 8887666b0b build: update manifest to include Windows 10
This is a port of b0dd3bf499 .

Original commit message:

  Windows 10 wasn't listed in the executable manifest.
  This caused problems with trying to detect Windows 10
  via `os.release()`.

  PR-URL: https://github.com/nodejs/io.js/pull/2332
  Reviewed-By: Roman Reiss <me@silverwind.io>

PR-URL: https://github.com/nodejs/node/pull/2843
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Reviewed-By: orangemocha - Alexis Campailla <orangemocha@nodejs.org>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-09-16 06:30:22 -04:00
Rod Vagg 08afe4ec8e build: add MSVS 2015 support
This is a port of 4208dc4fef .

Original commit message:

  PR-URL: https://github.com/nodejs/node/pull/2036
  Reviewed-By: Alexis Campailla <alexis@janeasystems.com>

This was ported to v0.10 in https://github.com/nodejs/node-v0.x-archive/pull/25857

PR-URL: https://github.com/nodejs/node/pull/2843
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Reviewed-By: orangemocha - Alexis Campailla <orangemocha@nodejs.org>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-09-16 06:30:21 -04:00
João Reis 618b142679 deps,v8: fix compilation in VS2015
To compile with VS2015, the == and != methods in zone-allocator.h need
to be marked const.

This change was introduced upstream in
https://chromium.googlesource.com/v8/v8.git/+/f9e4527f32c2c268cb79428c74ea9703e9db3aec

PR-URL: https://github.com/nodejs/node/pull/2843
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Reviewed-By: orangemocha - Alexis Campailla <orangemocha@nodejs.org>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-09-16 06:30:20 -04:00
Andy Polyakov 583734342e deps: fix openssl for MSVS 2015
Backports http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=aab3560b65b9254d17770bb6fe3ca7edd7451429
from openssl upstream, to add support for Visual Studio 2015. This is
already included in the newer openssl 1.0.2.

Original commit message:

  e_os.h: limit _MSC_VER trickery to older compilers.

  PR: #3390

Original pull request:

  http://rt.openssl.org/Ticket/Display.html?user=guest&pass=guest&id=3390

This was ported to v0.10 in https://github.com/joyent/node/pull/25857

PR-URL: https://github.com/nodejs/node/pull/2843
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Reviewed-By: orangemocha - Alexis Campailla <orangemocha@nodejs.org>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-09-16 06:30:20 -04:00
Shigeki Ohtsu 02c262a4c6 deps: fix gyp to work on MacOSX without XCode
This is a port of eb459c8151 ,
used as a floating patch over gyp.

Original commit message:

  This issue has already submitted to the upstream in
  https://code.google.com/p/gyp/issues/detail?id=477
  Use this commit until the upstream is to be fixed.

  PR-URL: https://github.com/iojs/io.js/pull/1325
  Reviewed-By: Fedor Indutny <fedor@indutny.com>
  Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

This was ported to v0.10 in https://github.com/joyent/node/pull/25857

PR-URL: https://github.com/nodejs/node/pull/2843
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Reviewed-By: orangemocha - Alexis Campailla <orangemocha@nodejs.org>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-09-16 06:30:19 -04:00
João Reis f0fba0bce8 deps: update gyp to 25ed9ac
This is a port of a525c7244e .

Original commit message:

  Gyp update to be able to generate VS2015 projects.

  PR-URL: https://github.com/joyent/node/pull/25857
  Reviewed-By: Alexis Campailla <alexis@janeasystems.com>

PR-URL: https://github.com/nodejs/node/pull/2843
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Reviewed-By: orangemocha - Alexis Campailla <orangemocha@nodejs.org>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-09-16 06:30:19 -04:00
João Reis 44d7054252 win: fix custom actions for WiX older than 3.9
This is a port of e192f61514 .

Original commit message:

  Older WiX versions included a header with extern "C" declaration,
  hence the custom action source must be C++.

  Reviewed-By: João Reis <reis@janeasystems.com>
  PR-URL: https://github.com/joyent/node/pull/25569

PR-URL: https://github.com/nodejs/node/pull/2843
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Reviewed-By: orangemocha - Alexis Campailla <orangemocha@nodejs.org>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-09-16 06:30:18 -04:00
Julien Gilli 586c4d8b8e win: fix custom actions on Visual Studio != 2013
This is a port of 16bcd68dc5 .

Original commit message:

  The original change that added support for running custom actions
  during the install process (e7c84f82c7)
  assumed that Visual Studio 2013 is used to generate the installer
  file.

  However, that is not always the case, and older versions of Visual
  Studio should allow users to generate Windows installer files. This
  change makes the custom actions visual studio project use the visual
  studio version that is found by vcbuild.bat.

  Reviewed-By: João Reis <reis@janeasystems.com>
  PR-URL: https://github.com/joyent/node/pull/25569

PR-URL: https://github.com/nodejs/node/pull/2843
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Reviewed-By: orangemocha - Alexis Campailla <orangemocha@nodejs.org>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-09-16 06:30:17 -04:00
Ben Noordhuis 071c860c2b crypto: replace rwlocks with simple mutexes
It was pointed out by Zhou Ran that the Windows XP implementation of
uv_rwlock_rdlock() and friends may unlock the inner write mutex on a
different thread than the one that locked it, resulting in undefined
behavior.

The only place that uses rwlocks is the crypto module.  Make that use
normal (simple) mutexes instead.

OpenSSL's critical sections are generally very short, with exclusive
access outnumbering shared access by a factor of three or more, so
it's not as if using rwlocks gives a decisive performance advantage.

PR-URL: https://github.com/nodejs/node/pull/2723
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-09-11 12:35:41 +10:00
Tyler Anton 2860c53562 doc: fixed child_process.exec doc
Changed child_process.exec documentation to reflect that the parameters stdout and stderr are instances of Buffer only if {encoding: null}. Otherwise, they are instances of String with the encoding.

Fixes #9434

removed .DS_Store

PR-URL: https://github.com/joyent/node/pull/14088
Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
Reviewed-By: piscisaureus - Bert Belder <bertbelder@gmail.com>
2015-08-28 19:37:58 -04:00
cjihrig b5a0abcfdf child_process: clone spawn options argument
spawnSync() modifies the options argument. This commit makes
a copy of options before any modifications occur.

PR-URL: https://github.com/joyent/node/pull/9159
Reviewed-By: trevnorris - Trevor Norris <trev.norris@gmail.com>
2015-08-27 16:03:33 -04:00
Devin Nakamura 0363cf4a80 tls: Closing parent socket also closes the tls sock
PR-URL: https://github.com/joyent/node/pull/25642
Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
2015-08-27 14:54:21 -04:00
Samuel Mills (Henchman) a24db43101 docs: event emitter behavior notice
Updated documentation as per the issue below:
https://github.com/joyent/node/issues/25466

Event listeners can alter parts of the passed object, in some
circumstances the changes are passed to the next listeners
due to pass by reference. This is documentation of that behavior.

PR-URL: https://github.com/joyent/node/pull/25467
Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
2015-08-27 14:47:42 -04:00
Evan Lucas 261fa3620f src: fix intermittent SIGSEGV in resolveTxt
Fixes a SIGSEGV by making sure `txt_chunk` is not empty before setting
it on `txt_records`

Fixes: https://github.com/joyent/node/issues/9285
PR-URL: https://github.com/joyent/node/pull/9300
Reviewed-By: cjihrig - Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
2015-08-27 14:19:44 -04:00
João Reis 1f7257b02d test: mark test-https-aws-ssl flaky on linux
PR-URL: https://github.com/joyent/node/pull/25893
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-08-25 07:36:39 -04:00