Merge remote-tracking branch 'upstream/v0.10'

Conflicts:
	AUTHORS
	ChangeLog
	configure
	deps/uv/ChangeLog
	deps/uv/src/version.c
	lib/tls.js
	src/node_version.h
This commit is contained in:
Timothy J Fontaine 2013-09-24 16:49:01 -07:00
Родитель 25dce6d62d cfa03ad2e3
Коммит 42af62f33a
11 изменённых файлов: 131 добавлений и 17 удалений

Просмотреть файл

@ -484,3 +484,4 @@ James Halliday <mail@substack.net>
Matthew Aynalem <maynalem@gmail.com>
Vsevolod Strukchinsky <floatdrop@yandex-team.ru>
Jay Beavers <jay@hikinghomeschoolers.org>
Eric Schrock <Eric.Schrock@delphix.com>

Просмотреть файл

@ -310,6 +310,23 @@
* console: `console.dir()` bypasses inspect() methods (Nathan Rajlich)
2013.09.24, Version 0.10.19 (Stable), 6b5e6a5a3ec8d994c9aab3b800b9edbf1b287904
* uv: Upgrade to v0.10.17
* npm: upgrade to 1.3.11
* readline: handle input starting with control chars (Eric Schrock)
* configure: add mips-float-abi (soft, hard) option (Andrei Sedoi)
* stream: objectMode transforms allow falsey values (isaacs)
* tls: prevent duplicate values returned from read (Nathan Rajlich)
* tls: NPN protocols are now local to connections (Fedor Indutny)
2013.09.04, Version 0.10.18 (Stable), 67a1f0c52e0708e2596f3f2134b8386d6112561e
* uv: Upgrade to v0.10.15

Просмотреть файл

