Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master
Commits on Jan 22, 2014
  1. deps: update v8 to

  2. Merge remote-tracking branch 'origin/v0.10'

  3. @bnoordhuis

    test: fix array sorting bug

    bnoordhuis authored committed
    `a === a.sort()` is always true because Array#sort() does an in-place
    sort.  Make a copy of the array first.
  4. @bnoordhuis

    crypto: support custom pbkdf2 digest methods

    bnoordhuis authored committed
    Make the HMAC digest method configurable.  Update crypto.pbkdf2() and
    crypto.pbkdf2Sync() to take an extra, optional digest argument.
    Before this commit, SHA-1 (admittedly the most common method) was used
    Fixes #6553.
  5. @trevnorris

    node: remove asyncStack

    trevnorris authored
    Now that the context stores the active execution stack, and because
    removeAsyncListener() always removed the AsyncListener from the queue
    and the stack, there's no need to keep a stack around anymore. Instead
    the active asyncQueue and the currentContext is able to handle it all.
    Signed-off-by: Forrest L Norvell <>
  6. @trevnorris

    node: only run same AL once on error

    trevnorris authored
    Should have been included with 60fcc11 as it is the same type of fix.
    Signed-off-by: Forrest L Norvell <>
  7. @joliss @trevnorris

    path: improve POSIX path.join() performance

    joliss authored trevnorris committed
    Performance gains are ~4x (~1.5us), but still much slower than a naive
    approach. There is some duplicate work done between join(), normalize()
    and normalizeArray() so additional optimizations are possible.
    Note that this only improves the POSIX implementation.
    Thanks to @isaacs and @othiym23 for helping with this optimization.
    Signed-off-by: Trevor Norris <>
Commits on Jan 21, 2014
  1. crypto: add newline to cert and key if not present

    After one of OpenSSL updates we have stopped accepting PEM private keys
    and certificates that doesn't end with a newline (`\n`) character.
    Handle this regression in `crypto.js` to make less trouble to our users.
    fix #6892
  2. crypto: throw only in direct C++ methods

    Do not throw in internal C++ methods, that clobbers logic and may lead
    to the situations, where both exception was thrown and the value was
    returned (via `args.GetReturnValue().Set()`). That doesn't play nicely
    with v8.
    fix #6912
  3. node: `EmitExit` should not call `exit()`

    Before this commit `RunAtExit` and `env->Dispose()` were never reached,
    because `EmitExit` was always colling `exit`.
  4. addons: build and test examples

    fix #6910
  5. @orangemocha @tjfontaine

    text: give more time to test-next-tick-error-spin

    orangemocha authored tjfontaine committed
    The previous timeout was too short for certain execution conditions
    (Windows, debug build, first execution).
  6. @orangemocha @tjfontaine

    test: give test-net-GH-5504 more time to run

    orangemocha authored tjfontaine committed
    On Windows debug builds, the test was failing because the timeout
    was too short.
  7. @trevnorris

    node: compare AsyncListener instances, not uid's

    trevnorris authored
    Now that process.createAsyncListener() returns a unique object instance
    it is no longer necessary to compare the uid's of the objects.
    Signed-off-by: Timothy J Fontaine <>
  8. @trevnorris

    node: ensure same AL inst only runs once

    trevnorris authored
    It was possible that the same AL instance was run twice if it were both
    attached to the currentContext then again added to the new asyncQueue
    generated for the new stack.
    Signed-off-by: Timothy J Fontaine <>
  9. @trevnorris

    async_wrap/timers: remove Add/RemoveAsyncListener

    trevnorris authored
    The ability to add/remove an AsyncListener to an object after its
    creation was an artifact of trying to get AL working with the domain
    module. Now that is no longer necessary and other features are going to
    be implemented that would be affected by this functionality. So the code
    will be removed for now to simplify the implementation process.
    In the future this code will likely be reintroduced, but after some
    other more important matters have been addressed.
    None of this functionality was documented, as is was meant specifically
    for domain specific implementation work arounds.
    Signed-off-by: Timothy J Fontaine <>
