koichik [Thu, 12 Jan 2012 05:16:03 +0000 (14:16 +0900)]
http: Upgrade/CONNECT request should detach its socket earlier
With Upgrade or CONNECT request, http.ClientRequest emits 'close' event
after its socket is closed. However, after receiving a response, the socket
is not under management by the request.
http.ClientRequest should detach the socket before 'upgrade'/'connect'
event is emitted to pass the socket to a user. After that, it should
emit 'close' event immediately without waiting for closing of the socket.
Fixes #2510.
Fedor Indutny [Wed, 11 Jan 2012 21:12:13 +0000 (03:12 +0600)]
zlib: reset() method for deflate/inflate streams
* ammended test-zlib-dictionary to cover reusing streams
Fedor Indutny [Wed, 11 Jan 2012 21:11:31 +0000 (03:11 +0600)]
zlib: C++ style fixes for dictionary
Fedor Indutny [Wed, 11 Jan 2012 20:17:44 +0000 (02:17 +0600)]
Merge branch 'v0.6'
Conflicts:
src/handle_wrap.cc
src/node_zlib.cc
src/process_wrap.cc
Fedor Indutny [Wed, 11 Jan 2012 17:46:10 +0000 (23:46 +0600)]
zlib: C++ style fixes
Mathias Bynens [Tue, 3 Jan 2012 09:14:02 +0000 (10:14 +0100)]
punycode: Update to v0.3.0
Maciej Małecki [Tue, 10 Jan 2012 22:29:11 +0000 (23:29 +0100)]
makefile: ignore `lib/punycode.js` while linting
`punycode` is a third party code which generates a lot of lint errors.
Upstream was contacted in order to fix it in bestiejs/punycode.js#6, but
request was denied.
Therefore, it's reasonable to exclude this file from linting process.
Ref #2456.
Andreas Madsen [Wed, 11 Jan 2012 08:02:51 +0000 (09:02 +0100)]
child_process: fix typo in internal message event name
isaacs [Tue, 10 Jan 2012 20:07:30 +0000 (12:07 -0800)]
zlib binding cleanup
* Add assert to prevent parallel writes
* Embed request object instead of using new/delete
* Remove unnecessary WorkReqWrap in favor of uv_work_t
* Use container_of instead of req->data
Along with
2d8af39accc6e1a863aa60ed80289508f3df50e8 and
0ad2717fd88e5ddd28a1c245c78b37bfe9aa4197, this should Fix #2504.
Ryan Dahl [Tue, 10 Jan 2012 20:13:48 +0000 (12:13 -0800)]
Use .jpg instead of .bmp for .msi
smaller.
Maciej Małecki [Tue, 10 Jan 2012 22:07:12 +0000 (23:07 +0100)]
child_process: fix typo in internal message event name
Ryan Dahl [Tue, 10 Jan 2012 20:04:16 +0000 (12:04 -0800)]
Add broken test-isolates3.js
Ben Noordhuis [Tue, 10 Jan 2012 19:54:40 +0000 (20:54 +0100)]
Make sure that zlib contexts are not garbage collected when busy
Bert Belder [Tue, 10 Jan 2012 19:51:45 +0000 (20:51 +0100)]
Fix memory leak in node_zlib
Ryan Dahl [Tue, 10 Jan 2012 19:47:32 +0000 (11:47 -0800)]
Add failing test-isolates2.js
Ryan Dahl [Mon, 9 Jan 2012 23:29:15 +0000 (15:29 -0800)]
Fix #2473
Tested in production.
See also http://code.google.com/p/v8/issues/detail?id=1889
Fedor Indutny [Tue, 10 Jan 2012 14:56:30 +0000 (20:56 +0600)]
test: make debugger-repl tests work with isolates
Ben Noordhuis [Tue, 10 Jan 2012 15:46:06 +0000 (16:46 +0100)]
isolates: add process-global list of isolates
Fedor Indutny [Fri, 6 Jan 2012 18:28:20 +0000 (00:28 +0600)]
debug threads
Fedor Indutny [Fri, 6 Jan 2012 18:27:55 +0000 (00:27 +0600)]
IsolateDebugger C++
Fedor Indutny [Fri, 6 Jan 2012 18:26:53 +0000 (00:26 +0600)]
fixed debugger segfaults
Fedor Indutny [Fri, 6 Jan 2012 18:24:41 +0000 (00:24 +0600)]
added isolates support
Ben Noordhuis [Tue, 10 Jan 2012 01:08:42 +0000 (02:08 +0100)]
isolates: drain message queue completely
Andreas Madsen [Wed, 4 Jan 2012 14:28:13 +0000 (15:28 +0100)]
Improve test-child-process-silent
Ryan Dahl [Mon, 9 Jan 2012 20:59:26 +0000 (12:59 -0800)]
require('sys') now throws
To be removed in v0.9
Ben Noordhuis [Mon, 9 Jan 2012 19:42:11 +0000 (20:42 +0100)]
child_process: fix segfault after failed spawn
The process handle is uninitialized when uv_spawn() fails so don't export the
handle to JS land when that happens. Attempts to close the uninitialized handle
resulted in segmentation faults and memory corruption.
Fixes #2481.
Ben Noordhuis [Mon, 9 Jan 2012 19:39:06 +0000 (20:39 +0100)]
handle_wrap: guard against uninitialized handle or double close
Ryan Dahl [Mon, 9 Jan 2012 19:20:22 +0000 (11:20 -0800)]
Merge remote branch 'origin/v0.6'
Conflicts:
Makefile
configure
src/node_version.h
Ben Noordhuis [Mon, 9 Jan 2012 14:45:51 +0000 (15:45 +0100)]
uv: upgrade to 803f5a0
Ryunosuke SATO [Sun, 8 Jan 2012 15:53:17 +0000 (00:53 +0900)]
events: fix checking max listeners with `1`
Fixes #2490.
koichik [Mon, 9 Jan 2012 02:51:06 +0000 (03:51 +0100)]
http: better support for CONNECT method.
Introduces 'connect' event on both client (http.ClientRequest) and
server (http.Server).
Refs: #2259, #2474.
Fixes #1576.
koichik [Mon, 9 Jan 2012 01:28:49 +0000 (02:28 +0100)]
tls: Allow establishing secure connection on the existing socket
This is necessary to use SSL over HTTP tunnels.
Refs #2259, #2474.
Fixes #2489.
koichik [Mon, 9 Jan 2012 01:18:39 +0000 (02:18 +0100)]
net: make connect() accept options
This makes API even with tls.connect().
Refs #1983.
See also:
http://groups.google.com/group/nodejs-dev/msg/
3b6dbcc4a9a82d99
Fixes #2487.
Ben Noordhuis [Sun, 8 Jan 2012 23:45:19 +0000 (00:45 +0100)]
Avoid unnecessary buffer to string conversion.
Speeds up the benchmark below by about 680% (0.5s versus 3.4s on my Core 2 Duo).
var crypto = require('crypto');
var hash = crypto.createHash('sha1');
var data = new Buffer(1024);
for (var i = 0; i < 128 * 1024; ++i) hash.update(data);
Fixes #2494.
Ben Noordhuis [Sun, 8 Jan 2012 20:17:28 +0000 (21:17 +0100)]
build: honour the PYTHON environment variable
Overrides the path to the python binary. Defaults to `python`.
Maciej Małecki [Wed, 2 Nov 2011 00:27:50 +0000 (01:27 +0100)]
tls doc: update docs to reflect API change
Refs #1983.
Maciej Małecki [Tue, 1 Nov 2011 15:28:04 +0000 (16:28 +0100)]
test tls: make tests use new `tls.connect` API
Refs #1983.
Maciej Małecki [Tue, 1 Nov 2011 15:27:42 +0000 (16:27 +0100)]
https: make `https` use new `tls.connect` API
Refs #1983.
Maciej Małecki [Tue, 1 Nov 2011 15:23:30 +0000 (16:23 +0100)]
tls: make `tls.connect` accept port and host in `options`
Previous API used form:
tls.connect(443, "google.com", options, ...)
now it's replaced with:
tls.connect({port: 443, host: "google.com", ...}, ...)
It simplifies argument parsing in `tls.connect` and makes the API
consistent with other parts.
Fixes #1983.
koichik [Sat, 7 Jan 2012 06:51:51 +0000 (07:51 +0100)]
docs: fix ChangeLog
koichik [Sat, 7 Jan 2012 05:44:35 +0000 (06:44 +0100)]
docs: small changes.
isaacs [Sat, 7 Jan 2012 01:36:39 +0000 (17:36 -0800)]
Now working on v0.6.8
isaacs [Thu, 5 Jan 2012 23:44:04 +0000 (15:44 -0800)]
2012.01.06, Version 0.6.7 (stable)
* V8 hash collision fix (Breaks MIPS) (Bert Belder, Erik Corry)
* Upgrade V8 to 3.6.6.15
* Upgrade npm to 1.1.0-beta-10 (isaacs)
* many doc updates (Ben Noordhuis, Jeremy Martin, koichik, Dave Irvine,
Seong-Rak Choi, Shannen, Adam Malcontenti-Wilson, koichik)
* Fix segfault in node_http_parser.cc
* dgram, timers: fix memory leaks (Ben Noordhuis, Yoshihiro Kukuchi)
* repl: fix repl.start not passing the `ignoreUndefined` arg (Damon Oehlman)
* #1980: Socket.pause null reference when called on a closed Stream (koichik)
* #2263: XMLHttpRequest piped in a writable file stream hang (koichik)
* #2069: http resource leak (koichik)
* buffer.readInt global pollution fix (Phil Sung)
* timers: fix performance regression (Ben Noordhuis)
* #2308, #2246: node swallows openssl error on request (koichik)
* #2114: timers: remove _idleTimeout from item in .unenroll() (James Hartig)
* #2379: debugger: Request backtrace w/o refs (Fedor Indutny)
* simple DTrace ustack helper (Dave Pacheco)
* crypto: rewrite HexDecode without snprintf (Roman Shtylman)
* crypto: don't ignore DH init errors (Ben Noordhuis)
isaacs [Sat, 7 Jan 2012 00:30:46 +0000 (16:30 -0800)]
Remove snapshot from Mac binary build
Ryan Dahl [Sat, 7 Jan 2012 00:20:45 +0000 (16:20 -0800)]
support nosnapshot in vcbuild.bat
Ryan Dahl [Fri, 6 Jan 2012 21:03:06 +0000 (13:03 -0800)]
Upgrade V8 to 3.8.5
Ryan Dahl [Fri, 6 Jan 2012 20:00:36 +0000 (12:00 -0800)]
Revert "crypto: add SecureContext.clearOptions() method"
API addition needs to go in master. Also openssl-0.9.8k doesn't have
SSL_CTX_clear_options().
This reverts commit
6f8839d2ac362ced42235a34a023af5e2c656501.
Ryan Dahl [Fri, 6 Jan 2012 18:22:18 +0000 (10:22 -0800)]
fix test-sys for hash randomization
broken in
4a899c92742583ca9e0bb7d16e09a66b08c9d033
Bert Belder [Fri, 6 Jan 2012 16:02:01 +0000 (17:02 +0100)]
Land hash collision fix for V8 3.6 by Erik Corry.
- If V8 snapshots are enabled then the hash is only randomized at build time.
- Breaks MIPS
---
Backport hash collision workaround to 3.6.
This is made up of 9956, 10351, 10338 and 10330.
This change bakes the string hash key into the snapshot, so
it is determined at build time for shapshot configs.
Review URL: http://codereview.chromium.org/9124004
koichik [Thu, 5 Jan 2012 11:50:03 +0000 (20:50 +0900)]
http: fix ServerResponse does not emit 'close'
Refs #2453.
Ben Noordhuis [Thu, 5 Jan 2012 23:42:10 +0000 (00:42 +0100)]
child_process: add isolates support
Passing an options object with {thread:true} to .fork() or .spawn() will run the
target script in a thread instead of a separate process.
Ben Noordhuis [Thu, 5 Jan 2012 00:12:48 +0000 (01:12 +0100)]
isolates: remove global isolates list
No longer necessary, each isolate now waits until its subordinate isolates have
exited.
Ben Noordhuis [Thu, 5 Jan 2012 00:02:59 +0000 (01:02 +0100)]
isolates: implement message passing
Parent and child isolates can now pass arbitrary binary messages between each
other. The messages are sent and received through a thread-safe queue that
wakes up the event loop of the receiving thread.
Ben Noordhuis [Tue, 3 Jan 2012 14:15:54 +0000 (15:15 +0100)]
uv: upgrade to 56a31f0
Emerson Macedo [Wed, 2 Nov 2011 18:06:16 +0000 (16:06 -0200)]
fs: add appendFile() and appendFileSync() functions
Mikael Bourges-Sevenier [Sat, 31 Dec 2011 08:30:42 +0000 (00:30 -0800)]
typed arrays: add Buffer -> TypedArray constructor
- create a typed array from a node::Buffer object
- update TypedArray::set() to spec
- add TypedArray::get() method
isaacs [Wed, 4 Jan 2012 23:09:13 +0000 (15:09 -0800)]
npm@1.1.0-beta-10
Shigeki Ohtsu [Thu, 5 Jan 2012 12:25:07 +0000 (21:25 +0900)]
build: compile without -fvisibility=hidden
Fixes symbol lookup errors when loading an addon module on Linux.
Shigeki Ohtsu [Thu, 5 Jan 2012 12:01:29 +0000 (21:01 +0900)]
build: set product_prefix to empty for Linux
Ben Noordhuis [Thu, 5 Jan 2012 15:44:11 +0000 (16:44 +0100)]
docs: mention that python 2.6 or 2.7 is required
koichik [Thu, 5 Jan 2012 08:43:00 +0000 (17:43 +0900)]
http: use `self` insted of `this`
Andreas Madsen [Thu, 5 Jan 2012 07:57:54 +0000 (08:57 +0100)]
typos
fixes #2465
Andreas Madsen [Tue, 20 Dec 2011 09:42:48 +0000 (10:42 +0100)]
cluster improvements: Worker class and isolate internal messages
Fixes #2388
Ryan Dahl [Wed, 4 Jan 2012 19:20:50 +0000 (11:20 -0800)]
Update address in CLA
Ben Noordhuis [Wed, 4 Jan 2012 15:36:08 +0000 (16:36 +0100)]
build: fix npm-cli.js install
Ryan Dahl [Fri, 30 Dec 2011 00:06:14 +0000 (16:06 -0800)]
Potential fix for #2438
- Save StringPtr if the header hasn't been completely received yet after one
packet.
- Add one to num_fields and num_values. They were actually one less than the
number of fields and values.
- Remove always_inline makes debugging difficult, and has negligible
performance benefits.
Ryan Dahl [Wed, 4 Jan 2012 01:14:58 +0000 (17:14 -0800)]
Add another test to test-http-parser-bad-ref.js demoing #2438
Ryan Dahl [Tue, 3 Jan 2012 19:46:53 +0000 (11:46 -0800)]
Upgrade V8 to 3.8.4
Ben Noordhuis [Mon, 2 Jan 2012 11:29:39 +0000 (12:29 +0100)]
Merge remote-tracking branch 'origin/v0.6'
Conflicts:
src/udp_wrap.cc
Ben Noordhuis [Mon, 2 Jan 2012 11:02:05 +0000 (12:02 +0100)]
crypto: add SecureContext.clearOptions() method
SecureContext.setOptions() is backed by SSL_CTX_set_options() which, contrary to
what the name suggests, is additive: it doesn't set options, it adds them to the
already active options.
Hence the need for SecureContext.clearOptions(), which lets you unset active
options.
Ben Noordhuis [Mon, 2 Jan 2012 09:48:33 +0000 (10:48 +0100)]
test: add #2293 regression test
Creating a file event watcher with fs.watch({persistent:false}) should not block
the event loop.
Ben Noordhuis [Mon, 2 Jan 2012 09:43:10 +0000 (10:43 +0100)]
uv: upgrade to 38fc6ad
Ben Noordhuis [Sun, 1 Jan 2012 22:36:03 +0000 (23:36 +0100)]
docs: fix typo on community page
isaacs [Tue, 8 Nov 2011 00:10:21 +0000 (16:10 -0800)]
Fix #2034 repl message for .clear when useGlobal=true
Ben Noordhuis [Sat, 31 Dec 2011 02:16:04 +0000 (03:16 +0100)]
test: don't create temp files in fixtures dir
Ben Noordhuis [Fri, 30 Dec 2011 01:03:08 +0000 (02:03 +0100)]
bench: add /echo endpoint to http_simple
Copies the POST request data verbatim into the response body.
Ryan Dahl [Thu, 29 Dec 2011 21:36:13 +0000 (13:36 -0800)]
Add test for #2438
Unfortunately valgrind must be used to see the bad read. It would be nice if
we could improve this test to cause a segfault.
Ryan Dahl [Thu, 29 Dec 2011 19:57:40 +0000 (11:57 -0800)]
Merge remote branch 'origin/isolates2'
Ben Noordhuis [Thu, 29 Dec 2011 18:30:07 +0000 (19:30 +0100)]
net: defer net.Server 'close' event to next tick
Ben Noordhuis [Thu, 29 Dec 2011 13:57:53 +0000 (14:57 +0100)]
dgram: fix memory leak in error path
Damon Oehlman [Thu, 29 Dec 2011 02:15:49 +0000 (12:15 +1000)]
repl: fix repl.start not passing the `ignoreUndefined` arg to the REPLServer constructor
Jeremy Martin [Wed, 28 Dec 2011 20:14:30 +0000 (15:14 -0500)]
docs: tiny typo in http.markdown
Ben Noordhuis [Thu, 29 Dec 2011 00:56:58 +0000 (01:56 +0100)]
Merge branch 'isolates2'
Ben Noordhuis [Thu, 29 Dec 2011 00:49:10 +0000 (01:49 +0100)]
Merge branch 'v0.6'
Conflicts:
src/platform_win32.cc
Ben Noordhuis [Wed, 28 Dec 2011 23:40:40 +0000 (00:40 +0100)]
Include ngx-queue.h, fix Windows build.
Ben Noordhuis [Wed, 28 Dec 2011 23:18:23 +0000 (00:18 +0100)]
uv: upgrade to 85f6b79
Ben Noordhuis [Wed, 28 Dec 2011 22:56:53 +0000 (23:56 +0100)]
Make msbuild run in parallel.
Ryan Dahl [Wed, 28 Dec 2011 02:11:32 +0000 (18:11 -0800)]
Add isolate version of test-child-process-fork
Ryan Dahl [Tue, 27 Dec 2011 21:06:25 +0000 (13:06 -0800)]
Add process.features.isolates
Ryan Dahl [Fri, 23 Dec 2011 22:06:32 +0000 (14:06 -0800)]
move isolate V8 functions out of node.cc
Ryan Dahl [Thu, 22 Dec 2011 21:40:26 +0000 (13:40 -0800)]
Add node::Loop() and don't inc node_isolate.h in *.cc
node::Loop() replaces the NODE_LOOP macro. This avoids hitting
v8::Isolate::GetCurrent() for each loop lookup when HAVE_ISOLATE==0
Ben Noordhuis [Thu, 22 Dec 2011 16:09:00 +0000 (17:09 +0100)]
uv: upgrade to d6a06b8
Ryan Dahl [Wed, 21 Dec 2011 21:55:05 +0000 (13:55 -0800)]
Add shared-buffer isolate addon test
Ryan Dahl [Wed, 21 Dec 2011 22:02:52 +0000 (14:02 -0800)]
Remove node_isolate.h from node.h
Ryan Dahl [Mon, 19 Dec 2011 07:39:49 +0000 (23:39 -0800)]
Change isolate test to demo EIO bug
Ryan Dahl [Mon, 19 Dec 2011 06:49:20 +0000 (22:49 -0800)]
node_file.cc should use NODE_LOOP()
Ryan Dahl [Sun, 18 Dec 2011 18:56:48 +0000 (10:56 -0800)]
Join all threads at end of main thread
Require reorganizing the isolates somewhat.
Add a very simple test.
Ryan Dahl [Sat, 17 Dec 2011 07:23:34 +0000 (23:23 -0800)]
Move prog_start_time init after isolate assigned
Ryan Dahl [Thu, 15 Dec 2011 22:20:27 +0000 (14:20 -0800)]
Add link-list of all isolates
Ryan Dahl [Tue, 13 Dec 2011 22:48:36 +0000 (14:48 -0800)]
Move uv loop initialization into isolate