summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2013.03.28, Version 0.11.0 (Unstable)v0.11.0v0.11.0-releaseisaacs2013-03-283-2/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * V8: update to 3.17.13 * os: use %SystemRoot% or %windir% in os.tmpdir() (Suwon Chae) * util: fix util.inspect() line width calculation (Marcin Kostrzewa) * buffer: remove _charsWritten (Trevor Norris) * fs: uv_[fl]stat now reports subsecond resolution (Timothy J Fontaine) * fs: Throw if error raised and missing callback (bnoordhuis) * tls: expose SSL_CTX_set_timeout via tls.createServer (Manav Rathi) * tls: remove harmful unnecessary bounds checking (Marcel Laverdet) * buffer: write ascii strings using WriteOneByte (Trevor Norris) * dtrace: fix generation of v8 constants on freebsd (Fedor Indutny) * dtrace: x64 ustack helper (Fedor Indutny) * readline: handle wide characters properly (Nao Iizuka) * repl: Use a domain to catch async errors safely (isaacs) * repl: emit 'reset' event when context is reset (Sami Samhuri) * util: custom `inspect()` method may return an Object (Nathan Rajlich) * console: `console.dir()` bypasses inspect() methods (Nathan Rajlich)
* lintisaacs2013-03-281-2/+2
| | | | Fixes lint errors introduced in 120e5a24df76deb5019abec9744ace94f0f3746a
* Merge remote-tracking branch 'ry/v0.10'isaacs2013-03-2853-205/+1032
|\ | | | | | | | | | | Conflicts: src/node.cc src/node_version.h
| * blog: Post about v0.10.2isaacs2013-03-281-0/+87
| |
| * Node working on 0.10.3isaacs2013-03-281-2/+2
| |
| * Merge branch 'v0.10.2-release' into v0.10isaacs2013-03-283-2/+39
| |\
| | * 2013.03.28, Version 0.10.2 (Stable)v0.10.2v0.10.2-releaseisaacs2013-03-283-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * npm: Upgrade to 1.2.15 * uv: Upgrade to 0.10.3 * tls: handle SSL_ERROR_ZERO_RETURN (Fedor Indutny) * tls: handle errors before calling C++ methods (Fedor Indutny) * tls: remove harmful unnecessary bounds checking (Marcel Laverdet) * crypto: make getCiphers() return non-SSL ciphers (Ben Noordhuis) * crypto: check randomBytes() size argument (Ben Noordhuis) * timers: do not calculate Timeout._when property (Alexey Kupershtokh) * timers: fix off-by-one ms error (Alexey Kupershtokh) * timers: handle signed int32 overflow in enroll() (Fedor Indutny) * stream: Fix stall in Transform under very specific conditions (Gil Pedersen) * stream: Handle late 'readable' event listeners (isaacs) * stream: Fix early end in Writables on zero-length writes (isaacs) * domain: fix domain callback from MakeCallback (Trevor Norris) * child_process: don't emit same handle twice (Ben Noordhuis) * child_process: fix sending utf-8 to child process (Ben Noordhuis)
| * | src: tie process.versions.uv to uv_version_string()Ben Noordhuis2013-03-281-3/+1
| |/
| * deps: upgrade libuv to v0.10.3Bert Belder2013-03-284-2/+19
| |
| * npm: Upgrade to v1.2.15isaacs2013-03-2818-83/+218
| |
| * tls: handle SSL_ERROR_ZERO_RETURNFedor Indutny2013-03-282-3/+12
| | | | | | | | see #5004
| * setTimeout: do not calculate Timeout._when propertywicked2013-03-281-2/+5
| | | | | | | | Dramatically improves Timer performance.
| * stream: Emit readable on ended streams via read(0)isaacs2013-03-282-1/+25
| | | | | | | | cc: @mjijackson
| * stream: Handle late 'readable' event listenersisaacs2013-03-282-3/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In cases where a stream may have data added to the read queue before the user adds a 'readable' event, there is never any indication that it's time to start reading. True, there's already data there, which the user would get if they checked However, as we use 'readable' event listening as the signal to start the flow of data with a read(0) call internally, we ought to trigger the same effect (ie, emitting a 'readable' event) even if the 'readable' listener is added after the first emission. To avoid confusing weirdness, only the *first* 'readable' event listener is granted this privileged status. After we've started the flow (or, alerted the consumer that the flow has started) we don't need to start it again. At that point, it's the consumer's responsibility to consume the stream. Closes #5141
| * doc: Add 'don't ignore errors' section to domainisaacs2013-03-281-17/+153
| | | | | | | | | | Also, an example program of using cluster and domain to handle errors safely, with zero downtime, using process isolation.
| * doc: debugger, dns, http: fix grammarBenjamin Ruston2013-03-283-3/+3
| |
| * deps: upgrade libuv to 7514149Ben Noordhuis2013-03-2810-27/+154
| |
| * test: Accept either kind of NaNisaacs2013-03-272-5/+15
| | | | | | | | | | | | | | A llvm/clang bug on Darwin ia32 makes these tests fail 100% of the time. Since no one really seems to mind overly much, and we can't reasonably fix this in node anyway, just accept both types of NaN for now.
| * tls: handle errors before calling C++ methodsFedor Indutny2013-03-272-9/+75
| | | | | | | | | | | | | | | | | | | | | | Calling `this.pair.encrypted._internallyPendingBytes()` before handling/resetting error will result in assertion failure: ../src/node_crypto.cc:962: void node::crypto::Connection::ClearError(): Assertion `handle_->Get(String::New("error"))->BooleanValue() == false' failed. see #5058
| * doc: addon: fix grammarBenjamin Ruston2013-03-271-2/+2
| |
| * openssl: disable HEARTBEAT TLS extensionFedor Indutny2013-03-271-1/+7
| | | | | | | | | | | | | | | | | | | | Microsoft's IIS doesn't support it, and is not replying with ServerHello after receiving ClientHello which contains it. The good way might be allowing to opt-out this at runtime from javascript-land, but unfortunately OpenSSL doesn't support it right now. see #5119
| * domain: fix domain callback from MakeCallbackTrevor Norris2013-03-264-41/+97
| | | | | | | | | | | | | | | | | | | | | | | | Since _tickCallback and _tickDomainCallback were both called from MakeCallback, it was possible for a callback to be called that required a domain directly to _tickCallback. The fix was to implement process.usingDomains(). This will set all applicable functions to their domain counterparts, and set a flag in cc to let MakeCallback know domain callbacks always need to be checked. Added test in own file. It's important that the test remains isolated.
| * doc: child_process: document 'error' eventBen Noordhuis2013-03-261-2/+25
| | | | | | | | Fixes #5130.
| * doc: fix formatting in tty.markdownBen Noordhuis2013-03-261-1/+1
| | | | | | | | Fixes #5135.
* | os: use %SystemRoot% or %windir% in os.tmpdir()Suwon Chae2013-03-281-6/+13
| | | | | | | | | | On Windows, respect the SystemRoot and windir environment variables, don't default to c:\windows\temp.
* | util: fix util.inspect() line width calculationMarcin Kostrzewa2013-03-282-1/+29
| | | | | | | | | | | | | | | | Have the formatter filter out vt100 color codes when calculating the line width. Stops it from unnecessarily splitting strings over multiple lines. Fixes #5039.
* | openssl: make sed tool configurableBen Noordhuis2013-03-261-1/+2
| | | | | | | | | | Those poor sods on systems where /usr/bin/sed is a BSD sed can now do `make -C deps/openssl/asm SED=gsed`.
* | test: Use 'close' event in simple/test-repl-timeout-throwisaacs2013-03-261-1/+1
| |
* | buffer: remove _charsWrittenTrevor Norris2013-03-264-52/+0
| | | | | | | | | | | | | | _charsWritten is an internal property that was constantly written to, but never read from. So it has been removed. Removed documentation reference as well.
* | tls: expose SSL_CTX_set_timeout via tls.createServerManav Rathi2013-03-266-0/+185
| | | | | | | | | | | | | | | | | | | | | | Add the `sessionTimeout` integral value to the list of options recognized by `tls.createServer`. This option will be useful for applications which need frequently establish short-lived TLS connections to the same endpoint. The TLS tickets RFC is an ideal option to reduce the socket setup overhead for such scenarios, but the default ticket timeout value (5 minutes) is too low to be useful.
* | Merge remote-tracking branch 'origin/v0.10'Ben Noordhuis2013-03-2647-536/+1128
|\ \ | |/ | | | | | | | | | | Conflicts: deps/v8/src/objects-inl.h deps/v8/src/objects.h src/node_crypto.cc
| * test: test name is the last elem, not secondTimothy J Fontaine2013-03-261-1/+1
| | | | | | | | | | When a test requires node to have parameters passed (--expose-gc) the test name will be the last element in the command array, not the second.
| * child_process: don't emit same handle twiceBen Noordhuis2013-03-252-0/+2
| | | | | | | | | | | | It's possible to read multiple messages off the parent/child channel. When that happens, make sure that recvHandle is cleared after emitting the first message so it doesn't get emitted twice.
| * crypto: make getCiphers() return non-SSL ciphersBen Noordhuis2013-03-256-23/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit f53441a added crypto.getCiphers() as a function that returns the names of SSL ciphers. Commit 14a6c4e then added crypto.getHashes(), which returns the names of digest algorithms, but that creates a subtle inconsistency: the return values of crypto.getHashes() are valid arguments to crypto.createHash() but that is not true for crypto.getCiphers() - the returned values are only valid for SSL/TLS functions. Rectify that by adding tls.getCiphers() and making crypto.getCiphers() return proper cipher names.
| * doc: mention `process.*.isTTY` under `process`Mathias Bynens2013-03-251-0/+14
| |
| * child_process: fix sending utf-8 to child processBen Noordhuis2013-03-252-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | In process#send() and child_process.ChildProcess#send(), use 'utf8' as the encoding instead of 'ascii' because 'ascii' mutilates non-ASCII input. Correctly handle partial character sequences by introducing a StringDecoder. Sending over UTF-8 no longer works in v0.10 because the high bit of each byte is now cleared when converting a Buffer to ASCII. See commit 96a314b for details. Fixes #4999 and #5011.
| * bench: add child process read perf benchmarkBen Noordhuis2013-03-251-0/+28
| |
| * deps: fix openssl build on windowsBen Noordhuis2013-03-241-1/+7
| | | | | | | | | | | | | | | | | | Commit 8632af3 ("tools: update gyp to r1601") broke the Windows build. Older versions of GYP link to kernel32.lib, user32.lib, etc. but that was changed in r1584. See https://codereview.chromium.org/12256017 Fix the build by explicitly linking to the required libraries.
| * stream: Fix early end in Writables on zero-length writesisaacs2013-03-243-1/+72
| | | | | | | | | | | | | | | | | | | | Doing this causes problems: z.write(Buffer(0)); z.end(); Fix by not ending Writable streams while they're still in the process of writing something.
| * tools: update gyp to r1601Ben Noordhuis2013-03-2423-500/+722
| | | | | | | | | | Among other things, this should make it easier for people to build node.js on openbsd.
| * doc: update CONTRIBUTING.mdBen Noordhuis2013-03-241-5/+6
| | | | | | | | | | * Latest stable is v0.10 now. * Add example of what the first line of the commit log should look like.
| * timer: fix off-by-one ms errorAlexey Kupershtokh2013-03-232-1/+49
| | | | | | | | Fix #5103
| * tls: remove harmful unnecessary bounds checkingMarcel Laverdet2013-03-241-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EncIn, EncOut, ClearIn & ClearOut functions are victims of some code copy + pasting. A common line copied to all of them is: `if (off >= buffer_length) { ...` 448e0f43 corrected ClearIn's check from `>=` to `>`, but left the others unchanged (with an incorrect bounds check). However, if you look down at the next very next bounds check you'll see: `if (off + len > buffer_length) { ...` So the check is actually obviated by the next line, and should be removed. This fixes an issue where writing a zero-length buffer to an encrypted pair's *encrypted* stream you would get a crash.
| * v8: Unify kMaxArguments with number of bits used to encode it.verwaest@chromium.org2013-03-235-14/+13
| | | | | | | | | | | | | | | | | | | | Increase the number of bits by 1 by making Flags unsigned. BUG=chromium:211741 Review URL: https://chromiumcodereview.appspot.com/12886008 This is a back-port of commits 13964 and 13988 addressing CVE-2013-2632.
| * crypto: check randomBytes() size argumentBen Noordhuis2013-03-232-3/+11
| | | | | | | | | | | | | | | | | | | | Throw a TypeError if size > 0x3fffffff. Avoids the following V8 fatal error: FATAL ERROR: v8::Object::SetIndexedPropertiesToExternalArrayData() length exceeds max acceptable value Fixes #5126.
| * doc: document that stdio is usually blockingBen Noordhuis2013-03-231-0/+13
| |
| * stream: Fix stall in Transform under very specific conditionsGil Pedersen2013-03-212-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stall is exposed in the test, though the test itself asserts before it stalls. The test is constructed to replicate the stalling state of a complex Passthrough usecase since I was not able to reliable trigger the stall. Some of the preconditions for triggering the stall are: * rs.length >= rs.highWaterMark * !rs.needReadable * _transform() handler that can return empty transforms * multiple sync write() calls Combined this can trigger a case where rs.reading is not cleared when further progress requires this. The fix is to always clear rs.reading.
| * timers: handle signed int32 overflow in enroll()Fedor Indutny2013-03-212-0/+69
| | | | | | | | | | | | | | | | | | | | Before this patch calling `socket.setTimeout(0xffffffff)` will result in signed int32 overflow in C++ which resulted in assertion error: Assertion failed: (timeout >= -1), function uv__io_poll, file ../deps/uv/src/unix/kqueue.c, line 121. see #5101
* | fs: uv_[fl]stat now reports subsecond resolutionTimothy J Fontaine2013-03-234-15/+17
| | | | | | | | | | | | While libuv supports reporting subsecond stat resolution across platforms, to actually get that resolution your platform and filesystem must support it (not HFS, ext[23], fat), otherwise the nsecs are 0
* | deps: upgrade libuv to eca008aBen Noordhuis2013-03-238-101/+182
| |