This repository has been archived by the owner. It is now read-only.
Permalink
Switch branches/tags
Commits on May 2, 2014
Commits on May 1, 2014
  1. npm: upgrade to v1.4.9

    isaacs committed May 1, 2014
    * Send referer header (with any potentially private stuff redacted)
    * Fix critical typo bug in previous npm release
  2. 2014.05.01, Version 0.11.13 (Unstable)

    tjfontaine committed May 1, 2014
    * v8: upgrade to 3.24.35.22
    
    * buffer: add compare and equals methods (Sean McArthur)
    
    * buffer: improve {read,write}{U}Int* methods (Nick Apperson)
    
    * buffer: return uint if MSB is 1 in readUInt32 (goussardg)
    
    * buffer: truncate buffer after string decode (Fedor Indutny)
    
    * child_process: fix assertion error in spawnSync (Shigeki Ohtsu)
    
    * crypto: fix memory leak in CipherBase::Final (Fedor Indutny)
    
    * crypto: improve error messages (Ingmar Runge)
    
    * crypto: move `createCredentials` to tls (Fedor Indutny)
    
    * crypto: work around OpenSSL oddness (Fedor Indutny)
    
    * dgram: introduce `reuseAddr` option (Fedor Indutny)
    
    * domain: don't crash on "throw null" (Alex Kocharin)
    
    * events: check if _events is an own property (Vladimir Kurchatkin)
    
    * fs: improve performance of all stat functions (James Pickard)
    
    * fs: return blksize on stats object (Trevor Norris)
    
    * http: add request.flush() method (Ben Noordhuis)
    
    * http: better client "protocol not supported" error (Nathan Rajlich)
    
    * http: use defaultAgent.protocol in protocol check (Nathan Rajlich)
    
    * main: Handle SIGINT properly. (Geir Hauge)
    
    * net: bind to `::` TCP address by default (Fedor Indutny)
    
    * readline: consider newlines for cursor position (Yazhong Liu)
    
    * stream: split `objectMode` for Duplex (Vladimir Kurchatkin)
    
    * tls: `getPeerCertificate(detailed)` (Fedor Indutny)
    
    * tls: do not call SNICallback unless present (Fedor Indutny)
    
    * tls: force readable/writable to `true` (Fedor Indutny)
    
    * tls: support OCSP on client and server (Fedor Indutny)
    
    * util: made util.isArray a direct alias for Array.isArray (Evan Carroll)
  3. Merge remote-tracking branch 'upstream/v0.10'

    tjfontaine committed May 1, 2014
    Conflicts:
    	AUTHORS
    	ChangeLog
    	src/node_version.h
  4. Now working on 0.10.28

    tjfontaine committed May 1, 2014
  5. 2014.05.01, Version 0.10.27 (Stable)

    tjfontaine committed May 1, 2014
    * npm: upgrade to v1.4.8
    
    * openssl: upgrade to 1.0.1g
    
    * uv: update to v0.10.27
    
    * dns: fix certain txt entries (Fedor Indutny)
    
    * assert: Ensure reflexivity of deepEqual (Mike Pennisi)
    
    * child_process: fix deadlock when sending handles (Fedor Indutny)
    
    * child_process: fix sending handle twice (Fedor Indutny)
    
    * crypto: do not lowercase cipher/hash names (Fedor Indutny)
    
    * dtrace: workaround linker bug on FreeBSD (Fedor Indutny)
    
    * http: do not emit EOF non-readable socket (Fedor Indutny)
    
    * http: invoke createConnection when no agent (Nathan Rajlich)
    
    * stream: remove useless check (Brian White)
    
    * timer: don't reschedule timer bucket in a domain (Greg Brail)
    
    * url: treat  the same as / (isaacs)
    
    * util: format as Error if instanceof Error (Rod Vagg)
  6. Merge remote-tracking branch 'upstream/v0.10'

    tjfontaine committed May 1, 2014
    Reverted 9520ade
    
    Conflicts:
    	deps/cares/src/ares_parse_txt_reply.c
    	deps/uv/.mailmap
    	deps/uv/AUTHORS
    	deps/uv/ChangeLog
    	deps/uv/include/uv.h
    	deps/uv/src/unix/error.c
    	deps/uv/src/unix/process.c
    	deps/uv/src/version.c
    	deps/uv/src/win/pipe.c
    	deps/uv/src/win/signal.c
    	deps/uv/src/win/util.c
    	deps/uv/test/test-spawn.c
    	deps/uv/vcbuild.bat
    	deps/v8/src/platform-posix.cc
    	deps/v8/tools/gyp/v8.gyp
    	lib/util.js
    	src/node.cc
    	test/simple/test-util-format.js
    	test/simple/test-util.js
  7. npm: upgrade to v1.4.8

    isaacs committed May 1, 2014
    * Check SHA before using files from cache
    * adduser: allow change of the saved password
    * Make `npm install` respect `config.unicode`
    * Fix lifecycle to pass `Infinity` for config env value
    * Don't return 0 exit code on invalid command
    * cache: Handle 404s and other HTTP errors as errors
    * bump tap dep, make tests stderr a bit quieter
    * Resolve ~ in path configs to env.HOME
    * Include npm version in default user-agent conf
    * npm init: Use ISC as default license, use save-prefix for deps
    * Many test and doc fixes
  8. buffer: normalize compare() output

    trevnorris authored and tjfontaine committed Apr 29, 2014
    Because of differences in memcmp() implementation, normalize output to
    return -1, 0 or 1 only.
    
    Signed-off-by: Timothy J Fontaine <tjfontaine@gmail.com>
  9. uv: update to v0.10.27

    tjfontaine committed May 1, 2014
  10. deps: update uv to v0.11.25

    indutny committed May 1, 2014
