summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* build: run wix tool chain out of processv0.8.28v0.8.28-releaseTimothy J Fontaine2014-07-311-1/+1
| | | | | | Building MSIs for different arch's can sometimes confuse MSBuild and Wix, isntead run the toolchain externally so we don't have to worry about which arch cmd.exe is running as.
* 2014.07.31, Version 0.8.28 (maintenance)Timothy J Fontaine2014-07-312-2/+7
| | | | * v8: Interrupts must not mask stack overflow. (Fedor Indutny)
* v8: Interrupts must not mask stack overflow.Fedor Indutny2014-07-311-7/+2
| | | | Backport of https://codereview.chromium.org/339883002
* Now working on 0.8.28Timothy J Fontaine2014-06-161-2/+2
|
* Merge branch 'v0.8.27-release' into v0.8Timothy J Fontaine2014-06-164-4/+22
|\
| * build: support individual signing keysv0.8.27v0.8.27-releaseTimothy J Fontaine2014-06-091-2/+2
| |
| * 2014.06.09, Version 0.8.27 (maintenance)Timothy J Fontaine2014-06-093-2/+20
|/ | | | | | | | | | | | | | | * openssl: update to 1.0.0m (CVE-2014-0224) * utf8: Prevent Node from sending invalid UTF-8 (Felix Geisendörfer) - *NOTE* this introduces a breaking change, previously you could construct invalid UTF-8 and invoke an error in a client that was expecting valid UTF-8, now unmatched surrogate pairs are replaced with the unknown UTF-8 character. To restore the old functionality simply have NODE_INVALID_UTF8 environment variable set. * tls: fix pool usage race (Fedor Indutny) * fs: close file if fstat() fails in readFile() (cjihrig)
* openssl: regenerate asmTimothy J Fontaine2014-06-0612-9/+18
|
* openssl: apply upstream ccb0398 commitMatt Caswell2014-06-061-0/+1
| | | | Fixed Windows compilation failure
* openssl: update to 1.0.0mTimothy J Fontaine2014-06-06237-2126/+3319
|
* src: replace usage of String::Utf8ValueTimothy J Fontaine2014-06-0611-69/+166
| | | | | v8::String::Utf8Value previously could allow invalid surrogates when interpreting values.
* string_bytes: Guarantee valid utf-8 outputFelix Geisendörfer2014-06-065-4/+25
| | | | | | | | | | | Previously v8's WriteUtf8 function would produce invalid utf-8 output when encountering unmatched surrogate code units [1]. The new REPLACE_INVALID_UTF8 option fixes that by replacing invalid code points with the unicode replacement character. [1]: JS Strings are defined as arrays of 16 bit unsigned integers. There is no unicode enforcement, so one can easily end up with invalid unicode code unit sequences inside a string.
* deps/v8: Apply REPLACE_INVALID_UTF8 patchFelix Geisendörfer2014-06-064-17/+57
| | | | | | | | | | - https://codereview.chromium.org/121173009/ - https://code.google.com/p/v8/source/detail?r=18683 Note: The v8 test case did not cleanly apply, so it's missing from this patch. I'm assuming this is not a problem if the v8 test suite is not part of the node build / test system. If that's the case I'll fix it. Otherwise the test case will be integrated once v8 is upgraded.
* string_decoder: Add more commentsFelix Geisendörfer2014-06-061-0/+25
|
* string_decoder: Fix failures from new test casesFelix Geisendörfer2014-06-061-21/+19
| | | | | | This patch simplifies the implementation of StringDecoder, fixes the failures from the new test cases, and also no longer relies on v8's WriteUtf8 function to encode individual surrogates.
* string_decoder: Improve test coverageFelix Geisendörfer2014-06-061-123/+82
| | | | | | The test cases are still essentially the same, but now all possible ways of writing a buffer into the decoder are tested, which has exposed a few failing scenarios that had not been discovered so far!
* src: avoid extra syscalls during node initTimothy J Fontaine2014-06-061-8/+4
|
* fs: close file if fstat() fails in readFile()cjihrig2014-05-281-1/+6
| | | | | | | | Currently, if fstat() fails in readFile(), the callback is invoked without closing the file. This commit closes the file before calling back. Closes #7697
* tls: fix pool usage raceFedor Indutny2014-01-082-3/+71
| | | | | | | | | | | When calling `encOut` in loop, `maybeInitFinished()` may invoke `clearOut`'s loop, leading to the writing of interleaved data (encrypted and cleartext) into the one shared pool. Move `maybeInitFinished()` out of the loop and add assertion for future. backport of 60f777d
* test: fix http backpressure test caseEugene Girshov2013-11-071-2/+5
| | | | | - use socket timeout event, - pause socket from the client side.
* v8: backport b3775cf3 from upstreamFedor Indutny2013-10-311-1/+2
|
* Now working on 0.8.27Timothy J Fontaine2013-10-181-2/+2
|
* Merge branch 'v0.8.26-release' into v0.8Timothy J Fontaine2013-10-182-2/+19
|\
| * 2013.10.13, Version 0.8.26 (maintenance)Timothy J Fontaine2013-10-182-2/+19
|/ | | | | | | | | | | | | | | | * v8: Upgrade to 3.11.10.26 * crypto: clear openssl error stack when handled (Ben Noordhuis) * crypto: clear errors from verify failure (Timothy J Fontaine) * crypto: fix memory leak in LoadPKCS12 (Fedor Indutny) * http: provide backpressure for pipeline flood (isaacs) * http_parser: expose pause/resume method for parser (Timothy J Fontaine) * readline: pause stdin before turning off terminal raw mode (Daniel Chatfield)
* crypto: clear openssl error stack when handledBen Noordhuis2013-10-181-0/+3
| | | | | | | | | | | | Clear OpenSSL's error stack on return from Connection::HandleSSLError(). This stops stale errors from popping up later in the lifecycle of the SSL connection where they would cause spurious failures. This commit causes a 1-2% performance regression on `make bench-tls`. We'll address that in follow-up commits if possible but let's ensure correctness first. Backport of c6e2db2
* crypto: clear errors from verify failureTimothy J Fontaine2013-10-182-0/+89
| | | | | | | OpenSSL will push errors onto the stack when a verify fails, which can disrupt TLS and other routines if we don't clear the error stack Fixes #6304
* http: provide backpressure for pipeline floodisaacs2013-10-182-1/+150
| | | | | | | | | If a client sends a lot more pipelined requests than we can handle, then we need to provide backpressure so that the client knows to back off. Do this by pausing both the stream and the parser itself when the responses are not being read by the downstream client. Backport of 085dd30
* http_parser: expose pause/resume method for parserTimothy J Fontaine2013-10-161-0/+11
|
* readline: pause stdin before turning off terminal raw modeDaniel Chatfield2013-08-172-1/+43
| | | | | | | | | | | | | | | | | | | On windows, libuv will immediately make a `ReadConsole` call (in the thread pool) when a 'flowing' `uv_tty_t` handle is switched to line-buffered mode. That causes an immediate issue for some users, since libuv can't cancel the `ReadConsole` operation on Windows 8 / Server 2012 and up if the program switches back to raw mode later. But even if this will be fixed in libuv at some point, it's better to avoid the overhead of starting work in the thread pool and immediately cancelling it afther that. See also f34f1e3, where the same change is made for the opposite flow, e.g. move `resume()` after `_setRawMode(true)`. Fixes #5927 This is a backport of dfb0461 (see #5930) to the v0.8 branch.
* crypto: fix memory leak in LoadPKCS12Fedor Indutny2013-07-291-0/+1
| | | | | | | X509_STORE_add_cert increment reference of passed `x509` cert, `X509_free` must be called to avoid memory leak. This is a back-port of commit c1db1ec from the master branch.
* V8 build: 'echo -n' considered harmfulisaacs2013-06-261-2/+2
|
* v8: remove optimization switchesBen Noordhuis2013-06-261-10/+0
| | | | | | | | | | | Remove compiler switches from $(TOPLEVEL)/deps/v8/build/common.gypi, we set them globally in $(TOPLEVEL)/common.gypi. Commit 29d12c73 accidentally reintroduced the switches again. In particular, the 'cflags!': ['-O2','-Os'] section forced building V8 without any optimizations, resulting in a steep (~66%) performance drop on some benchmarks. Fixes #4191.
* V8: Reapply patchesisaacs2013-06-2618-183/+295
|
* v8: Upgrade to 3.11.10.26isaacs2013-06-2620-299/+197
|
* Now working on 0.8.26isaacs2013-06-131-2/+2
|
* Merge branch 'v0.8.25-release' into v0.8isaacs2013-06-132-2/+9
|\
| * 2013.06.13, Version 0.8.25 (maintenance)v0.8.25v0.8.25-releaseisaacs2013-06-132-2/+9
|/ | | | | | * npm: Upgrade to 1.2.30 * child_process: fix handle delivery (Ben Noordhuis)
* npm: Upgrade to 1.2.30isaacs2013-06-12117-193/+460
|
* child_process: fix handle deliveryBen Noordhuis2013-06-061-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | node.js and libuv depend on the fact that none of the supported systems ever emit more than one SCM_RIGHTS message from a recvmsg() syscall. SCM_RIGHTS messages are never coalesced. SCM_RIGHTS and normal messages however _are_ coalesced. That is, recvmsg() might return this: recvmsg(); // { "message-with-fd", "message", "message" } The operating system implicitly breaks pending messages along SCM_RIGHTS boundaries. Most Unices break before such messages but Linux also breaks _after_ them. When the sender looks like this: sendmsg("message"); sendmsg("message-with-fd"); sendmsg("message"); Then on most Unices the receiver sees messages arriving like this: recvmsg(); // { "message" } recvmsg(); // { "message-with-fd", "message" } The bug fix in commit 9352c19 assumes this behavior. On Linux however, those messages can also come in like this: recvmsg(); // { "message", "message-with-fd" } recvmsg(); // { "message" } In other words, it's incorrect to assume that the file descriptor is always attached to the first message. This commit makes node wise up. This is a back-port of commit 21bd456 from the v0.10 branch. The test has been dropped as it's not compatible with the v0.8 process model. Fixes #5330. Conflicts: lib/child_process.js
* npm: Upgrade to 1.2.27isaacs2013-06-06331-14772/+353
|
* Now working on v0.8.25isaacs2013-06-041-2/+2
|
* Merge branch 'v0.8.24-release' into v0.8isaacs2013-06-042-2/+13
|\
| * 2013.06.04, Version 0.8.24 (maintenance)v0.8.24v0.8.24-releaseisaacs2013-06-032-2/+13
|/ | | | | | | | | | * npm: Upgrade to v1.2.24 * url: Properly parse certain oddly formed urls (isaacs) * http: Don't try to destroy nonexistent sockets (isaacs) * handle_wrap: fix NULL pointer dereference (Ben Noordhuis)
* npm: Upgrade to 1.2.24isaacs2013-06-03656-20121/+41227
|
* url: Properly parse certain oddly formed urlsisaacs2013-06-032-57/+110
| | | | | | | | | | | | | | | | | | | | | | | | | In cases where there are multiple @-chars in a url, Node currently parses the hostname and auth sections differently than web browsers. This part of the bug is serious, and should be landed in v0.10, and also ported to v0.8, and releases made as soon as possible. The less serious issue is that there are many other sorts of malformed urls which Node either accepts when it should reject, or interprets differently than web browsers. For example, `http://a.com*foo` is interpreted by Node like `http://a.com/*foo` when web browsers treat this as `http://a.com%3Bfoo/`. In general, *only* the `hostEndingChars` should be the characters that delimit the host portion of the URL. Most of the current `nonHostChars` that appear in the hostname should be escaped, but some of them (such as `;` and `%` when it does not introduce a hex pair) should raise an error. We need to have a broader discussion about whether it's best to throw in these cases, and potentially break extant programs, or return an object that has every field set to `null` so that any attempt to read the hostname/auth/etc. will appear to be empty.
* http: Don't try to destroy nonexistent socketsisaacs2013-04-222-2/+89
| | | | | | | | | | | | | Fixes #3740 In the case of pipelined requests, you can have a situation where the socket gets destroyed via one req/res object, but then trying to destroy *another* req/res on the same socket will cause it to call undefined.destroy(), since it was already removed from that message. Add a guard to OutgoingMessage.destroy and IncomingMessage.destroy to prevent this error.
* test: make stdout-close-unref work in test runnerBen Noordhuis2013-04-181-2/+3
| | | | | | | | process.stdout isn't fully initialized yet by the time the test starts when invoked with `python tools/test.py`. Use process.stdin instead and force initialization with process.stdin.resume(). This is a back-port of commit 2e70dda from the v0.10 branch.
* handle_wrap: fix NULL pointer dereferenceBen Noordhuis2013-04-162-4/+31
| | | | | | | | | | | | Fix a NULL pointer dereference in src/handle_wrap.cc which is really a use-after-close bug. The test checks that unref() after close() works on process.stdout but this bug affects everything that derives from HandleWrap. I discovered it because child processes would sometimes quit for no reason (that is, no reason until I turned on core dumps.) This is a back-port of commit ccd3722 from the v0.10 branch.
* Now working on 0.8.24isaacs2013-04-081-2/+2
|
* Merge branch 'v0.8.23-release' into v0.8isaacs2013-04-08469-1399/+34179
|\