Permalink
Commits on Aug 6, 2013
  1. 2013.08.06, Version 0.11.5 (Unstable)

    * v8: upgrade to 3.20.11
    
    * uv: upgrade to v0.11.7
    
    * buffer: return offset for end of last write (Trevor Norris)
    
    * build: embed the mdb_v8.so into the binary (Timothy J Fontaine)
    
    * build: fix --without-ssl build (Ben Noordhuis)
    
    * child_process: add 'shell' option to .exec() (Ben Noordhuis)
    
    * dgram: report send errors to cb, don't pass bytes (Ben Noordhuis)
    
    * fs: write strings directly to disk (Trevor Norris)
    
    * https: fix default port (Koichi Kobayashi)
    
    * openssl: use asm for sha, md5, rmd (Fedor Indutny)
    
    * os: add mac address to networkInterfaces() output (Brian White)
    
    * smalloc: introduce smalloc module (Trevor Norris)
    
    * stream: Simplify flowing, passive data listening (streams3) (isaacs)
    
    * tls: asynchronous SNICallback (Fedor Indutny)
    
    * tls: share tls tickets key between cluster workers (Fedor Indutny)
    
    * util: don't throw on circular %j input to format() (Ben Noordhuis)
    tjfontaine committed Aug 6, 2013
  2. uv: Upgrade to v0.11.7

    tjfontaine committed Aug 6, 2013
  3. tls: fix lazy initialization of clienthello parser

    `server.SNICallback` was initialized with `SNICallback.bind(this)`, and
    therefore check `this.SNICallback === SNICallback` was always false, and
    `_tls_wrap.js` always thought that it was a custom callback instead of
    default one. Which in turn was causing clienthello parser to be enabled
    regardless of presence of SNI contexts.
    indutny committed Aug 6, 2013
  4. Merge remote-tracking branch 'upstream/v0.10'

    Conflicts:
    	deps/v8/test/cctest/test-api.cc
    	lib/events.js
    	lib/http.js
    tjfontaine committed Aug 6, 2013
  5. process_wrap: omit superfluous Number creation

    Don't create a superfluous Number object, just use the version of
    v8::Object::Get() that takes an unsigned int. Convert the index to
    unsigned int while we're here.
    bnoordhuis committed Aug 6, 2013
  6. stream: Fix double pipe error emit

    If an error listener is added to a stream using once() before it is
    piped, it is invoked and removed during pipe() but before pipe() sees it
    which causes it to be emitted again.
    
    Fixes #4155 #4978
    hueniverse committed with isaacs Aug 5, 2013
  7. src: fix WITH_GENERIC_STREAM() type check bug

    The handle object was checked against the wrong constructor template.
    Put another way, it was unwrapped as the wrong StreamWrap type.
    bnoordhuis committed Aug 6, 2013
  8. crypto: fix signed/unsigned comparison warning

    The type of the expression `(uint16_t) server_names_len + 2` gets
    implicitly widened to int. Change the type of server_names_len to
    uint32_t to avoid the following warnings:
    
        ../../src/node_crypto_clienthello.cc:144: warning: comparison
        between signed and unsigned integer expressions
        ../../src/node_crypto_clienthello.cc:146: warning: comparison
        between signed and unsigned integer expressions
    bnoordhuis committed Aug 6, 2013
  9. tls: asynchronous SNICallback

    Make ClientHelloParser handle SNI extension, and extend `_tls_wrap.js`
    to support loading SNI Context from both hello, and resumed session.
    
    fix #5967
    indutny committed Aug 3, 2013
  10. tls_wrap: DRY ClientHelloParser

    Share ClientHelloParser code between `tls_wrap.cc` and `node_crypto.cc`.
    
    fix #5959
    indutny committed Aug 2, 2013
  11. doc: add a missing word in streams doc

    Ignore encoding *if* chunk is a buffer
    evansolomon committed with isaacs Aug 2, 2013