Commits on Jan 20, 2014
  1. crypto: remove most of the `node_isolate` uses

    All C++ code should be using `args.GetIsolate()` or `env->isolate()`.
    Using static `node_isolate` var limits possible future functionality
    (like multi-isolate support).
  2. @orangemocha @tjfontaine

    test: relax timing in test-http-exit-delay

    orangemocha authored tjfontaine committed
    This test was originally intended to guard against regressions for
    commit 16b59cb.
    As such, it only needs to ensure that process exit has not been held up
    by the date cache timer, which would fire on the next second.
  3. @orangemocha @tjfontaine

    test: debug-signal-cluster increase timeouts

    orangemocha authored tjfontaine committed
    The test needs a little more time to run so that it passes for all
    builds (eg: Windows, debug)
  4. @orangemocha @tjfontaine

    debug client: connect after child is ready

    orangemocha authored tjfontaine committed
    We now wait to connect to the debuggee until we know that
    its error stream has data, to ensure that the output message
    "connecting..... ok" appears after "Debugger listening on port xyz"
    I also increased the test timeout to let the more complex
    tests finish in time on Windows
    This change fixes the following unit tests on Windows:
  5. @tjfontaine
  6. @tjfontaine
  7. @bnoordhuis

    doc: tls: note that SSLv2 is disabled by default

    bnoordhuis authored committed
    As of commit 39aa894, SSLv2 support is disabled by default.  Update
    the documentation to reflect that.
  8. @bnoordhuis

    doc: tls: clarify server cipher list

    bnoordhuis authored committed
    * Make it clear that ECDHE-RSA-AES128-SHA256 and AES128-GCM-SHA256 are
      TLS v1.2 ciphers.
    * Note that RC4 is under suspicion.
  9. gyp: fix non-ninja build

  10. @isaacs

    npm: Upgrade to v1.3.24

    isaacs authored
Commits on Jan 17, 2014
  1. @bnoordhuis @trevnorris

    src: don't mark addon_register_func as dllimport

    bnoordhuis authored trevnorris committed
    addon_register_func and its cousin addon_context_register_func are type
    definitions, dllimport and dllexport are name mangling directives, i.e.
    they're quite unrelated concepts.  MinGW complains about mixing them
    when cross-compiling native add-ons.
    Signed-off-by: Trevor Norris <>
    Signed-off-by: Bert Belder <>
  2. @bnoordhuis

    tls: make cert/pfx optional in tls.createServer()

    bnoordhuis authored committed
    Not all ciphers require the presence of a certificate.  Remove the
    check in lib/_tls_wrap.js.
    Fixes #6887.
  3. @bnoordhuis

    tls: show human-readable error messages

    bnoordhuis authored committed
    Before this commit, verification exceptions had err.message set to the
    OpenSSL error code (e.g. 'UNABLE_TO_VERIFY_LEAF_SIGNATURE').
    This commit moves the error code to err.code and replaces err.message
    with a human-readable error.  Example:
        // before
        // after
          message: 'unable to verify the first certificate'
    UNABLE_TO_VERIFY_LEAF_SIGNATURE is a good example of why you want this:
    the error code suggests that it's the last certificate that fails to
    validate while it's actually the first certificate in the chain.
    Going by the number of mailing list posts and StackOverflow questions,
    it's a source of confusion to many people.
Commits on Jan 16, 2014
  1. @tjfontaine
  2. gyp: fix `ninja` build on linux

    fix #6679
  3. @sam-github @tjfontaine

    doc: clarify Windows signal sending emulation

    sam-github authored tjfontaine committed
  4. @sam-github @tjfontaine

    child_process: fix spawn() optional arguments

    sam-github authored tjfontaine committed
    Spawn's arguments were documented to be optional, as they are for the
    other similar child_process APIs, but the code was missing. Result was
    `child_process.spawn('node', {})` errored when calling slice() on an
    Object, now it behaves as the documentation said it would.
Something went wrong with that request. Please try again.