- Mar 20, 2015
-
-
Ole André Vadla Ravnås authored
Original commit message: darwin: fix size calculation in select() fallback Apple's `fd_set` stores its bits in an array of 32-bit integers, which means `FD_ISSET()` may read out of bounds if we allocate storage at byte granularity. There's also a chance that the `select()` call could corrupt the heap, although I didn't investigate that. This issue was discovered by LLVM's AddressSanitizer which caught `FD_ISSET()` trying to read out of bounds. Ref: https://github.com/libuv/libuv/pull/241 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com> PR-URL: https://github.com/joyent/node/pull/9179
-
Julien Gilli authored
Float patch to fix setsockopt for multicast on Solaris and derivatives. Original commit message: solaris: fix setsockopt for multicast options On Solaris and derivatives such as SmartOS, the length of socket options for multicast and ttl options is not always sizeof(char). This fixes the udp_options and udp_options6 tests. Ref: https://github.com/libuv/libuv/pull/243 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com> PR-URL: https://github.com/joyent/node/pull/9179
-
Alexis Campailla authored
Float patch to fix pipe on Windows. Original commit message: win: fix pipe blocking writes In the code path for pipe blocking writes, WriteFile is already posting a completion packet to the I/O completion port. POST_COMPLETION_FOR_REQ was causing the same request to get returned twice by GetCompletionStatusEx. Also on the same code path, we were waiting on the wrong event. We need to update queued_bytes and write_queue_size when a blocking write request completes asynchronously. Ref: https://github.com/libuv/libuv/pull/238 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com> PR-URL: https://github.com/joyent/node/pull/9179
-
Ben Noordhuis authored
process.send() should be synchronous, it should block until the message has been sent in full, but it wasn't after the second-to-last libuv upgrade because of commit libuv/libuv@393c1c5 ("unix: set non-block mode in uv_{pipe,tcp,udp}_open"), which made its way into io.js in commit 07bd05ba ("deps: update libuv to 1.2.1"). Commit libuv/libuv@b36d4ff ("unix: implement uv_stream_set_blocking()") as landed in io.js in commit 9681fcac ("deps: update libuv to 1.4.0") makes it possible to restore the synchronous behavior again and that's precisely what this commit does. The same line of reasoning applies to `net.Socket({ fd: 1 })`: creating a socket object from a stdio file descriptor, like the `process.stdout` getter does, should put the file descriptor in blocking mode for compatibility reasons. Reviewed-By:Julien Gilli <julien.gilli@joyent.com> PR-URL: https://github.com/joyent/node/pull/9179
-
Trevor Norris authored
The -fno-strict-aliasing flag was added to fix compilation warnings when building Node.js with GCC <= 4.4 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com> PR-URL: https://github.com/joyent/node/pull/9179
-
Trevor Norris authored
Reviewed-By:
Julien Gilli <julien.gilli@joyent.com> PR-URL: https://github.com/joyent/node/pull/9179
-
- Mar 17, 2015
-
-
Julien Gilli authored
Conflicts: AUTHORS ChangeLog deps/uv/ChangeLog deps/uv/build.mk deps/uv/config-unix.mk deps/uv/include/uv-private/uv-win.h deps/uv/src/unix/async.c deps/uv/src/unix/process.c deps/uv/src/version.c deps/uv/src/win/poll.c deps/uv/test/test-list.h deps/uv/uv.gyp lib/http.js src/node.js src/node_version.h
-
- Mar 14, 2015
-
-
Julien Gilli authored
Reviewed-By:
Fedor Indutny <fedor@indutny.com> PR-URL: https://github.com/joyent/node/pull/8741
-
- Mar 13, 2015
-
-
Alexis Campailla authored
test-fs-watch is flaky on OSX.
-
- Mar 12, 2015
-
-
Julien Gilli authored
-
Julien Gilli authored
-
Julien Gilli authored
* uv: update to 0.10.36 (CVE-2015-0278) * domains: fix stack clearing after error handled (Jonas Dohse) * buffer: reword Buffer.concat error message (Chris Dickinson) * console: allow Object.prototype fields as labels (Julien Gilli) * V8: log version in profiler log file (Ben Noordhuis) * http: fix performance regression for GET requests (Florin-Cristian Gavrila)
-
Julien Gilli authored
Make PACKAGEMAKER customizable because PackageMaker is not necessarily installed in /Developer on OSX anymore. PR: #9377 PR-URL: https://github.com/joyent/node/pull/9377 Reviewed-By:
Timothy J Fontaine <tjfontaine@gmail.com>
-
Fedor Indutny authored
When slicing global pool - ensure that the underlying buffer's data ptr is 8-byte alignment to do not ruin expectations of 3rd party C++ addons. NOTE: 0.10 node.js always returned aligned pointers and v0.12 should do this too for compatibility. PR-URL: https://github.com/joyent/node/pull/9375 Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
- Mar 11, 2015
-
-
Jonas Dohse authored
caeb6773 introduced a regression where the domains stack would not be cleared after an error had been handled by the top-level domain. This change clears the domains stack regardless of the position of the active domain in the stack. PR: #9364 PR-URL: https://github.com/joyent/node/pull/9364 Reviewed-By:
Trevor Norris <trev.norris@gmail.com> Reviewed-By:
Julien Gilli <julien.gilli@joyent.com>
-
Tyler Anton authored
Clarify that synchronous functions in fs with no return value return undefined. Specify that fs.openSync() returns an integer and fs.existsSync() returns true or false. Fixes #9313 PR: #9359 PR-URL: https://github.com/joyent/node/pull/9359 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com>
-
- Mar 07, 2015
-
-
Forrest L Norvell authored
PR: #9347 PR-URL: https://github.com/joyent/node/pull/9347 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com>
-
Julien Gilli authored
This reverts commit ad068480. Initially, this bug fix targeted master, and I pushed to have it included in v0.10. In retrospect, I'm not sure it should have made into v0.10 as it seems it could break a lot of existing working code. In my opinion, this change is still a bug fix, and it is not backward incompatible per se. However, I'm not sure that taking the risk to break a lot of users with a new 0.10.x release that would include this fix is reasonable, especially now that 0.10.x releases are entering maintenance mode. PR-URL: https://github.com/joyent/node/pull/9257 Reviewed-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Saúl Ibarra Corretgé authored
PR: #9274 PR-URL: https://github.com/joyent/node/pull/9274 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com>
-
- Mar 06, 2015
-
-
Florin-Cristian Gavrila authored
A significant performance regressions has been introduced in 1fddc1fe for GET requests which send data through response.end(). The number of requests per second dropped to somewhere around 6% of their previous level. The fix consists of removing a part of the lines added by 1fddc1fe, lines which were supposed to affect only HEAD requests, but interfered with GET requests instead. The lines removed would not have affected the behaviour in the case of a HEAD request as this._hasBody would always be false. Therefore, they were not required to fix the issue reported in #8361. Fixes #8940. PR: #9026 PR-URL: https://github.com/joyent/node/pull/9026 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com>
-
- Mar 05, 2015
-
-
cjihrig authored
The added validation allows non-negative numbers and numeric strings. All other values result in a thrown exception. Fixes: https://github.com/joyent/node/issues/9194 PR-URL: https://github.com/joyent/node/pull/9268 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com> Reviewed-By:
Trevor Norris <trev.norris@gmail.com> Reviewed-By:
James M Snell <jasnell@users.noreply.github.com>
-
Julien Gilli authored
Conflicts: lib/buffer.js
-
Chris Dickinson authored
this brings the error messaging in line with other node TypeError messages. fixes joyent/node#7766. PR: #8723 PR-URL: https://github.com/joyent/node/pull/8723 Reviewed-By:
James M Snell <jasnell@users.noreply.github.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- Mar 04, 2015
-
-
Forrest L Norvell authored
PR: #9297 PR-URL: https://github.com/joyent/node/pull/9297 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com> Reviewed-By:
Trevor Norris <trev.norris@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Julien Gilli authored
This test setups two event listeners: one on a child process' exit event , another for the same child process' stdandard output's 'data' event. The data even listener writes to a stream, and the exit event listener ends it. Because the exit event can be emitted before the data event, there is a chance that something will be written to the stream after it's ended, and that an error is thrown. This change makes the test end the stream in the listener for the child process' standard output's end event, which is guaranteed to be emitted after the last data event, thus avoiding the race. PR: #9301 PR-URL: https://github.com/joyent/node/pull/9301 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By:
James M Snell <jasnell@users.noreply.github.com> Reviewed-By:
Bert Belder <bertbelder@gmail.com>
-
- Feb 28, 2015
-
-
Julien Gilli authored
Conflicts: lib/console.js test/simple/test-console.js
-
Julien Gilli authored
Currently, lib/_tls_legacy.js and lib/crypto.js cannot be loaded when --use-strict is passed to node. In addition to that, console.trace throws because it uses arguments.callee. This change fixes these issues and adds a test that makes sure every external built-in module can be loaded with require when --use-strict is enabled. Please note that this change does not fix all issues with built-in modules' code running with --use-strict. It is very likely that some code in the built-in modules still fails when passing this flag. However, fixing all code would require us to enable strict mode by default in all builtins modules, which would certainly break existing applications. Fixes #9187. PR: #9237 PR-URL: https://github.com/joyent/node/pull/9237 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
Michael Dawson authored
test/simple/test-http-destroyed-socket-write2.js validates that you get an appropriate error when trying to write to a request when the response on the other side has been destroyed. The test uses http.request to get a request and then keeps writing to it until either it hits 128 writes or gets the expected error. Since the writes are asynchronous we see that the writes just end up adding events to the event loop, which then later get processed once the connection supporting the request is fully ready. The test is timing dependent and if takes too long for the connection to be made the limit of 128 writes is exceeded and the test fails. The fact that the test allows a number of writes is probably to allow some delay for the connection to be ready for writing. On AIX, in the default configuration using the loopback interface is slower and the test fails because the delay is such that many more writes can be queued up before the connection takes place. If we use the host ip instead of defaulting to the loopback then the test passes. The test needs to be made more robust to delays. Since each write simply enqueues an additional write to the event queue there is probably no point in doing the second write until the first has completed. This patch schedules the next write when the first one completes and allows the test to pass even if it takes longer for the connection to be ready for writing PR-URL: https://github.com/joyent/node/pull/9270 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Timothy J Fontaine <tjfontaine@gmail.com>
-
- Feb 26, 2015
-
-
Robert Kowalski authored
- add an article: `decode a non-utf8 string` - explain default and fallback behaviour of `querystring.unescape` PR-URL: https://github.com/joyent/node/pull/9259 Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
h7lin authored
In the documentation for querystring.parse, the documentation mentions that the default value for options.decodeURIComponent is the decodeURIComponent function, but it's actually the querystring.unescape function. PR-URL: https://github.com/joyent/node/pull/9259 Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
- Feb 25, 2015
-
-
Robert Kowalski authored
closes joyent/node-website#77 PR: #9172 PR-URL: https://github.com/joyent/node/pull/9172 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com>
-
- Feb 21, 2015
-
-
Andrei Sedoi authored
Original commit message: Fix --max_old_space_size=4096 integer overflow. BUG=v8:3857 LOG=N Review URL: https://codereview.chromium.org/897543002 Cr-Commit-Position: refs/heads/master@{#26510} PR-URL: https://github.com/joyent/node/pull/9200 Reviewed-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
node::Environment isn't accessible to user APIs, so extend smalloc to also accept v8::Isolate. Fixes: 75adde07 "src: remove `node_isolate` from source" PR-URL: https://github.com/iojs/io.js/pull/905 Reviewed-by:
Fedor Indutny <fedor@indutny.com>
-
- Feb 20, 2015
-
-
Fedor Indutny authored
`TLSSocket` wraps the original `net.Socket`, but writes/reads to/from `TLSSocket` do not touch the timers of original `net.Socket`. Introduce `socket._parent` property, and iterate through all parents to unref timers and prevent timeout event on original `net.Socket`. Fix: https://github.com/joyent/node/issues/9242 PR-URL: https://github.com/iojs/io.js/pull/891 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- Feb 18, 2015
-
-
Julien Gilli authored
This is a backport of 6c3647c3 from v0.12 to v0.10. Console.prototype.timeEnd() returns NaN if the timer label corresponds to a property on Object.prototype. In v0.12, this was fixed by using Object.create(null) to construct the _times object However, the version of V8 in the v0.10 branch makes this fix not work as expected. In v0.10, this commit changes the _times object into a array of objects of the form: { label: someLabel, time: staringWallClockTime } someLabel can thus be any string, including any string that represents any Object.prototype field. Fixes #9116. PR: #9215 PR-URL: https://github.com/joyent/node/pull/9215 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Bruno Jouhier authored
Currently, fs.truncate() silently fails when a file descriptor is passed as the first argument. This commit changes this behavior to properly call fs.ftruncate(). PR-URL: https://github.com/joyent/node/pull/9161 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Timothy J Fontaine <tjfontaine@gmail.com>
-
- Feb 17, 2015
-
-
Julien Gilli authored
-
Julien Gilli authored
The commit in v0.10 (431eb172) that backported the original change (https://codereview.chromium.org/806143002) did add an extra newline because the logging facilities in v0.10's V8 do not add one. When merging this commit in v0.12, V8's logging facilities now automatically add the newline character, and the debug builds assert if one is already present.
-
Julien Gilli authored
431eb172 had integrated the addition of V8's version in V8's profiler log files, without backporting the test that was included in the original change (https://codereview.chromium.org/806143002). This commit backports this test. The newly added test was tested with https://github.com/joyent/node/pull/9208.
-
Julien Gilli authored
Conflicts: deps/v8/src/log-utils.cc
-