- Dec 10, 2014
-
-
brian m. carlson authored
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
-
Ben Noordhuis authored
Based on the ad-hoc benchmark from joyent/node#8638 plus an additional benchmark for user:pass auth URLs. PR-URL: https://github.com/iojs/io.js/pull/102 Reviewed-by:
Chris Dickinson <christopher.s.dickinson@gmail.com>
-
Ben Noordhuis authored
Remove a speed bump from commit 36777d2a by reusing the result of the previous stat() system call. It's a code path that gets called many thousands of times at startup in most applications so shaving off an extra system call can have an appreciable impact on startup times. PR-URL: https://github.com/iojs/io.js/pull/130 Reviewed-by:
Chris Dickinson <christopher.s.dickinson@gmail.com>
-
Ben Noordhuis authored
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>
-
Bert Belder authored
* The test no longer relies on being invoked from a particular working directory to function properly. * fs.symlink() and fs.symlinkSync() are both tested. * The test now cleans up after itself. This commit fixes https://github.com/iojs/io.js/issues/126 PR-URL: https://github.com/iojs/io.js/pull/129 Reviewed-By:Ben Noordhuis <info@bnoordhuis.nl>
-
cjihrig authored
PR-URL: https://github.com/joyent/node/pull/8845 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Juanjo authored
PR-URL: https://github.com/joyent/node/pull/8546 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Evan Torrie authored
The "dtrace" script version include in systemtap-sdt-devel-2.6-3 (part of Fedora 21) no longer ignores unknown command line arguments, but will instead error out and refuse to run. This patch adds a separate condition to node's gyp input so that on Linux it will run dtrace without the -xnolibs argument that trips it up on systemtap-std-devel-2.6-3. PR-URL: https://github.com/joyent/node/pull/8846 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Bert Belder authored
This merge is effectively a no-op because io.js has already cherry-picked all the patches from node it needs. The merge commit serves to establish a new merge base for future merges.
-
Bert Belder authored
PR-URL: https://github.com/iojs/io.js/pull/124 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Jackson Tian authored
Add documentation for the callback parameter of http.ClientRequest's and http.ServerResponse's write and end methods.
-
Trevor Norris authored
Call a user-defined callback at specific points in the lifetime of an asynchronous event. Which are on instantiation, just before/after the callback has been run. **If any of these callbacks throws an exception, there is no forgiveness or recovery. A message will be displayed and a core file dumped.** Currently these only tie into AsyncWrap, meaning no call to a hook callback will be made for timers or process.nextTick() events. Though those will be added in a future commit. Here are a few notes on how to make the hooks work: - The "this" of all event hook callbacks is the request object. - The zero field (kCallInitHook) of the flags object passed to setupHooks() must be set != 0 before the init callback will be called. - kCallInitHook only affects the calling of the init callback. If the request object has been run through the create callback it will always run the before/after callbacks. Regardless of kCallInitHook. - In the init callback the property "_asyncQueue" must be attached to the request object. e.g. function initHook() { this._asyncQueue = {}; } - DO NOT inspect the properties of the object in the init callback. Since the object is in the middle of being instantiated there are some cases when a getter is not complete, and doing so will cause Node to crash. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
When instantiating a new AsyncWrap allow the parent AsyncWrap to be passed. This is useful for cases like TCP incoming connections, so the connection can be tied to the server receiving the connection. Because the current architecture instantiates the *Wrap inside a v8::FunctionCallback, the parent pointer is currently wrapped inside a new v8::External every time and passed as an argument. This adds ~80ns to instantiation time. A future optimization would be to add the v8::External as the data field when creating the v8::FunctionTemplate, change the pointer just before making the call then NULL'ing it out afterwards. This adds enough code complexity that it will not be attempted until the current approach demonstrates it is a bottle neck. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
Expose basic hooks for AsyncWrap via the async_wrap binding. Right now only the PROVIDER types are exposed. This is a preliminary step before more functionality is added. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
The template class information is received via the type of the first argument. So there is no need to use Wrap<T>(handle). PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
Instead of simply creating a new v8::Object to contain the connection information, instantiate a new instance of a FunctionTemplate. This will allow future improvements for debugging and performance probes. Additionally, the "provider" argument in the ReqWrap constructor is no longer optional. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
An edge case could occur when the setImmediate() in _fatalException() would fire before the timers module had been loaded globally, causing Node to crash. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
C++ won't deoptimize like JS if specific conditional branches are sporadically met in the future. Combined with the amount of code duplication removal and simplified maintenance complexity, it makes more sense to merge MakeCallback and MakeDomainCallback. Additionally, type casting in V8 before verifying what that type is will cause V8 to abort in debug mode if that type isn't what was expected. Fix this by first checking the v8::Value before casting. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
MakeCallback is too large a function to be inlined. Likewise, only having header files will not allow for any part of AsyncWrap to be exposed cleanly via NODE_MODULE_CONTEXT_AWARE_BUILTIN(). PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
Async Listener was the name of the user-facing JS API, and is being completely removed. Instead low level hooks directly into the mechanism that AL used will be introduced in a future commit. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Bert Belder authored
That test can trigger a bug on some older Linux kernels. PR-URL: https://github.com/iojs/io.js/pull/124 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Alexis Campailla authored
Adding --flaky-tests option, to allow regarding flaky tests failures as non-fatal. Currently only observed by the TapProgressIndicator, which will add a # TODO directive to tests classified as flaky. According to the TAP specification, the test harness is supposed to treat failures that have a # TODO directive as non-fatal.
-
Carlos Campderrós authored
0644 seems to be the desired mode for new files (as it is a very weird umask), and to achieve that the correct umask would be 0022. PR-URL: https://github.com/joyent/node/pull/8039 Reviewed-by:
Trevor Norris <trev.norris@gmail.com>
-
Jonathan Johnson authored
Regarding joyent/node#8520 This changes hostname validation from a whitelist regex approach to a blacklist regex approach as described in https://url.spec.whatwg.org/#host-parsing. url.parse misinterpreted `https://good.com+.evil.org/` as `https://good.com/+.evil.org/`. If we use url.parse to check the validity of the hostname, the test passes, but in the browser the user is redirected to the evil.org website.
-
Vladimir Kurchatkin authored
PR-URL: https://github.com/joyent/node/pull/8743 Reviewed-by:
Trevor Norris <trev.norris@gmail.com>
-
Nathan Woltman authored
The normalizeArray() function now avoids using the slow Array#splice() method to improve performance and now also filters out empty path parts. Code that pre-filtered empty parts has been removed. PR-URL: https://github.com/joyent/node/pull/8724 Reviewed-by:
Trevor Norris <trev.norris@gmail.com>
-
Bert Belder authored
PR-URL: https://github.com/iojs/io.js/pull/124 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Trevor Norris authored
It was my mistake to change an assert check. This changes it back to how the assert was originally done. Fixes: c131c1f9 "modules: adding load linked modules feature" Signed-off-by:
Trevor Norris <trev.norris@gmail.com>
-
Trevor Norris authored
Float https://github.com/libuv/libuv/commit/484a3a9 to fix incorrect indentation in REPL.
-
Bert Belder authored
uv_thread_t is a HANDLE (void pointer) on Windows, which means that on 64-bit windows it cannot be stored with CRYPTO_THREADID_set_numeric without potential data loss. PR-URL: https://github.com/iojs/io.js/pull/124 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Saúl Ibarra Corretgé authored
PR-URL: https://github.com/joyent/node/pull/8785 Reviewed-by:
Trevor Norris <trev.norris@gmail.com>
-
Bert Belder authored
On Windows a long integer is always 32-bits, even when the target architecture uses 64-bit pointers. PR-URL: https://github.com/iojs/io.js/pull/124 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
- Dec 09, 2014
-
-
Tyler Kellen authored
Renamed node.js to io.js and updated links to external resources. PR-URL: https://github.com/iojs/io.js/pull/42 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
- Dec 10, 2014
-
-
Ben Noordhuis authored
This reverts commit 878cc3e5. Reverted for breaking the x86_64 Linux build: In file included from ../deps/openssl/openssl/include/openssl/bn.h:1:0, from ../deps/openssl/openssl/crypto/bn/asm/../bn_lcl.h:115, from ../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:1: ../deps/openssl/openssl/include/openssl/../../crypto/bn/bn.h:813:20: note: previous declaration of 'bn_add_words' was here BN_ULONG bn_add_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,int num); ^ ../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:210:15: error: conflicting types for 'bn_sub_words' BN_ULONG bn_sub_words (BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,int n)
-
- Dec 09, 2014
-
-
Bert Belder authored
On Windows (and potentially other LP64 platforms), a long integer is always 32-bits, even when the target architecture uses 64-bit pointers. Signed-off-by:Bert Belder <bertbelder@gmail.com>
-
Bert Belder authored
The test fixtures directory is derived from the path to the currently running script, which is itself specified on the command line. That means that the case of the fixtures dir may not match what the test expects (when executed on a case-insensitive file system). PR-URL: https://github.com/iojs/io.js/pull/116 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Bert Belder authored
-
Vincent Weevers authored
PR-URL: https://github.com/joyent/node/pull/8813 Reviewed-By:
Bert Belder <bertbelder@gmail.com>
-
Bert Belder authored
Fixes an omission in e24fa83e.
-
Nikolai Vavilov authored
This reverts commit f6e57401. Changing drive letters to lowercase violates the principle of least surprise. Other functions that do this should get fixed too. Conflicts: lib/path.js PR-URL: https://github.com/iojs/io.js/pull/100 Reviewed-By:
Bert Belder <bertbelder@gmail.com>
-