Skip to content

Commit eb2764a

Browse files
author
Julien Gilli
committed
Merge remote-tracking branch 'upstream/v0.10' into v0.12
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
2 parents 588c009 + 4332c77 commit eb2764a

6 files changed

Lines changed: 93 additions & 33 deletions

File tree

AUTHORS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ Brian Hammond
8989
Brian McKenna
9090
Brian Schroeder
9191
Brian White
92+
Bruno Jouhier
9293
Bryan Cantrill
9394
C. Scott Ananian
9495
CGavrila
@@ -401,6 +402,7 @@ Maxwell Krohn
401402
Michael Axiak
402403
Michael Bernstein
403404
Michael Carter
405+
Michael Dawson
404406
Michael Hart
405407
Michael Jackson
406408
Michael Kebe
@@ -652,6 +654,7 @@ Zarko Stankovic
652654
Zoran Tomicic
653655
ayanamist
654656
fengmk2
657+
h7lin
655658
haoxin
656659
pflannery
657660
pkcs

ChangeLog

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
2015.02.06, Version 0.12.0 (Stable)
1+
2015.02.06, Version 0.12.0 (Stable), 2b18916ff054309a07408719b62e2b6a4f1e056a
22

33
* npm: Upgrade to 2.5.1
44

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

950950

951+
2015.03.11, Version 0.10.37 (Maintenance)
952+
953+
* uv: update to 0.10.36 (CVE-2015-0278)
954+
955+
* domains: fix stack clearing after error handled (Jonas Dohse)
956+
957+
* buffer: reword Buffer.concat error message (Chris Dickinson)
958+
959+
* console: allow Object.prototype fields as labels (Julien Gilli)
960+
961+
* V8: log version in profiler log file (Ben Noordhuis)
962+
963+
* http: fix performance regression for GET requests (Florin-Cristian Gavrila)
964+
965+
951966
2015.01.26, Version 0.10.36 (Stable), 09b482886bdd3d863c3d4e7d71264eac0daaf9e1
952967

953968
* openssl: update to 1.0.1l

doc/api/fs.markdown

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ to the completion callback.
9292

9393
## fs.renameSync(oldPath, newPath)
9494

95-
Synchronous rename(2).
95+
Synchronous rename(2). Returns `undefined`.
9696

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

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

102102
## fs.ftruncateSync(fd, len)
103103

104-
Synchronous ftruncate(2).
104+
Synchronous ftruncate(2). Returns `undefined`.
105105

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

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

112112
## fs.truncateSync(path, len)
113113

114-
Synchronous truncate(2).
114+
Synchronous truncate(2). Returns `undefined`.
115115

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

@@ -120,7 +120,7 @@ to the completion callback.
120120

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

123-
Synchronous chown(2).
123+
Synchronous chown(2). Returns `undefined`.
124124

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

@@ -129,7 +129,7 @@ to the completion callback.
129129

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

132-
Synchronous fchown(2).
132+
Synchronous fchown(2). Returns `undefined`.
133133

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

@@ -138,7 +138,7 @@ to the completion callback.
138138

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

141-
Synchronous lchown(2).
141+
Synchronous lchown(2). Returns `undefined`.
142142

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

@@ -147,7 +147,7 @@ to the completion callback.
147147

148148
## fs.chmodSync(path, mode)
149149

150-
Synchronous chmod(2).
150+
Synchronous chmod(2). Returns `undefined`.
151151

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

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

157157
## fs.fchmodSync(fd, mode)
158158

159-
Synchronous fchmod(2).
159+
Synchronous fchmod(2). Returns `undefined`.
160160

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

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

168168
## fs.lchmodSync(path, mode)
169169

170-
Synchronous lchmod(2).
170+
Synchronous lchmod(2). Returns `undefined`.
171171

172172
## fs.stat(path, callback)
173173

@@ -207,7 +207,7 @@ the completion callback.
207207

208208
## fs.linkSync(srcpath, dstpath)
209209

210-
Synchronous link(2).
210+
Synchronous link(2). Returns `undefined`.
211211

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

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

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

223-
Synchronous symlink(2).
223+
Synchronous symlink(2). Returns `undefined`.
224224

225225
## fs.readlink(path, callback)
226226

@@ -257,7 +257,7 @@ to the completion callback.
257257

258258
## fs.unlinkSync(path)
259259

260-
Synchronous unlink(2).
260+
Synchronous unlink(2). Returns `undefined`.
261261

262262
## fs.rmdir(path, callback)
263263

@@ -266,7 +266,7 @@ to the completion callback.
266266

267267
## fs.rmdirSync(path)
268268

269-
Synchronous rmdir(2).
269+
Synchronous rmdir(2). Returns `undefined`.
270270

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

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

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

278-
Synchronous mkdir(2).
278+
Synchronous mkdir(2). Returns `undefined`.
279279

280280
## fs.readdir(path, callback)
281281

