1. Sep 18, 2012
  2. Sep 15, 2012
    • Ben Noordhuis's avatar
      test: set rejectUnauthorized in tls/https tests · 3806cf0d
      Ben Noordhuis authored
      Update the tls and https tests to explicitly set rejectUnauthorized instead of
      relying on the NODE_TLS_REJECT_UNAUTHORIZED environment variable getting set.
      3806cf0d
    • Ben Noordhuis's avatar
      tls, https: validate server certificate by default · 35607f3a
      Ben Noordhuis 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.
      35607f3a
  3. Sep 14, 2012
  4. Sep 13, 2012
  5. Sep 12, 2012
    • Ben Noordhuis's avatar
      openssl: disable harmless compiler warnings · d3fa0dcb
      Ben Noordhuis 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.
      d3fa0dcb
    • Ben Noordhuis's avatar
      doc: fs: clarfify fs.watch() documentation · 58a5bc1e
      Ben Noordhuis 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.
      58a5bc1e
    • Bert Belder's avatar
      openssl: remove obsolete patch files · 4b8721aa
      Bert Belder 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)
      4b8721aa
    • Bert Belder's avatar
      8d082d0f
    • Bert Belder's avatar
      openssl: replace symlinks by #include shims · c4b9be7c
      Bert Belder authored
      Git for Windows can't create symlinks. This works too.
      c4b9be7c
    • Bert Belder's avatar
      openssl: use dummy OPENSSL_cpuid_setup function · 709e9352
      Bert Belder 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.
      709e9352
    • Bert Belder's avatar
      openssl: don't read user input from the TTY · 9fc84fda
      Bert Belder authored
      9fc84fda
    • Ben Noordhuis's avatar
      openssl: fix uninitialized memory access · 988a164c
      Ben Noordhuis authored
      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)
      988a164c
    • Bert Belder's avatar
      openssl: backward compatibility after x509 hash function change · c23ac14c
      Bert Belder 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.
      c23ac14c
    • Ben Noordhuis's avatar
      openssl: apply upstream sha1-armv4-large.pl patch · 2fad7a8c
      Ben Noordhuis authored
      This is a back-port of r22768: sha1-armv4-large.pl: comply with ABI.
      2fad7a8c
    • Bert Belder's avatar
      openssl: support handshake cut-through · 1d9b4ace
      Bert Belder 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.
      1d9b4ace
    • Bert Belder's avatar
      openssl: reduce memory consumption · ff22a0cb
      Bert Belder 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.
      ff22a0cb
    • Ben Noordhuis's avatar
      4870a4e3
    • Bert Belder's avatar
      openssl: upgrade to vanilla openssl 1.0.1c · b61ae54e
      Bert Belder authored
      b61ae54e
    • isaacs's avatar
      Now working on 0.8.10 · 362189a5
      isaacs authored
      362189a5
    • isaacs's avatar
      blog: Post for 0.8.9 · d80de98e
      isaacs authored
      d80de98e
    • isaacs's avatar
      Merge branch 'v0.8.9-release' into v0.8 · 72d31248
      isaacs authored
      72d31248
    • isaacs's avatar
      2012.09.11, Version 0.8.9 (Stable) · b88c3902
      isaacs authored
      * 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)
      b88c3902
    • isaacs's avatar
      Update doc and test for sunos/solaris switch · 1c2982b9
      isaacs authored
      1c2982b9
    • Ben Noordhuis's avatar
      buffer: change prototype of Data() and Length() · c8c638a8
      Ben Noordhuis authored
      Make Buffer:Data() and Buffer::Length() accept a Value instead of an Object.
      c8c638a8
  6. Sep 11, 2012