- Apr 13, 2013
-
-
Ben Noordhuis authored
Make http.request() and friends escape unsafe characters in the request path. That is, a request for '/foo bar' is now escaped as '/foo%20bar'. Before this commit, the path was used as-is in the request status line, creating an invalid HTTP request ("GET /foo bar HTTP/1.1"). Fixes #4381. -
isaacs authored
-
isaacs authored
This makes node's http URL handling logic identical to Chrome's Re #5284
-
- Apr 12, 2013
-
-
Fedor Indutny authored
-
Fedor Indutny authored
Conflicts: ChangeLog deps/uv/src/version.c src/node.h src/node_crypto.cc src/node_crypto_bio.cc src/node_crypto_bio.h src/node_object_wrap.h src/node_version.h
-
isaacs authored
-
isaacs authored
Fix #5272 The consumption of a readable stream is a dance with 3 partners. 1. The specific stream Author (A) 2. The Stream Base class (B), and 3. The Consumer of the stream (C) When B calls the _read() method that A implements, it sets a 'reading' flag, so that parallel calls to _read() can be avoided. When A calls stream.push(), B knows that it's safe to start calling _read() again. If the consumer C is some kind of parser that wants in some cases to pass the source stream off to some other party, but not before "putting back" some bit of previously consumed data (as in the case of Node's websocket http upgrade implementation). So, stream.unshift() will generally *never* be called by A, but *only* called by C. Prior to this patch, stream.unshift() *also* unset the state.reading flag, meaning that C could indicate the end of a read, and B would dutifully fire off another _read() call to A. This is inappropriate. In the case of fs streams, and other variably-laggy streams that don't tolerate overlapped _read() calls, this causes big problems. Also, calling stream.shift() after the 'end' event did not raise any kind of error, but would cause very strange behavior indeed. Calling it after the EOF chunk was seen, but before the 'end' event was fired would also cause weird behavior, and could lead to data being lost, since it would not emit another 'readable' event. This change makes it so that: 1. stream.unshift() does *not* set state.reading = false 2. stream.unshift() is allowed up until the 'end' event. 3. unshifting onto a EOF-encountered and zero-length (but not yet end-emitted) stream will defer the 'end' event until the new data is consumed. 4. pushing onto a EOF-encountered stream is now an error. So, if you read(), you have that single tick to safely unshift() data back into the stream, even if the null chunk was pushed, and the length was 0.
-
isaacs authored
-
isaacs authored
-
isaacs authored
-
isaacs authored
-
isaacs authored
* uv: Upgrade to 0.10.4 * npm: Upgrade to 1.2.18 * v8: Avoid excessive memory growth in JSON.parse (Fedor Indutny) * child_process, cluster: fix O(n*m) scan of cmd string (Ben Noordhuis) * net: fix socket.bytesWritten Buffers support (Fedor Indutny) * buffer: fix offset checks (Łukasz Walukiewicz) * stream: call write cb before finish event (isaacs) * http: Support write(data, 'hex') (isaacs) * crypto: dh secret should be left-padded (Fedor Indutny) * process: expose NODE_MODULE_VERSION in process.versions (Rod Vagg) * crypto: fix constructor call in crypto streams (Andreas Madsen) * net: account for encoding in .byteLength (Fedor Indutny) * net: fix buffer iteration in bytesWritten (Fedor Indutny) * crypto: zero is not an error if writing 0 bytes (Fedor Indutny) * tls: Re-enable check of CN-ID in cert verification (Tobias Müllerleile)
-
isaacs authored
-
isaacs authored
-
- Apr 11, 2013
-
-
Ben Noordhuis authored
Don't scan the whole string for a "NODE_" substring, just check that the string starts with the expected prefix. This is a reprise of dbbfbe74 but this time for the child_process module.
-
Ben Noordhuis authored
Don't scan the whole string for a "NODE_CLUSTER_" substring, just check that the string starts with the expected prefix. The linear scan was causing a noticeable (but unsurprising) slowdown on messages with a large .cmd string property.
-
Trevor Norris authored
Removed the following compiler warning from clang: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
-
Trevor Norris authored
-
Trevor Norris authored
Make it easy to check if domains are in use
-
Trevor Norris authored
The name UsingDomains is misleading for a function that initializes domains for use.
-
Trevor Norris authored
-
- Apr 10, 2013
-
-
Ben Noordhuis authored
Call SetPointerInInternalField(0, NULL) rather than SetInternalField(0, Undefined()). Fixes the following spurious NULL pointer dereference in debug builds: #0 0x03ad2821 in v8::internal::FixedArrayBase::length () #1 0x03ad1dfc in v8::internal::FixedArray::get () #2 0x03ae05dd in v8::internal::Context::global_object () #3 0x03b6b87d in v8::internal::Context::builtins () #4 0x03ae1871 in v8::internal::Isolate::js_builtins_object () #5 0x03ab4fab in v8::CallV8HeapFunction () #6 0x03ab4d4a in v8::Value::Equals () #7 0x03b4f38b in CheckEqualsHelper () #8 0x03ac0f4b in v8::Object::SetInternalField () #9 0x06a99ddd in node::ObjectWrap::~ObjectWrap () #10 0x06a8b051 in node::Buffer::~Buffer () #11 0x06a8afbb in node::Buffer::~Buffer () #12 0x06a8af5e in node::Buffer::~Buffer () #13 0x06a9e569 in node::ObjectWrap::WeakCallback ()
-
Fedor Indutny authored
-
Fedor Indutny authored
We should go to next buffer if *current* one is full, not the next one. Otherwise we may hop through buffers and written data will become interleaved, which will lead to failure.
-
Fedor Indutny authored
Stop changing arguments, use local variables for things that change.
-
Ben Noordhuis authored
This change shouldn't have landed in the stable branch. It's a feature, not a bug fix. This reverts commit 58f93ffc. This reverts commit 8c8ebe49. This reverts commit ba0f7b80. This reverts commit 21f3c5c3.
-
Fedor Indutny authored
Buffer.byteLength() works only for string inputs. Thus, when connection has pending Buffer to write, it should just use it's length instead of throwing exception.
-
Ben Noordhuis authored
-
- Apr 09, 2013
-
-
Felix Geisendörfer authored
Brings docs in line with decision made here: https://github.com/joyent/node/issues/2582#issuecomment-9971225
-
isaacs authored
-
Łukasz Walukiewicz authored
Fixed offset checks in Buffer.readInt32LE() and Buffer.readInt32BE() functions.
-
Ben Noordhuis authored
-
Ben Noordhuis authored
-
isaacs authored
We were assuming that any string can be concatenated safely to CRLF. However, for hex, base64, or binary encoded writes, this is not the case, and results in sending the incorrect response. An unusual edge case, but certainly a bug.
-
- Apr 08, 2013
-
-
Fedor Indutny authored
DH_compute_secret() may return key that is smaller than input buffer, in such cases key should be left-padded because it is a BN (big number). fix #5239
-
Rod Vagg authored
-
Fedor Indutny authored
-
Fedor Indutny authored
We should go to next buffer if *current* one is full, not the next one. Otherwise we may hop through buffers and written data will become interleaved, which will lead to failure.
-
Fedor Indutny authored
Stop changing arguments, use local variables for things that change.
-