Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/v0.10' into v0.12
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Julien Gilli committed Mar 16, 2015
2 parents 588c009 + 4332c77 commit eb2764a
Show file tree
Hide file tree
Showing 6 changed files with 93 additions and 33 deletions.
3 changes: 3 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ Brian Hammond
Brian McKenna
Brian Schroeder
Brian White
Bruno Jouhier
Bryan Cantrill
C. Scott Ananian
CGavrila
Expand Down Expand Up @@ -401,6 +402,7 @@ Maxwell Krohn
Michael Axiak
Michael Bernstein
Michael Carter
Michael Dawson
Michael Hart
Michael Jackson
Michael Kebe
Expand Down Expand Up @@ -652,6 +654,7 @@ Zarko Stankovic
Zoran Tomicic
ayanamist
fengmk2
h7lin
haoxin
pflannery
pkcs
Expand Down
17 changes: 16 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
2015.02.06, Version 0.12.0 (Stable)
2015.02.06, Version 0.12.0 (Stable), 2b18916ff054309a07408719b62e2b6a4f1e056a

* npm: Upgrade to 2.5.1

Expand Down Expand Up @@ -948,6 +948,21 @@
* console: `console.dir()` bypasses inspect() methods (Nathan Rajlich)


2015.03.11, Version 0.10.37 (Maintenance)

* 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)


2015.01.26, Version 0.10.36 (Stable), 09b482886bdd3d863c3d4e7d71264eac0daaf9e1

* openssl: update to 1.0.1l
Expand Down
53 changes: 31 additions & 22 deletions doc/api/fs.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ to the completion callback.

## fs.renameSync(oldPath, newPath)

Synchronous rename(2).
Synchronous rename(2). Returns `undefined`.

## fs.ftruncate(fd, len, callback)

Expand All @@ -101,7 +101,7 @@ given to the completion callback.

## fs.ftruncateSync(fd, len)

Synchronous ftruncate(2).
Synchronous ftruncate(2). Returns `undefined`.

## fs.truncate(path, len, callback)

Expand All @@ -111,7 +111,7 @@ first argument. In this case, `fs.ftruncate()` is called.

## fs.truncateSync(path, len)

Synchronous truncate(2).
Synchronous truncate(2). Returns `undefined`.

## fs.chown(path, uid, gid, callback)

Expand All @@ -120,7 +120,7 @@ to the completion callback.

## fs.chownSync(path, uid, gid)

Synchronous chown(2).
Synchronous chown(2). Returns `undefined`.

## fs.fchown(fd, uid, gid, callback)

Expand All @@ -129,7 +129,7 @@ to the completion callback.

## fs.fchownSync(fd, uid, gid)

Synchronous fchown(2).
Synchronous fchown(2). Returns `undefined`.

## fs.lchown(path, uid, gid, callback)

Expand All @@ -138,7 +138,7 @@ to the completion callback.

## fs.lchownSync(path, uid, gid)

Synchronous lchown(2).
Synchronous lchown(2). Returns `undefined`.

## fs.chmod(path, mode, callback)

Expand All @@ -147,7 +147,7 @@ to the completion callback.

## fs.chmodSync(path, mode)

Synchronous chmod(2).
Synchronous chmod(2). Returns `undefined`.

## fs.fchmod(fd, mode, callback)

Expand All @@ -156,7 +156,7 @@ are given to the completion callback.

## fs.fchmodSync(fd, mode)

Synchronous fchmod(2).
Synchronous fchmod(2). Returns `undefined`.

## fs.lchmod(path, mode, callback)

Expand All @@ -167,7 +167,7 @@ Only available on Mac OS X.

## fs.lchmodSync(path, mode)

Synchronous lchmod(2).
Synchronous lchmod(2). Returns `undefined`.

## fs.stat(path, callback)

Expand Down Expand Up @@ -207,7 +207,7 @@ the completion callback.

## fs.linkSync(srcpath, dstpath)

Synchronous link(2).
Synchronous link(2). Returns `undefined`.

## fs.symlink(srcpath, dstpath[, type], callback)

Expand All @@ -220,7 +220,7 @@ Note that Windows junction points require the destination path to be absolute.

## fs.symlinkSync(srcpath, dstpath[, type])

Synchronous symlink(2).
Synchronous symlink(2). Returns `undefined`.

## fs.readlink(path, callback)

Expand Down Expand Up @@ -257,7 +257,7 @@ to the completion callback.

## fs.unlinkSync(path)

Synchronous unlink(2).
Synchronous unlink(2). Returns `undefined`.

## fs.rmdir(path, callback)

Expand All @@ -266,7 +266,7 @@ to the completion callback.

## fs.rmdirSync(path)

Synchronous rmdir(2).
Synchronous rmdir(2). Returns `undefined`.

