7072 Commits

Author SHA1 Message Date
Bert Belder
4c171a504d uv: upgrade to 3d9de13 2012-09-14 04:00:30 +02:00
Bert Belder
d908b83f59 uv: upgrade to a28f145 2012-09-14 02:56:41 +02:00
Pavel Lang
7ab4a77d6f buffer: update constructor prototype
Change Buffer::New(char*, size_t) to Buffer::New(const char*, size_t).
2012-09-13 16:31:04 +02:00
Ben Noordhuis
bec863b7de crypto: use uv_thread_self() 2012-09-13 16:20:36 +02:00
Ben Noordhuis
dd1b947706 deps: upgrade libuv to 1f9bd99 2012-09-13 16:18:54 +02:00
Ben Noordhuis
2c97da82f5 bench: correct time calculation in url.js 2012-09-13 14:02:22 +02:00
Shigeki Ohtsu
1bcf29ef33 openssl: disable EC_NISTP_64_GCC_128 on ia32
uint128_t won't work on 32-bit platform

Closes #4008.
2012-09-12 20:51:40 -07:00
Ben Noordhuis
10ba95c11a bench: improve url parser benchmark 2012-09-13 01:21:54 +02:00
Felix Böhm
f5c68b280f bench: add url parser benchmark 2012-09-13 01:21:53 +02:00
isaacs
bb207c2827 Merge remote-tracking branch 'ry/v0.8' into master
Conflicts:
	ChangeLog
	src/node_version.h
	test/simple/test-util-inspect.js
2012-09-12 15:13:07 -07:00
Frédéric Germain
451ff1540a http: Remove timeout handler when data arrives 2012-09-12 09:50:06 -07:00
Ben Noordhuis
d3fa0dcb89 openssl: disable harmless compiler warnings
Compile with -Wno-missing-field-initializers and -Wno-old-style-declaration.
The warnings are harmless but they clutter the build output a great deal.
2012-09-12 17:57:22 +02:00
Ben Noordhuis
58a5bc1ec7 doc: fs: clarfify fs.watch() documentation
fs.watch() is implemented on all supported platforms but, depending on the
object being watched, doesn't always work reliably (or at all).

Fixes #4005.
2012-09-12 17:08:32 +02:00
Bert Belder
4b8721aad0 openssl: remove obsolete patch files
These patches were provided by Android and Chromium. In this form they
are not useful. The ones that we need are landed as separate commits.

As of openssl 1.0.1c, three of them made it upstream:
  * npn.patch (Next Protocol Negotiation support)
  * tls_exporter.patch (RFC 5705 Keying Material Exporters for TLS)
  * openssl_no_dtls1.patch (minor bugfix)