Commits on Aug 5, 2013
  1. build: embed the mdb_v8.so into the binary

    This builds and includes the mdb_v8.so in the binary of node so mdb
    can be sure to always use the latest version
    tjfontaine committed Jul 17, 2013
  2. https: fix default port

    https.get('https://github.com/') should use port 443, not 80.
    koichik committed with isaacs Aug 4, 2013
  3. v8: back-port fix for CVE-2013-2882

    Quoting the CVE:
    
        Google V8, as used in Google Chrome before 28.0.1500.95, allows
        remote attackers to cause a denial of service or possibly have
        unspecified other impact via vectors that leverage "type confusion."
    
    Likely has zero impact on node.js because it only runs local, trusted
    code but let's apply it anyway.
    
    This is a back-port of upstream commit r15665. Original commit log:
    
        Use internal array as API function cache.
    
        R=yangguo@chromium.org
        BUG=chromium:260106
        TEST=cctest/test-api/Regress260106
    
        Review URL: https://codereview.chromium.org/19159003
    
    Fixes #5973.
    mstarzinger@chromium.org committed with bnoordhuis Jul 15, 2013
  4. doc: document domain.enter() and domain.exit()

    Adds the documentation requested in #5017.
    othiym23 committed with bnoordhuis Mar 14, 2013
  5. doc: fs.open, fix flag/mode confusion, etc.

    Flags and modes aren't the same, symlinks are followed in all of the
    path but the last component, docs should say something about what the
    mode argument is for and when its used, fs.openSync should point to the
    function that contains the docs for its args, as fs.writeSync does.
    sam-github committed with bnoordhuis Aug 2, 2013
  6. v8: fix openbsd build

    This is [1] applied ahead of time. Summary:
    
        OpenBSD doesn't have <ucontext.h>. ucontext_t lives in <signal.h>
        and is a typedef for struct sigcontext. There is no uc_mcontext.
    
    [1] https://codereview.chromium.org/21705003/
    bnoordhuis committed Aug 5, 2013
Commits on Aug 4, 2013
  1. tls: fix handling of `SNICallback` server option

    It shouldn't ignore it!
    
    There're two possibile cases, which should be handled properly:
    
    1. Having a default `SNICallback` which is using contexts, added with
      `server.addContext(...)` routine
    2. Having a custom `SNICallback`.
    
    In first case we may want to opt-out setting `.onsniselect` method (and
    thus save some CPU time), if there're no contexts added. But, if custom
    `SNICallback` is used, `.onsniselect` should always be set, because
    server contexts don't affect it.
    indutny committed Aug 2, 2013
Commits on Aug 3, 2013
  1. src: use static_cast for void-to-T casts

    Code cleanup, replace a few uses of reinterpret_cast<T*>(void_ptr) with
    static_cast<T*>(void_ptr).
    bnoordhuis committed Aug 3, 2013
  2. src: use PersistentToLocal() in a few more places

    Update a few more `Local<T>::New(isolate, persistent)` call sites to
    `PersistentToLocal(isolate, persistent)` - the latter has a fast path
    for non-weak persistent references.
    bnoordhuis committed Aug 3, 2013
  3. crypto: fix another over-run in bio

    When doing `FreeEmpty`, `NodeBIO` skips pre-allocated `head_` buffer.
    However this might lead to double-freeing buffers since in `~NodeBIO()`
    we're starting deallocation from `head_` buffer.
    indutny committed Aug 3, 2013
Commits on Aug 2, 2013
  1. src: remove non-isolate PersistentToLocal(), v2

    Commit 78d9094 updated src/*.cc to use the version of PersistentToLocal
    that takes a v8::Isolate* as its first argument. This commit removes
    the non-isolate version.
    bnoordhuis committed Aug 2, 2013
  2. npm: Upgrade to 1.3.7

    isaacs committed Aug 2, 2013
  3. src: remove non-isolate PersistentToLocal()

    There is no need for it and it's a tiny bit slower than the version of
    PersistentToLocal() that takes a v8::Isolate* as its first argument.
    bnoordhuis committed Aug 2, 2013
  4. smalloc: remove double checks

    Now that values are checks in JS, no need for them to be checked in C++.
    trevnorris committed Aug 2, 2013
  5. smalloc: fix assertion fails/segfault

    * Numeric values passed to alloc were converted to int32, not uint32
      before the range check, which allows wrap around on ToUint32. This
      would cause massive malloc calls and v8 fatal errors.
    * dispose would not check if value was an Object, causing segfault if a
      Primitive was passed.
    * kMaxLength was not enumerable.
    trevnorris committed Aug 2, 2013
  6. build: fix --without-ssl build

    Build breakage accidentally introduced in 8e29ce9 during code cleanup.
    
    HAVE_OPENSSL is always defined (as either 0 or 1) so use #if rather
    than #ifdef.
    
    Fixes #5979.
    bnoordhuis committed Aug 2, 2013
Commits on Aug 1, 2013