## fs.mkdir(path[, mode], callback)

Expand All @@ -275,7 +275,7 @@ to the completion callback. `mode` defaults to `0777`.

## fs.mkdirSync(path[, mode])

Synchronous mkdir(2).
Synchronous mkdir(2). Returns `undefined`.

## fs.readdir(path, callback)

Expand All @@ -295,7 +295,7 @@ to the completion callback.

## fs.closeSync(fd)

Synchronous close(2).
Synchronous close(2). Returns `undefined`.

## fs.open(path, flags[, mode], callback)

Expand Down Expand Up @@ -356,27 +356,35 @@ the end of the file.

## fs.openSync(path, flags[, mode])

Synchronous version of `fs.open()`.
Synchronous version of `fs.open()`. Returns an integer representing the file
descriptor.

## fs.utimes(path, atime, mtime, callback)
## fs.utimesSync(path, atime, mtime)

Change file timestamps of the file referenced by the supplied path.

## fs.utimesSync(path, atime, mtime)

Synchronous version of `fs.utimes()`. Returns `undefined`.


## fs.futimes(fd, atime, mtime, callback)
## fs.futimesSync(fd, atime, mtime)

Change the file timestamps of a file referenced by the supplied file
descriptor.

## fs.futimesSync(fd, atime, mtime)

Synchronous version of `fs.futimes()`. Returns `undefined`.

## fs.fsync(fd, callback)

Asynchronous fsync(2). No arguments other than a possible exception are given
to the completion callback.

## fs.fsyncSync(fd)

Synchronous fsync(2).
Synchronous fsync(2). Returns `undefined`.

## fs.write(fd, buffer, offset, length[, position], callback)

Expand Down Expand Up @@ -506,7 +514,7 @@ Example:

## fs.writeFileSync(filename, data[, options])

The synchronous version of `fs.writeFile`.
The synchronous version of `fs.writeFile`. Returns `undefined`.

## fs.appendFile(filename, data[, options], callback)

Expand All @@ -530,7 +538,7 @@ Example:

## fs.appendFileSync(filename, data[, options])

The synchronous version of `fs.appendFile`.
The synchronous version of `fs.appendFile`. Returns `undefined`.

## fs.watchFile(filename[, options], listener)

Expand Down Expand Up @@ -661,7 +669,8 @@ and handle the error when it's not there.

## fs.existsSync(path)

Synchronous version of `fs.exists`.
Synchronous version of `fs.exists()`. Returns `true` if the file exists,
`false` otherwise.

`fs.existsSync()` will be deprecated.

Expand Down
4 changes: 2 additions & 2 deletions lib/url.js
Original file line number Diff line number Diff line change
Expand Up @@ -639,8 +639,8 @@ Url.prototype.resolveObject = function(relative) {
// then it must NOT get a trailing slash.
var last = srcPath.slice(-1)[0];
var hasTrailingSlash = (
(result.host || relative.host || srcPath.length > 1) &&
(last === '.' || last === '..') || last === '');
(result.host || relative.host) && (last === '.' || last === '..') ||
last === '');

// strip single dots, resolve double dots to parent dir
// if the path tries to go above the root, `up` ends up > 0
Expand Down
41 changes: 41 additions & 0 deletions test/simple/test-domain-top-level-error-handler-clears-stack.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to permit
// persons to whom the Software is furnished to do so, subject to the
// following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.

var assert = require('assert');
var domain = require('domain');

/*
* Make sure that the domains stack is cleared after a top-level domain
* error handler exited gracefully.
*/
var d = domain.create();

d.on('error', function() {
process.nextTick(function() {
if (domain._stack.length !== 1) {
process.exit(1);
}
});
});

d.run(function() {
throw new Error('Error from domain');
});
8 changes: 0 additions & 8 deletions test/simple/test-url.js
Original file line number Diff line number Diff line change
Expand Up @@ -1178,14 +1178,6 @@ var relativeTests = [
['/foo/bar/baz/', 'quux/baz', '/foo/bar/baz/quux/baz'],
['/foo/bar/baz', '../../../../../../../../quux/baz', '/quux/baz'],
['/foo/bar/baz', '../../../../../../../quux/baz', '/quux/baz'],
['/foo', '.', '/'],
['/foo', '..', '/'],
['/foo/', '.', '/foo/'],
['/foo/', '..', '/'],
['/foo/bar', '.', '/foo/'],
['/foo/bar', '..', '/'],
['/foo/bar/', '.', '/foo/bar/'],
['/foo/bar/', '..', '/foo/'],
['foo/bar', '../../../baz', '../../baz'],
['foo/bar/', '../../../baz', '../baz'],
['http://example.com/b//c//d;p?q#blarg', 'https:#hash2', 'https:///#hash2'],
Expand Down

0 comments on commit eb2764a

Please sign in to comment.