@ -55,7 +55,7 @@ Resources for Newcomers
---
- [The Wiki](https://github.com/joyent/node/wiki)
- [nodejs.org](http://nodejs.org/)
- [how to install node.js and npm (node package manager)](http://joyeur.com/2010/12/10/installing-node-and-npm/)
- [how to install node.js and npm (node package manager)](http://www.joyent.com/blog/installing-node-and-npm/)
- [list of modules](https://github.com/joyent/node/wiki/modules)
- [searching the npm registry](http://npmjs.org/)
- [list of companies and projects using node](https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node)

Просмотреть файл

@ -104,10 +104,10 @@ You have been warned.
## Signal Events
<!--type=event-->
<!--name=SIGINT, SIGUSR1, etc.-->
<!--name=SIGINT, SIGHUP, etc.-->
Emitted when the processes receives a signal. See sigaction(2) for a list of
standard POSIX signal names such as SIGINT, SIGUSR1, etc.
standard POSIX signal names such as SIGINT, SIGHUP, etc.
Example of listening for `SIGINT`:
@ -121,6 +121,8 @@ Example of listening for `SIGINT`:
An easy way to send the `SIGINT` signal is with `Control-C` in most terminal
programs.
Note: SIGUSR1 is reserved by node.js to kickstart the debugger. It's possible
to install a listener but that won't stop the debugger from starting.
## process.stdout
@ -452,7 +454,7 @@ An example of the possible output looks like:
Send a signal to a process. `pid` is the process id and `signal` is the
string describing the signal to send. Signal names are strings like
'SIGINT' or 'SIGUSR1'. If omitted, the signal will be 'SIGTERM'.
'SIGINT' or 'SIGHUP'. If omitted, the signal will be 'SIGTERM'.
See kill(2) for more information.
Note that just because the name of this function is `process.kill`, it is
@ -472,6 +474,8 @@ Example of sending a signal to yourself:
process.kill(process.pid, 'SIGHUP');
Note: SIGUSR1 is reserved by node.js. It can be used to kickstart the
debugger.
## process.pid

Просмотреть файл

@ -104,9 +104,9 @@ automatically set as a listener for the [secureConnection][] event. The
- `cert`: A string or `Buffer` containing the certificate key of the server in
PEM format. (Required)
- `ca`: An array of strings or `Buffer`s of trusted certificates. If this is
omitted several well known "root" CAs will be used, like VeriSign.
These are used to authorize connections.
- `ca`: An array of strings or `Buffer`s of trusted certificates in PEM
format. If this is omitted several well known "root" CAs will be used,
like VeriSign. These are used to authorize connections.
- `crl` : Either a string or list of strings of PEM encoded CRLs (Certificate
Revocation List)
@ -258,16 +258,16 @@ Creates a new client connection to the given `port` and `host` (old API) or
- `cert`: A string or `Buffer` containing the certificate key of the client in
PEM format.
- `ca`: An array of strings or `Buffer`s of trusted certificates. If this is
omitted several well known "root" CAs will be used, like VeriSign.
These are used to authorize connections.
- `ca`: An array of strings or `Buffer`s of trusted certificates in PEM
format. If this is omitted several well known "root" CAs will be used,
like VeriSign. These are used to authorize connections.
- `rejectUnauthorized`: If `true`, the server certificate is verified against
the list of supplied CAs. An `'error'` event is emitted if verification
fails. Default: `true`.
- `NPNProtocols`: An array of string or `Buffer` containing supported NPN
protocols. `Buffer` should have following format: `0x05hello0x05world`,
- `NPNProtocols`: An array of strings or `Buffer`s containing supported NPN
protocols. `Buffer`s should have following format: `0x05hello0x05world`,
where first byte is next protocol name's length. (Passing array should
usually be much simpler: `['hello', 'world']`.)

Просмотреть файл

@ -13,4 +13,4 @@ It has also been suggested that Node does not take advantage of multicore machin
Node has a clear purpose: provide an easy way to build scalable network programs. It is not a tool for every problem. Do not write a ray tracer with Node. Do not write a web browser with Node. Do however reach for Node if tasked with writing a DNS server, DHCP server, or even a video encoding server.
By relying on the kernel to schedule and preempt computationally expensive tasks and to load balance incoming connections, Node appears less magical than server platforms that employ userland scheduling. So far, our focus on simplicity and transparency has paid off: <a href="http://joyeur.com/2011/08/11/node-js-meetup-distributed-web-architectures/">the</a> <a href="http://venturebeat.com/2011/08/16/linkedin-node/">number</a> <a href="http://corp.klout.com/blog/2011/10/the-tech-behind-klout-com/">of</a> <a href="http://www.joelonsoftware.com/items/2011/09/13.html">success</a> <a href="http://pow.cx/">stories</a> from developers and corporations who are adopting the technology continues to grow.
By relying on the kernel to schedule and preempt computationally expensive tasks and to load balance incoming connections, Node appears less magical than server platforms that employ userland scheduling. So far, our focus on simplicity and transparency has paid off: <a href="http://www.joyent.com/blog/node-js-meetup-distributed-web-architectures/">the</a> <a href="http://venturebeat.com/2011/08/16/linkedin-node/">number</a> <a href="http://corp.klout.com/blog/2011/10/the-tech-behind-klout-com/">of</a> <a href="http://www.joelonsoftware.com/items/2011/09/13.html">success</a> <a href="http://pow.cx/">stories</a> from developers and corporations who are adopting the technology continues to grow.

Просмотреть файл

@ -7,4 +7,4 @@ slug: the-videos-from-node-meetup
Uber, Voxer, and Joyent described how they use Node in production
<a href="http://joyeur.com/2011/08/11/node-js-meetup-distributed-web-architectures/">http://joyeur.com/2011/08/11/node-js-meetup-distributed-web-architectures/</a>
<a href="http://www.joyent.com/blog/node-js-meetup-distributed-web-architectures/">http://www.joyent.com/blog/node-js-meetup-distributed-web-architectures/</a>

Просмотреть файл

@ -0,0 +1,70 @@
date: Tue Sep 24 15:09:23 PDT 2013
version: 0.10.19
category: release
title: Node v0.10.19 (Stable)
slug: node-v0-10-19-stable
2013.09.24, Version 0.10.19 (Stable)
* uv: Upgrade to v0.10.17
* npm: upgrade to 1.3.11
* readline: handle input starting with control chars (Eric Schrock)
* configure: add mips-float-abi (soft, hard) option (Andrei Sedoi)
* stream: objectMode transforms allow falsey values (isaacs)
* tls: prevent duplicate values returned from read (Nathan Rajlich)
* tls: NPN protocols are now local to connections (Fedor Indutny)
Source Code: http://nodejs.org/dist/v0.10.19/node-v0.10.19.tar.gz
Macintosh Installer (Universal): http://nodejs.org/dist/v0.10.19/node-v0.10.19.pkg
Windows Installer: http://nodejs.org/dist/v0.10.19/node-v0.10.19-x86.msi
Windows x64 Installer: http://nodejs.org/dist/v0.10.19/x64/node-v0.10.19-x64.msi
Windows x64 Files: http://nodejs.org/dist/v0.10.19/x64/
Linux 32-bit Binary: http://nodejs.org/dist/v0.10.19/node-v0.10.19-linux-x86.tar.gz
Linux 64-bit Binary: http://nodejs.org/dist/v0.10.19/node-v0.10.19-linux-x64.tar.gz
Solaris 32-bit Binary: http://nodejs.org/dist/v0.10.19/node-v0.10.19-sunos-x86.tar.gz
Solaris 64-bit Binary: http://nodejs.org/dist/v0.10.19/node-v0.10.19-sunos-x64.tar.gz
Other release files: http://nodejs.org/dist/v0.10.19/
Website: http://nodejs.org/docs/v0.10.19/
Documentation: http://nodejs.org/docs/v0.10.19/api/
Shasums:
```
74f1db96742fcc0128d1c14d3cb808ef5c847749 node-v0.10.19-darwin-x64.tar.gz
71ef9bd63d3926a2b78a43a5d077838c43e7e2ea node-v0.10.19-darwin-x86.tar.gz
ebc6dc67276f7461dbd45496924b36949c75e7e0 node-v0.10.19-linux-x64.tar.gz
226b507f554fa5cc07296c30f08db76f5eaeb157 node-v0.10.19-linux-x86.tar.gz
3b324613b79d1c4ab3b9414b0644a3a559c2aec9 node-v0.10.19-sunos-x64.tar.gz
83cb3e58e9ac925ea22c8533cabc712625faa3f7 node-v0.10.19-sunos-x86.tar.gz
dcbe7db6d0c93f83f539f38807cd3c1923969721 node-v0.10.19-x86.msi
e6397e1df4e74864e3f0e5fc7bd24178828497f4 node-v0.10.19.pkg
39478caf7024af6d992007457540f8941104c5d9 node-v0.10.19.tar.gz
0fe9364b443e76f7364f8694751da15479417bdf node.exe
63555cdb67c2fd63411726dc691b08af520b27f6 node.exp
c4d33b56cff97c47b12df3ad237977a57d4c798d node.lib
19a603db8f8c30b1736124740a6a1c856f2d21d8 node.pdb
ca32da0335ecb09ab7316b6e18f23461e298768e pkgsrc/nodejs-ia32-0.10.19.tgz
b0b05a7f74d980720677a3232e82e23df211c122 pkgsrc/nodejs-x64-0.10.19.tgz
45aed04478346035e8dc7933d120ab636d56eac4 x64/node-v0.10.19-x64.msi
b81788c17fec167b77883dcbaf8c629ad7560c4d x64/node.exe
086761bf6ff4622714d24d7979548a37aaaea57e x64/node.exp
cc554a431039952207adfcb3997a7366ad7182e8 x64/node.lib
02d18f042f3d25663ea4d979dff8120435982079 x64/node.pdb
```

Просмотреть файл

@ -981,7 +981,7 @@ function emitKey(stream, s) {
key.name = 'space';
key.meta = (s.length === 2);
} else if (s <= '\x1a') {
} else if (s.length === 1 && s <= '\x1a') {
// ctrl+letter
key.name = String.fromCharCode(s.charCodeAt(0) + 'a'.charCodeAt(0) - 1);
key.ctrl = true;

Просмотреть файл

@ -155,6 +155,18 @@ FakeInput.prototype.end = function() {};
assert.equal(callCount, expectedLines.length - 1);
rli.close();
// \r at start of input should output blank line
fi = new FakeInput();
rli = new readline.Interface({ input: fi, output: fi, terminal: true });
expectedLines = ['', 'foo' ];
callCount = 0;
rli.on('line', function(line) {
assert.equal(line, expectedLines[callCount]);
callCount++;
});
fi.emit('data', '\rfoo\r');
assert.equal(callCount, expectedLines.length);
rli.close();
// sending a multi-byte utf8 char over multiple writes
var buf = Buffer('☮', 'utf8');

Просмотреть файл

@ -61,6 +61,12 @@ var clientsOptions = [{
crl: serverOptions.crl,
NPNProtocols: ['c', 'b', 'e'],
rejectUnauthorized: false
},{
port: serverPort,
key: serverOptions.key,
cert: serverOptions.cert,
crl: serverOptions.crl,
rejectUnauthorized: false
},{
port: serverPort,
key: serverOptions.key,
@ -91,7 +97,9 @@ function startTest() {
connectClient(clientsOptions[0], function() {
connectClient(clientsOptions[1], function() {
connectClient(clientsOptions[2], function() {
server.close();
connectClient(clientsOptions[3], function() {
server.close();
});
});
});
});
@ -100,6 +108,8 @@ function startTest() {
process.on('exit', function() {
assert.equal(serverResults[0], clientsResults[0]);
assert.equal(serverResults[1], clientsResults[1]);
assert.equal(serverResults[2], 'first-priority-unsupported');
assert.equal(serverResults[2], 'http/1.1');
assert.equal(clientsResults[2], false);
assert.equal(serverResults[3], 'first-priority-unsupported');
assert.equal(clientsResults[3], false);
});