Commits on Apr 30, 2014
  1. stream: split `objectMode` for Duplex

    vkurchatkin authored and tjfontaine committed Apr 15, 2014
    This commit introduces `readableObjectMode` and
    `writableObjectMode` options for Duplex streams.
    This can be used mostly to make parsers and
    serializers with Transform streams.
    
    Also the docs section about stream state objects
    is removed, because it is not relevant anymore.
    The example from the section is remade to show
    new options.
    
    fixes #6284
    
    Signed-off-by: Timothy J Fontaine <tjfontaine@gmail.com>
  2. test: update test-dns.js after a60a9b0

    tjfontaine committed Apr 30, 2014
    resolveTxt now returns a 2-d array for all the chunks string chunks
    relating to the record
  3. child_process: fix assertion error in spawnSync

    shigeki authored and tjfontaine committed Apr 21, 2014
    When ExitCallback was not called with an error such as ENOENT in
    uv_spawn, the process handle still remains refed and needs to be closed.
    
    Signed-off-by: Timothy J Fontaine <tjfontaine@gmail.com>
Commits on Apr 29, 2014
  1. crypto: improve error messages

    KiNgMaR authored and indutny committed Apr 22, 2014
    1) ThrowCryptoTypeErrors was not actually used for
       type-related errors. Removed it.
    2) For AEAD modes, OpenSSL does not set any internal
       error information if Final does not complete suc-
       cessfully. Therefore, "TypeError:error:00000000:l
       ib(0):func(0):reason(0)" would be the error mess-
       age. Use a default message for these cases.
    
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
  2. docs: add cautionary note to emitter.removeAllListeners

    othiym23 authored and indutny committed Apr 28, 2014
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
  3. crypto: fix a couple of VC++ warnings

    zerhacken authored and indutny committed Apr 28, 2014
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
  4. buffer: add compare and equals methods

    seanmonstar authored and trevnorris committed Mar 6, 2014
    compare() works like String.localeCompare such that:
    
        Buffer.compare(a, b) === a.compare(b);
    
    equals() does a native check to see if two buffers are equal.
    
    Signed-off-by: Trevor Norris <trev.norris@gmail.com>