@@ -295,7 +295,7 @@ to the completion callback.
295295

296296
## fs.closeSync(fd)
297297

298-
Synchronous close(2).
298+
Synchronous close(2). Returns `undefined`.
299299

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

@@ -356,27 +356,35 @@ the end of the file.
356356

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

359-
Synchronous version of `fs.open()`.
359+
Synchronous version of `fs.open()`. Returns an integer representing the file
360+
descriptor.
360361

361362
## fs.utimes(path, atime, mtime, callback)
362-
## fs.utimesSync(path, atime, mtime)
363363

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

366+
## fs.utimesSync(path, atime, mtime)
367+
368+
Synchronous version of `fs.utimes()`. Returns `undefined`.
369+
370+
366371
## fs.futimes(fd, atime, mtime, callback)
367-
## fs.futimesSync(fd, atime, mtime)
368372

369373
Change the file timestamps of a file referenced by the supplied file
370374
descriptor.
371375

376+
## fs.futimesSync(fd, atime, mtime)
377+
378+
Synchronous version of `fs.futimes()`. Returns `undefined`.
379+
372380
## fs.fsync(fd, callback)
373381

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

377385
## fs.fsyncSync(fd)
378386

379-
Synchronous fsync(2).
387+
Synchronous fsync(2). Returns `undefined`.
380388

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

@@ -506,7 +514,7 @@ Example:
506514

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

509-
The synchronous version of `fs.writeFile`.
517+
The synchronous version of `fs.writeFile`. Returns `undefined`.
510518

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

@@ -530,7 +538,7 @@ Example:
530538

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

533-
The synchronous version of `fs.appendFile`.
541+
The synchronous version of `fs.appendFile`. Returns `undefined`.
534542

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

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

662670
## fs.existsSync(path)
663671

664-
Synchronous version of `fs.exists`.
672+
Synchronous version of `fs.exists()`. Returns `true` if the file exists,
673+
`false` otherwise.
665674

666675
`fs.existsSync()` will be deprecated.
667676

lib/url.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -639,8 +639,8 @@ Url.prototype.resolveObject = function(relative) {
639639
// then it must NOT get a trailing slash.
640640
var last = srcPath.slice(-1)[0];
641641
var hasTrailingSlash = (
642-
(result.host || relative.host || srcPath.length > 1) &&
643-
(last === '.' || last === '..') || last === '');
642+
(result.host || relative.host) && (last === '.' || last === '..') ||
643+
last === '');
644644

645645
// strip single dots, resolve double dots to parent dir
646646
// if the path tries to go above the root, `up` ends up > 0
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Copyright Joyent, Inc. and other Node contributors.
2+
//
3+
// Permission is hereby granted, free of charge, to any person obtaining a
4+
// copy of this software and associated documentation files (the
5+
// "Software"), to deal in the Software without restriction, including
6+
// without limitation the rights to use, copy, modify, merge, publish,
7+
// distribute, sublicense, and/or sell copies of the Software, and to permit
8+
// persons to whom the Software is furnished to do so, subject to the
9+
// following conditions:
10+
//
11+
// The above copyright notice and this permission notice shall be included
12+
// in all copies or substantial portions of the Software.
13+
//
14+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15+
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
17+
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18+
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19+
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20+
// USE OR OTHER DEALINGS IN THE SOFTWARE.
21+
22+
var assert = require('assert');
23+
var domain = require('domain');
24+
25+
/*
26+
* Make sure that the domains stack is cleared after a top-level domain
27+
* error handler exited gracefully.
28+
*/
29+
var d = domain.create();
30+
31+
d.on('error', function() {
32+
process.nextTick(function() {
33+
if (domain._stack.length !== 1) {
34+
process.exit(1);
35+
}
36+
});
37+
});
38+
39+
d.run(function() {
40+
throw new Error('Error from domain');
41+
});

test/simple/test-url.js

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1178,14 +1178,6 @@ var relativeTests = [
11781178
['/foo/bar/baz/', 'quux/baz', '/foo/bar/baz/quux/baz'],
11791179
['/foo/bar/baz', '../../../../../../../../quux/baz', '/quux/baz'],
11801180
['/foo/bar/baz', '../../../../../../../quux/baz', '/quux/baz'],
1181-
['/foo', '.', '/'],
1182-
['/foo', '..', '/'],
1183-
['/foo/', '.', '/foo/'],
1184-
['/foo/', '..', '/'],
1185-
['/foo/bar', '.', '/foo/'],
1186-
['/foo/bar', '..', '/'],
1187-
['/foo/bar/', '.', '/foo/bar/'],
1188-
['/foo/bar/', '..', '/foo/'],
11891181
['foo/bar', '../../../baz', '../../baz'],
11901182
['foo/bar/', '../../../baz', '../baz'],
11911183
['http://example.com/b//c//d;p?q#blarg', 'https:#hash2', 'https:///#hash2'],

0 commit comments

Comments
 (0)