smalloc: fix copyOnto optimization

copyOnto is broken when one argument has 1 byte size and the other > 1
byte.

PR-URL: https://github.com/joyent/node/pull/8637
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
src: make root_certs const

Make the root_certs global fully const.  As a side effect, that moves it
from the .data section to the .rodata section.  Makes it a little easier
to reason about the remaining globals.
src: move debug agent from deps/ to src/

There is not much point in keeping it a separate project because it
doesn't build standalone, plus it makes applying changes to core more
difficult because of the implicit dependency on header files in src/.
src: clean up root_certs iteration

Drop the trailing nullptr and use ARRAY_SIZE.
src: replace NULL with nullptr in debug agent

Update the debug agent to conform to the code style in src/.
node: do not crash on IPC stdin

When started with IPC pipe on fd=0 child process should not crash when
referencing or using `process.stdin`.

fix joyent/node#8669

PR-URL: https://github.com/node-forward/node/pull/45
Reviewed-By: Ben Noorhduis <info@bnoordhuis.nl>
windows: fix process description to say "Node.js"

Newer incarnations of the task manager only show the description, not
even the product name.

PR-URL: https://github.com/node-forward/node/pull/46
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuisl.nl>
smalloc: check if obj has external data

PR-URL: https://github.com/joyent/node/pull/8655
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
build: fix build for SmartOS

This change in V8: https://code.google.com/p/v8/source/detail?r=22210
has introduced a method named OS::GetCurrentThreadId which fails to
compile on OSes where a "gettid" syscall does not exist.

This build issue has been fixed upstream by several changes:
- https://code.google.com/p/v8/source/detail?r=23459.
- https://codereview.chromium.org/649553002
- https://codereview.chromium.org/642223003

Another minor fix to the upstream changes was also necessary.
See https://code.google.com/p/v8/issues/detail?id=3620 for
more information.

The other build issue was due to the fact that alloca.h is not included
by other system includes on SmartOS, which is assumed by V8.

Built and tested on Linux, MacOS X, Windows and SmartOS.
test: more thorough tests for npm
npm: Upgrade to v2.1.6
src: network interface names are UTF-8 encoded

Fixes a bug that was introduced in commit f674b09 when v8::String::New()
calls were replaced with calls to one-byte, two-byte and UTF-8 versions.
It turns out that for network interface names, using a one-byte encoding
can produce the wrong results on Windows.  Use UTF-8 instead.

Libuv on Windows correctly encodes non-ASCII characters in the interface
name as UTF-8.  On Unices however, the interface name is just a binary
string with no particular encoding; that's why on UNIX platforms, we
keep interpreting it as a one-byte string.

Fixes joyent/node#8633.

PR-URL: https://github.com/node-forward/node/pull/44
Reviewed-By: Bert Belder <bertbelder@gmail.com>
build: add rpmbuild .spec file

Add a .spec file and a rpmbuild(1) driver script.  Useful for people
on RHEL-based systems that want to compile and package from source.

PR-URL: https://github.com/node-forward/node/pull/10
Reviewed-By: Rod Vagg <rod@vagg.org>
test: unlink custom unix socket before test

Unlink NODE_COMMON_PIPE before running the test if set in the
environment.  The test runner won't do it for us like it does
for files in test/tmp.

PR-URL: https://github.com/node-forward/node/pull/40
Reviewed-By: Rod Vagg <rod@vagg.org>
test: use common.PIPE in simple/test-cluster-eaccess

PR-URL: https://github.com/node-forward/node/pull/50
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
deps: update uv to v1.0.0-rc2

PR-URL: https://github.com/joyent/node/pull/8566
Reviewed-by: Fedor Indutny <fedor@indutny.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
core: replace uv_fs_readdir with uv_fs_scandir

PR-URL: https://github.com/joyent/node/pull/8566
Reviewed-by: Fedor Indutny <fedor@indutny.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
core: fix usage of uv_cwd

It was modified in libuv to be consistent with uv_exepath and not
include the trailing NULL byte in the returned size.

PR-URL: https://github.com/joyent/node/pull/8566
Reviewed-by: Fedor Indutny <fedor@indutny.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
uv: revert change causing build failures

Revert uv_thread_self() to return unsigned long instead of uv_thread_t.
This was causing a build failure on Windows and is only a temporary fix
until the proper patch lands upstream.

Reverts: https://github.com/joyent/libuv/commit/59658a8
Fixes: ce112c2 "deps: update uv to v1.0.0-rc2"
doc: remove tls.createSecurePair deprecation

pending tls.TLSSocket growing the ability to work
with streams, createSecurePair will remain.

PR-URL: https://github.com/joyent/node/pull/8695
Reviewed-by: Fedor Indutny <fedor@indutny.com>