Commits on Apr 28, 2014
  1. deps: fix v8 link error with glibc < 2.17

    bnoordhuis authored and indutny committed Apr 28, 2014
    Commit f9ced08 switches V8 on Linux over from gettimeofday() to
    clock_getres() and clock_gettime().  As of glibc 2.17, those functions
    live in libc.  For older versions, we need to pull them in from librt.
    
    Fixes the following link-time error;
    
        Release/obj.target/deps/v8/tools/gyp/libv8_base.a(platform-posix.o):
        In function `v8::internal::OS::Ticks()':
        platform-posix.cc:(.text+0x93c):
        undefined reference to `clock_gettime'
        platform-posix.cc:(.text+0x989):
        undefined reference to `clock_getres'
    
    Fixes #7514.
    
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
Commits on Apr 25, 2014
  1. util: format as Error if instanceof Error

    rvagg authored and indutny committed Oct 15, 2013
    Conflicts:
    	lib/util.js
    	test/simple/test-util-format.js
    
    This is a backport to fix #7253
    
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
  2. vm: assign Environment to created context

    denzp authored and indutny committed Apr 25, 2014
    ContextifyContext::CreateV8Context is now create context
    with Environment pointer
    
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
Commits on Apr 24, 2014
  1. deps: make v8 use CLOCK_REALTIME_COARSE

    Ben Noordhuis authored and trevnorris committed Apr 24, 2014
    Date.now() indirectly calls gettimeofday() on Linux and that's a system
    call that is extremely expensive on virtualized systems when the host
    operating system has to emulate access to the hardware clock.
    
    Case in point: output from `perf record -c 10000 -e cycles:u -g -i`
    for a benchmark/http_simple bytes/8 benchmark with a light load of
    50 concurrent clients:
    
        53.69%     node  node                 [.] v8::internal::OS::TimeCurrentMillis()
                   |
                   --- v8::internal::OS::TimeCurrentMillis()
                      |
                      |--99.77%-- v8::internal::Runtime_DateCurrentTime(v8::internal::Arguments, v8::internal::Isolate*)
                      |          0x23587880618e
    
    That's right - over half of user time spent inside the V8 function that
    calls gettimeofday().
    
    Notably, nearly all system time gets attributed to acpi_pm_read(), the
    kernel function that reads the ACPI power management timer:
    
        32.49%     node  [kernel.kallsyms]    [k] acpi_pm_read
                   |
                   --- acpi_pm_read
                      |
                      |--98.40%-- __getnstimeofday
                      |          getnstimeofday
                      |          |
                      |          |--71.61%-- do_gettimeofday
                      |          |          sys_gettimeofday
                      |          |          system_call_fastpath
                      |          |          0x7fffbbaf6dbc
                      |          |          |
                      |          |          |--98.72%-- v8::internal::OS::TimeCurrentMillis()
    
    The cost of the gettimeofday() system call is normally measured in
    nanoseconds but we were seeing 100 us averages and spikes >= 1000 us.
    The numbers were so bad, my initial hunch was that the node process was
    continuously getting rescheduled inside the system call...
    
    v8::internal::OS::TimeCurrentMillis()'s most frequent caller is
    v8::internal::Runtime_DateCurrentTime(), the V8 run-time function
    that's behind Date.now().  The timeout handling logic in lib/http.js
    and lib/net.js calls into lib/timers.js and that module will happily
    call Date.now() hundreds or even thousands of times per second.
    If you saw exports._unrefActive() show up in --prof output a lot,
    now you know why.
    
    That's why this commit makes V8 switch over to clock_gettime() on Linux.
    In particular, it checks if CLOCK_REALTIME_COARSE is available and has
    a resolution <= 1 ms because in that case the clock_gettime() call can
    be fully serviced from the vDSO.
    
    It speeds up the aforementioned benchmark by about 100% on the affected
    systems and should go a long way toward addressing the latency issues
    that StrongLoop customers have been reporting.
    
    This patch will be upstreamed as a CR against V8 3.26.  I'm sending it
    as a pull request for v0.10 first because that's what our users are
    running and because the delta between 3.26 and 3.14 is too big to
    reasonably back-port the patch.  I'll open a pull request for the
    master branch once the CR lands upstream.
    
    Signed-off-by: Trevor Norris <trev.norris@gmail.com>
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
  2. doc: fix missing link in net api

    juliangruber authored and indutny committed Apr 24, 2014
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
  3. doc: fix order in net api

    juliangruber authored and indutny committed Apr 24, 2014
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
  4. http: add request.flush() method

    bnoordhuis authored and indutny committed Apr 9, 2014
    Forcibly flushes the request headers.  You need this with long-lived
    HTTP connections where the first data isn't written until the connection
    has been established (think: tunneling requests over HTTP CONNECT.)
    
    Fixes #7296.
    
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
  5. deps: provide TXT chunk info in c-ares

    indutny committed Mar 27, 2014
    Provide more information in `ares_txt_reply` to coalesce chunks from the
    same record into one string.
    
    fix #7367
  6. Revert "deps: backport b5135bbc from c-ares repo"

    indutny committed Apr 24, 2014
    This reverts commit 896e193.
    
    Proper handling of TXT records requires API change, we can't afford it
    in v0.10.
    
    See #7371 for details.
  7. doc: tls: added path property to tls.connect

    blakmatrix authored and indutny committed Dec 15, 2012
    In tls.connect a unix socket connection to a path may be made in
    recent versions of node by specifying the value for the path
    property.
    
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
Commits on Apr 23, 2014
  1. crypto: fix memory leak in CipherBase::Final

    indutny committed Apr 22, 2014
    fix #7497
    
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
Commits on Apr 22, 2014
  1. crypto: work around OpenSSL oddness

    indutny committed Apr 17, 2014
    OpenSSL behaves oddly: on client `cert_chain` contains
    the `peer_certificate`, but on server it doesn't.
    
    Signed-off-by: Fedor Indutny <fedor@indutny.com>
Commits on Apr 17, 2014
  1. src: lint after OCSP commits

    indutny committed Apr 17, 2014
  2. tls: `getPeerCertificate(detailed)`

    indutny committed Apr 17, 2014
    Add `raw` property to certificate, add mode to output full certificate
    chain.
  3. tls: set _connecting before starting the flow

    indutny committed Apr 14, 2014
    When creating a TLSSocket instance based on the existing connecting
    socket, `_connecting` property is copied after the initialization of
    `net.Socket`. However, since `net.Socket` constructor will call
    `.read(0)` if the `readable` is true - error may happen at this code
    chunk in net.js:
    
        Socket.prototype._read = function(n) {
          debug('_read');
    
          if (this._connecting || !this._handle) {
            debug('_read wait for connection');
            this.once('connect', this._read.bind(this, n));
        ...
    
    Leading to a test failures on windows:
    
     - test/simple/test-tls-connect-given-socket.js
    
    Signed-off-by: Fedor Indutny <fedor@indutny.com>