Browse Source

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

Conflicts:
	lib/buffer.js
	lib/http.js
	src/node.cc
v0.11.4-release
Ben Noordhuis 12 years ago
parent
commit
30e7d08d93
  1. 13
      configure
  2. 11
      doc/api/tls.markdown
  3. 2
      doc/api/vm.markdown
  4. 101
      doc/blog/release/v0.11.3.md
  5. 1
      src/node.cc
  6. 60
      test/simple/test-http-exit-delay.js

13
configure

@ -296,14 +296,11 @@ def pkg_config(pkg):
return (libs, cflags) return (libs, cflags)
def cc_macros(cc=None): def cc_macros():
"""Checks predefined macros using the C compiler command.""" """Checks predefined macros using the CC command."""
if cc is None:
cc = CC
try: try:
p = subprocess.Popen(shlex.split(cc) + ['-dM', '-E', '-'], p = subprocess.Popen(shlex.split(CC) + ['-dM', '-E', '-'],
stdin=subprocess.PIPE, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE) stderr=subprocess.PIPE)
@ -378,9 +375,7 @@ def is_arm_hard_float_abi():
def host_arch_cc(): def host_arch_cc():
"""Host architecture check using the CC command.""" """Host architecture check using the CC command."""
# use 'cc', as CC may be set to a target arch compiler command k = cc_macros()
# in case of cross-compilation
k = cc_macros('cc')
matchup = { matchup = {
'__x86_64__' : 'x64', '__x86_64__' : 'x64',

11
doc/api/tls.markdown

@ -117,14 +117,13 @@ automatically set as a listener for the [secureConnection][] event. The
conjunction with the `honorCipherOrder` option described below to conjunction with the `honorCipherOrder` option described below to
prioritize the non-CBC cipher. prioritize the non-CBC cipher.
Defaults to Defaults to `AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH`.
`ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH`.
Consult the [OpenSSL cipher list format documentation] for details on the Consult the [OpenSSL cipher list format documentation] for details on the
format. format. ECDH (Elliptic Curve Diffie-Hellman) ciphers are not yet supported.
`ECDHE-RSA-AES128-SHA256` and `AES128-GCM-SHA256` are used when node.js is
linked against OpenSSL 1.0.1 or newer and the client speaks TLS 1.2, RC4 is `AES128-GCM-SHA256` is used when node.js is linked against OpenSSL 1.0.1
used as a secure fallback. or newer and the client speaks TLS 1.2, RC4 is used as a secure fallback.
**NOTE**: Previous revisions of this section suggested `AES256-SHA` as an **NOTE**: Previous revisions of this section suggested `AES256-SHA` as an
acceptable cipher. Unfortunately, `AES256-SHA` is a CBC cipher and therefore acceptable cipher. Unfortunately, `AES256-SHA` is a CBC cipher and therefore

2
doc/api/vm.markdown

@ -14,7 +14,7 @@ JavaScript code can be compiled and run immediately or compiled, saved, and run
The `vm` module has many known issues and edge cases. If you run into The `vm` module has many known issues and edge cases. If you run into
issues or unexpected behavior, please consult [the open issues on issues or unexpected behavior, please consult [the open issues on
GitHub](https://github.com/joyent/node/search?q=vm+state%3Aopen&type=Issues). GitHub](https://github.com/joyent/node/issues?labels=vm&state=open).
Some of the biggest problems are described below. Some of the biggest problems are described below.
### Sandboxes ### Sandboxes

101
doc/blog/release/v0.11.3.md

@ -0,0 +1,101 @@
date: Wed Jun 26 16:55:29 PDT 2013
version: 0.11.3
category: release
title: Node v0.11.3 (Unstable)
slug: node-v0-11-3-unstable
2013.06.26, Version 0.11.3 (Unstable)
* uv: Upgrade to v0.11.5
* c-ares: upgrade to 1.10.0
* v8: upgrade to v3.19.13
* punycode: update to v1.2.3 (Mathias Bynens)
* debugger: break on uncaught exception (Miroslav Bajtos)
* child_process: emit 'disconnect' asynchronously (Ben Noordhuis)
* dtrace: enable uv's probes if enabled (Timothy J Fontaine)
* dtrace: unify dtrace and systemtap interfaces (Timothy J Fontaine)
* buffer: New API for backing data store (Trevor Norris)
* buffer: return `this` in fill() for chainability (Brian White)
* build: fix include order for building on windows (Timothy J Fontaine)
* build: add android support (Linus Mårtensson)
* readline: strip ctrl chars for prompt width calc (Krzysztof Chrapka)
* tls: introduce TLSSocket based on tls_wrap binding (Fedor Indutny)
* tls: add localAddress and localPort properties (Ben Noordhuis)
* crypto: free excessive memory in NodeBIO (Fedor Indutny)
* process: remove maxTickDepth (Trevor Norris)
* timers: use uv_now instead of Date.now (Timothy J Fontaine)
* util: Add debuglog, deprecate console lookalikes (isaacs)
* module: use path.sep instead of a custom solution (Robert Kowalski)
* http: don't escape request path, reject bad chars (Ben Noordhuis)
* net: emit dns 'lookup' event before connect (Ben Noordhuis)
* dns: add getServers and setServers (Timothy J Fontaine)
Source Code: http://nodejs.org/dist/v0.11.3/node-v0.11.3.tar.gz
Macintosh Installer (Universal): http://nodejs.org/dist/v0.11.3/node-v0.11.3.pkg
Windows Installer: http://nodejs.org/dist/v0.11.3/node-v0.11.3-x86.msi
Windows x64 Installer: http://nodejs.org/dist/v0.11.3/x64/node-v0.11.3-x64.msi
Windows x64 Files: http://nodejs.org/dist/v0.11.3/x64/
Linux 32-bit Binary: http://nodejs.org/dist/v0.11.3/node-v0.11.3-linux-x86.tar.gz
Linux 64-bit Binary: http://nodejs.org/dist/v0.11.3/node-v0.11.3-linux-x64.tar.gz
Solaris 32-bit Binary: http://nodejs.org/dist/v0.11.3/node-v0.11.3-sunos-x86.tar.gz
Solaris 64-bit Binary: http://nodejs.org/dist/v0.11.3/node-v0.11.3-sunos-x64.tar.gz
Other release files: http://nodejs.org/dist/v0.11.3/
Website: http://nodejs.org/docs/v0.11.3/
Documentation: http://nodejs.org/docs/v0.11.3/api/
Shasums:
```
8320d6167f4c49d85b42bde41a201dabc125540d node-v0.11.3-darwin-x64.tar.gz
df9a540da0f5eb80682b5f63a8f7c841876ae9b2 node-v0.11.3-darwin-x86.tar.gz
76839ea31e90046c80af088b36c619eae622a6c0 node-v0.11.3-linux-x64.tar.gz
fd571ebfcdf5d7e35a2fbd972967ac24326ecb39 node-v0.11.3-linux-x86.tar.gz
85c03b89d61245ddfc911784a358e32a8a801c4f node-v0.11.3-sunos-x64.tar.gz
58f7824fdbe8b57e13865630c11100ac920474f9 node-v0.11.3-sunos-x86.tar.gz
507bbb003c755865f2b9cfc7a656ec9b142624fd node-v0.11.3-x86.msi
613ac2e985738ac06859394daf64347594b1e073 node-v0.11.3.pkg
4b82d58ed3ce38fa67a8484b42cfd47179b6a4a5 node-v0.11.3.tar.gz
e8628e45ee979ed0e666ff4ddce82444251afc85 node.exe
e883f3f4b110e78cd11d03848003829fd7377ddb node.exp
5e82f6ef29379d8d39fb0661a0533bdbed412432 node.lib
cc3ee23230b947159282161481491f39f9a36c85 node.pdb
2f7adfe4cfb69efc5d9f0b94b18787a0e14c3021 x64/node-v0.11.3-x64.msi
625fd4ab66816e57b08d73853a9438ea9e16f720 x64/node.exe
dbc8cc48c651b342980b408fdc07da01e6e3e67e x64/node.exp
9203d66c50a34c1658928d525d1f1d2eaae9718c x64/node.lib
9b1261772868734a7962848e1d1db55efde2bce9 x64/node.pdb
```

1
src/node.cc

@ -883,6 +883,7 @@ Handle<Value> SetupDomainUse(const Arguments& args) {
Local<Function> ndt = ndt_v.As<Function>(); Local<Function> ndt = ndt_v.As<Function>();
process->Set(String::New("_tickCallback"), tdc); process->Set(String::New("_tickCallback"), tdc);
process->Set(String::New("nextTick"), ndt); process->Set(String::New("nextTick"), ndt);
process_tickCallback.Dispose(node_isolate); // May be set by MakeCallback().
process_tickCallback = Persistent<Function>::New(node_isolate, tdc); process_tickCallback = Persistent<Function>::New(node_isolate, tdc);
return Undefined(node_isolate); return Undefined(node_isolate);
} }

60
test/simple/test-http-exit-delay.js

@ -0,0 +1,60 @@
// 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 common = require('../common.js');
var http = require('http');
var start;
var server = http.createServer(function(req, res) {
req.resume();
req.on('end', function() {
res.end('Success');
});
server.close(function() {
start = process.hrtime();
});
});
server.listen(common.PORT, 'localhost', function() {
var interval_id = setInterval(function() {
if (new Date().getMilliseconds() > 100)
return;
var req = http.request({
'host': 'localhost',
'port': common.PORT,
'agent': false,
'method': 'PUT'
});
req.end('Test');
clearInterval(interval_id);
}, 10);
});
process.on('exit', function() {
var d = process.hrtime(start);
assert.equal(d[0], 0);
assert(d[1] / 1e9 < 0.03);
console.log('ok');
});
Loading…
Cancel
Save