2012-09-12 05:24:03 +02:00
Bert Belder
8d082d0f88 openssl: update the GYP build to work with openssl 1.0.1c 2012-09-12 05:24:01 +02:00
Bert Belder
c4b9be7c5a openssl: replace symlinks by #include shims
Git for Windows can't create symlinks. This works too.
2012-09-12 05:23:59 +02:00
Bert Belder
709e935239 openssl: use dummy OPENSSL_cpuid_setup function
Use a empty implementation for function OPENSSL_cpuid_setup to resolve link
error. We should figure out how to geenrate platform specific implementation
of OPENSSL_cpuid_setup by leveraging crypto/*cpuid.pl.

This patch is taken from Chromium.
2012-09-12 05:23:58 +02:00
Bert Belder
9fc84fdad9 openssl: don't read user input from the TTY 2012-09-12 05:23:56 +02:00
Ben Noordhuis
988a164cd8 openssl: fix uninitialized memory access
ASN1_STRING_to_UTF8() passes an ASN1_STRING to ASN1_STRING_set() but
forgot to initialize the `length` field.

Fixes the following valgrind error:

  $ valgrind -q --track-origins=yes --num-callers=19 \
      out/Debug/node test/simple/test-tls-client-abort.js
  ==2690== Conditional jump or move depends on uninitialised value(s)
  ==2690==    at 0x784B69: ASN1_STRING_set (asn1_lib.c:382)
  ==2690==    by 0x809564: ASN1_mbstring_ncopy (a_mbstr.c:204)
  ==2690==    by 0x8090F0: ASN1_mbstring_copy (a_mbstr.c:86)
  ==2690==    by 0x782F1F: ASN1_STRING_to_UTF8 (a_strex.c:570)
  ==2690==    by 0x78F090: asn1_string_canon (x_name.c:409)
  ==2690==    by 0x78EF17: x509_name_canon (x_name.c:354)
  ==2690==    by 0x78EA7D: x509_name_ex_d2i (x_name.c:210)
  ==2690==    by 0x788058: ASN1_item_ex_d2i (tasn_dec.c:239)
  ==2690==    by 0x7890D4: asn1_template_noexp_d2i (tasn_dec.c:746)
  ==2690==    by 0x788CB6: asn1_template_ex_d2i (tasn_dec.c:607)
  ==2690==    by 0x78877A: ASN1_item_ex_d2i (tasn_dec.c:448)
  ==2690==    by 0x7890D4: asn1_template_noexp_d2i (tasn_dec.c:746)
  ==2690==    by 0x788CB6: asn1_template_ex_d2i (tasn_dec.c:607)
  ==2690==    by 0x78877A: ASN1_item_ex_d2i (tasn_dec.c:448)
  ==2690==    by 0x787C93: ASN1_item_d2i (tasn_dec.c:136)
  ==2690==    by 0x78F5E4: d2i_X509 (x_x509.c:141)
  ==2690==    by 0x7C9B91: PEM_ASN1_read_bio (pem_oth.c:81)
  ==2690==    by 0x7CA506: PEM_read_bio_X509 (pem_x509.c:67)
  ==2690==    by 0x703C9A: node::crypto::SecureContext::AddRootCerts(v8::Arguments const&) (node_crypto.cc:497)
  ==2690==  Uninitialised value was created by a stack allocation
  ==2690==    at 0x782E89: ASN1_STRING_to_UTF8 (a_strex.c:560)
2012-09-12 05:23:54 +02:00
Bert Belder
c23ac14cba openssl: backward compatibility after x509 hash function change
There are many symbolic links under /etc/ssl/certs created by using hash of
the pem certificates in order for OpenSSL to find those certificate.
Openssl has a tool to help you create hash symbolic links. (See tools/c_rehash)
However the new openssl changed the hash algorithm, Unless you compile/install
the latest openssl library and re-create all related symbolic links, the new
openssl can not find some certificates because the links of those certificates
were created by using old hash algorithm, which causes some tests failed.

This patch gives a way to find a certificate according to its hash by using both
new algorithm and old algorithm.

crbug.com/111045 is used to track this issue.

This patch is taken from the Chromium project.
2012-09-12 05:23:52 +02:00
Ben Noordhuis
2fad7a8c1b openssl: apply upstream sha1-armv4-large.pl patch
This is a back-port of r22768: sha1-armv4-large.pl: comply with ABI.
2012-09-12 05:23:51 +02:00
Bert Belder
1d9b4ace8a openssl: support handshake cut-through
Enables SSL3+ clients to send application data immediately following the
Finished message even when negotiating full-handshakes.  With this patch,
clients can negotiate SSL connections in 1-RTT even when performing
full-handshakes.

This patch is taken from the Android Open Source Project.
2012-09-12 05:23:49 +02:00
Bert Belder
ff22a0cb15 openssl: reduce memory consumption
SSL records may be as large as 16K, but are typically < 2K.  In
addition, a historic bug in Windows allowed records to be as large
32K.  OpenSSL statically allocates read and write buffers (34K and
18K respectively) used for processing records.

With this patch, OpenSSL statically allocates 4K + 4K buffers, with
the option of dynamically growing buffers to 34K + 4K, which is a
saving of 44K per connection for the typical case.

This patch is taken from the Android Open Source Project.
2012-09-12 05:23:47 +02:00
Ben Noordhuis
4870a4e3da doc: http: expand request.headers documentation 2012-09-12 02:46:53 +02:00
Bert Belder
b61ae54e18 openssl: upgrade to vanilla openssl 1.0.1c 2012-09-12 00:40:55 +02:00
isaacs
362189a5d3 Now working on 0.8.10 2012-09-11 11:59:37 -07:00
isaacs
d80de98e91 blog: Post for 0.8.9 2012-09-11 11:59:10 -07:00
isaacs
72d3124841 Merge branch 'v0.8.9-release' into v0.8 2012-09-11 11:58:35 -07:00
isaacs
b88c3902b2 2012.09.11, Version 0.8.9 (Stable)
* v8: upgrade to 3.11.10.22

* GYP: upgrade to r1477

* npm: Upgrade to 1.1.61

* npm: Don't create world-writable files (isaacs)

* windows: fix single-accept mode for shared server sockets (Bert Belder)

* windows: fix uninitialized memory access in uv_update_time() (Bert Belder)

* windows: don't throw when a signal handler is attached (Bert Belder)

* unix: fix memory leak in udp (Ben Noordhuis)

* unix: map errno ESPIPE (Ben Noordhuis)

* unix, windows: fix memory corruption in fs-poll.c (Ben Noordhuis)

* sunos: fix os.cpus() on x86_64 (Ben Noordhuis)

* child process: fix processes with IPC channel don't emit 'close' (Bert Belder)

* build: add a "--dest-os" option to force a gyp "flavor" (Nathan Rajlich)

* build: set `process.platform` to "sunos" on SunOS (Nathan Rajlich)

* build: fix `make -j` fails after `make clean` (Bearice Ren)

* build: fix openssl configuration for "arm" builds (Nathan Rajlich)

* tls: support unix domain socket/named pipe in tls.connect (Shigeki Ohtsu)

* https: make https.get() accept a URL (koichik)

* http: respect HTTP/1.0 TE header (Ben Noordhuis)

* crypto, tls: Domainify setSNICallback, pbkdf2, randomBytes (Ben Noordhuis)

* stream.pipe: Don't call destroy() unless it's a function (isaacs)
v0.8.9
2012-09-11 11:08:07 -07:00
isaacs
1c2982b94f Update doc and test for sunos/solaris switch 2012-09-11 10:57:25 -07:00
Ben Noordhuis
c8c638a841 buffer: change prototype of Data() and Length()
Make Buffer:Data() and Buffer::Length() accept a Value instead of an Object.
2012-09-11 18:33:30 +02:00
isaacs
6e0b8b169c doc: Fork me image should be full url 2012-09-11 08:45:25 -07:00
isaacs
e35cec5c05 doc: Put current version on homepage 2012-09-11 08:43:31 -07:00
isaacs
005ae23250 doc: Add Node Dublin to community page 2012-09-11 08:43:28 -07:00
Ben Noordhuis
eaf1343100 crypto: remove legacy openssl compatibility code
Remove code that works around a padding bug in older versions of openssl, the
bundled version of openssl contains the bug fix.
2012-09-11 15:42:04 +02:00
Ben Noordhuis
98d53ac51e test: add AES-256 padding crypto test 2012-09-11 15:40:39 +02:00
isaacs
41e1b171ec stream.pipe: Don't call destroy() unless it's a function 2012-09-10 16:00:27 -07:00
isaacs
54a4c639e9 npm: Upgrade to 1.1.61 2012-09-10 09:11:54 -07:00
Ben Noordhuis
5d9968f53d installer: don't install header files
They are no longer necessary now that node-waf has been removed. People need to
switch to node-gyp.
2012-09-10 01:31:13 +02:00
Nathan Rajlich
608898c15b configure: add a "--dest-os" option to force a gyp "flavor"
This makes cross-compiling easier. i.e. from my mac:

    ./configure --dest-cpu=arm --dest-os=linux
2012-09-09 11:41:05 -07:00
Nathan Rajlich
dba47aefa5 docs: fix typo in Buffer#toJSON() docs 2012-09-09 11:15:45 -07:00
Nathan Rajlich
a4ef01df07 buffer: implement Buffer.prototype.toJSON()
Returns an Array-representation of the Buffer.
Closes #3905.
2012-09-09 11:04:16 -07:00
Nathan Rajlich
fb383a0ad0 util: make util.inspect() work when "hasOwnProperty" is overwritten 2012-09-08 15:09:59 -07:00
Ben Noordhuis
9a3521cb25 http: respect HTTP/1.0 TE header
A HTTP/1.0 client does not support 'Transfer-Encoding: chunked' unless it
explicitly requests it by sending a 'TE: chunked' header.

Before this commit, node.js always disabled chunked encoding for HTTP/1.0
clients. Now it will scan for the TE header and turn on chunked encoding if
requested and applicable.

Fixes #940.
2012-09-08 21:43:57 +02:00
Pooya Karimian
0087bc6370 cluster.worker description and examples ere missing from the top level of docs 2012-09-06 22:00:05 +02:00
Fedor Indutny
052e63f27f v8: fix semaphore on MacOS
Landed upstream: https://chromiumcodereview.appspot.com/10867009/
2012-09-06 16:07:40 +02:00
Bert Belder
c5e554dc7e v8: reapply floating patches 2012-09-06 15:58:37 +02:00
Bert Belder
4899116d4b v8: upgrade to 3.11.10.22 2012-09-06 15:58:09 +02:00
Fedor Indutny
8e0c830cd0 tls: async session storage 2012-09-05 02:01:54 +04:00
Ben Noordhuis
790d651f0d http: make http.ServerResponse emit 'end'
This used to be the internal 'finish' event. Make it public so API users will
know when the response has been sent completely.

Fixes #3855.
2012-09-04 22:07:48 +02:00