Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: v0.9.2-release
Commits on Sep 18, 2012
  1. @isaacs

    2012.09.17, Version 0.9.2 (Unstable)

    isaacs authored
    * http_parser: upgrade to ad3b631
    
    * openssl: upgrade 1.0.1c
    
    * darwin: use FSEvents to watch directory changes (Fedor Indutny)
    
    * unix: support missing API on NetBSD (Shigeki Ohtsu)
    
    * unix: fix EMFILE busy loop (Ben Noordhuis)
    
    * windows: un-break writable tty handles (Bert Belder)
    
    * windows: map WSAESHUTDOWN to UV_EPIPE (Bert Belder)
    
    * windows: make spawn with custom environment work again (Bert Belder)
    
    * windows: map ERROR_DIRECTORY to UV_ENOENT (Bert Belder)
    
    * tls, https: validate server certificate by default (Ben Noordhuis)
    
    * tls, https: throw exception on missing key/cert (Ben Noordhuis)
    
    * tls: async session storage (Fedor Indutny)
    
    * installer: don't install header files (Ben Noordhuis)
    
    * buffer: implement Buffer.prototype.toJSON() (Nathan Rajlich)
    
    * buffer: added support for writing NaN and Infinity (koichik)
    
    * http: make http.ServerResponse emit 'end' (Ben Noordhuis)
    
    * build: ./configure --ninja (Ben Noordhuis, Timothy J Fontaine)
    
    * installer: fix --without-npm (Ben Noordhuis)
    
    * cli: make -p equivalent to -pe (Ben Noordhuis)
    
    * url: Go much faster by using Url class (isaacs)
  2. @piscisaureus @isaacs

    openssl: fix the Windows x64 build

    piscisaureus authored isaacs committed
  3. @isaacs
Commits on Sep 17, 2012
  1. @isaacs
  2. @isaacs
  3. @isaacs

    url: Go much faster by using Url class

    isaacs authored
    V8 loves it when JavaScript pretends to be a Classic inheritance
    type of language.
    
    Before:
    
    $ ./node benchmark/url.js
    benchmarking parse() ... 1.868 sec
    benchmarking format() ... 1.906 sec
    benchmarking resolve("../foo/bar?baz=boom") ... 7.800 sec
    benchmarking resolve("foo/bar") ... 7.099 sec
    benchmarking resolve("http://nodejs.org") ... 8.403 sec
    benchmarking resolve("./foo/bar?baz") ... 7.974 sec
    
    After:
    
    $ ./node benchmark/url.js
    benchmarking parse() ... 1.769 sec
    benchmarking format() ... 1.793 sec
    benchmarking resolve("../foo/bar?baz=boom") ... 4.254 sec
    benchmarking resolve("foo/bar") ... 3.932 sec
    benchmarking resolve("http://nodejs.org") ... 4.382 sec
    benchmarking resolve("./foo/bar?baz") ... 4.293 sec
Commits on Sep 14, 2012
  1. @bnoordhuis

    test: set rejectUnauthorized in tls/https tests

    bnoordhuis authored
    Update the tls and https tests to explicitly set rejectUnauthorized instead of
    relying on the NODE_TLS_REJECT_UNAUTHORIZED environment variable getting set.
  2. @bnoordhuis

    tls, https: validate server certificate by default

    bnoordhuis authored
    This commit changes the default value of the rejectUnauthorized option from
    false to true.
    
    What that means is that tls.connect(), https.get() and https.request() will
    reject invalid server certificates from now on, including self-signed
    certificates.
    
    There is an escape hatch: if you set the NODE_TLS_REJECT_UNAUTHORIZED
    environment variable to the literal string "0", node.js reverts to its
    old behavior.
    
    Fixes #3949.
  3. @piscisaureus

    uv: upgrade to 3d9de13

    piscisaureus authored
  4. @piscisaureus

    uv: upgrade to a28f145

    piscisaureus authored
Commits on Sep 13, 2012
  1. @langpavel @bnoordhuis

    buffer: update constructor prototype

    langpavel authored bnoordhuis committed
    Change Buffer::New(char*, size_t) to Buffer::New(const char*, size_t).
  2. @bnoordhuis
  3. @bnoordhuis
  4. @bnoordhuis
  5. @shigeki @TooTallNate

    openssl: disable EC_NISTP_64_GCC_128 on ia32

    shigeki authored TooTallNate committed
    uint128_t won't work on 32-bit platform
    
    Closes #4008.
Commits on Sep 12, 2012
  1. @bnoordhuis
  2. @fb55 @bnoordhuis

    bench: add url parser benchmark

    fb55 authored bnoordhuis committed
  3. @isaacs

    Merge remote-tracking branch 'ry/v0.8' into master

    isaacs authored
    Conflicts:
    	ChangeLog
    	src/node_version.h
    	test/simple/test-util-inspect.js
  4. @fredericgermain @isaacs

    http: Remove timeout handler when data arrives

    fredericgermain authored isaacs committed
  5. @bnoordhuis

    openssl: disable harmless compiler warnings

    bnoordhuis authored
    Compile with -Wno-missing-field-initializers and -Wno-old-style-declaration.
    The warnings are harmless but they clutter the build output a great deal.
  6. @bnoordhuis

    doc: fs: clarfify fs.watch() documentation

    bnoordhuis authored
    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.
  7. @piscisaureus

    openssl: remove obsolete patch files

    piscisaureus authored
    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)
  8. @piscisaureus
  9. @piscisaureus

    openssl: replace symlinks by #include shims

    piscisaureus authored
    Git for Windows can't create symlinks. This works too.
  10. @piscisaureus

    openssl: use dummy OPENSSL_cpuid_setup function

    piscisaureus authored
    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.
  11. @piscisaureus
  12. @bnoordhuis @piscisaureus

    openssl: fix uninitialized memory access

    bnoordhuis authored piscisaureus committed
    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)
  13. @piscisaureus

    openssl: backward compatibility after x509 hash function change

    piscisaureus authored
    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.
  14. @bnoordhuis @piscisaureus

    openssl: apply upstream sha1-armv4-large.pl patch

    bnoordhuis authored piscisaureus committed
    This is a back-port of r22768: sha1-armv4-large.pl: comply with ABI.
  15. @piscisaureus

    openssl: support handshake cut-through

    piscisaureus authored
    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.
  16. @piscisaureus

    openssl: reduce memory consumption

    piscisaureus authored
    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.
  17. @bnoordhuis
Commits on Sep 11, 2012
  1. @piscisaureus
  2. @isaacs

    Now working on 0.8.10

    isaacs authored
  3. @isaacs

    blog: Post for 0.8.9

    isaacs authored
Something went wrong with that request. Please try again.