1. Nov 09, 2013
    • Ben Noordhuis's avatar
      crypto: unbreak build with no-NPN shared openssl · 3facd4e1
      Ben Noordhuis authored
      Unbreak the build when linking against a shared version of OpenSSL that
      doesn't support NPN (Next Protocol Negotiation.)
      
      Fixes the following build error:
      
        ../src/node_crypto.cc:140: error: no member function
        'AdvertiseNextProtoCallback' declared in
        'node::crypto::SSLWrap<node::TLSCallbacks>'
        ../src/node_crypto.cc:147: error: no member function
        'SelectNextProtoCallback' declared in
        'node::crypto::SSLWrap<node::TLSCallbacks>'
      3facd4e1
  2. Nov 08, 2013
    • Fedor Indutny's avatar
      crypto: try moving read head in Peek() · 014ab772
      Fedor Indutny authored
      Otherwise it might get stall (`Peek()` will return zero-length chunk)
      in following situation:
      
      1. `Write(kBufferLength)`
      2. `Read(kBufferLength)`
      3. `Write(anything)`
      4. `Peek()` => `len=0`
      014ab772
    • isaacs's avatar
      http: force socket encoding to be null · ea8feced
      isaacs authored
      Otherwise the string triggers an assertion error in node_http_parser.c,
      line 370:
      
          assert(Buffer::HasInstance(args[0]) == true);
      
      because the first argument is not a Buffer object.
      ea8feced
  3. Nov 07, 2013
  4. Nov 06, 2013
  5. Nov 05, 2013
  6. Nov 04, 2013
    • Ben Noordhuis's avatar
      src: squelch unused variable warning · 962686b6
      Ben Noordhuis authored
      |i| and |j| arent't used when building without crypto support.  Hat tip
      to Brian White.
      
      Rename |l| to |k| while we're here because it's quite hard to discern
      from |i| or |j| with some fonts.
      962686b6
  7. Oct 30, 2013
  8. Nov 02, 2013
  9. Nov 01, 2013
  10. Oct 30, 2013
    • Ben Noordhuis's avatar
      build: use zero overhead systemtap probes · c4def505
      Ben Noordhuis authored
      Profiling suggested that on Linux sometimes over 10% of CPU time was
      being spent inside the systemtap probe entry points in the binding
      layer, even when the process was not actively being traced with the
      `stap` tool.
      
      That's why this commit makes it possible to use the *_ENABLED() macros
      and bail out early when we're not being traced, reducing the overhead
      of unused probes to (almost) zero.
      
      Said macros were already being generated by `dtrace -h` but were not
      usable because they rely on external definitions.  To remedy that, we
      now generate the accompanying object files with `dtrace -G`.
      
      This commit includes a change to libuv that has been landed upstream in
      commit joyent/libuv@3c172ea.
      c4def505
  11. Oct 31, 2013
    • Fedor Indutny's avatar
      ba7c9ce9
    • Fedor Indutny's avatar
      tls: reuse hostname from underlying net.Socket · 5977cba9
      Fedor Indutny authored
      When `tls.connect()` is called with `socket` option, it should try to
      reuse hostname previously passed to `net.connect()` and only after that
      fall back to `'localhost'`.
      
      fix #6409
      5977cba9
    • Nick Simmons's avatar
      fs: add recursive subdirectory support to fs.watch · 691b9ebc
      Nick Simmons authored
      Currently fs.watch does not have an option to specify if a directory
      should be recursively watched for events across all subdirectories.
      
      Several file watcher APIs support this. FSEvents on OS X > 10.5 is
      one example. libuv has added support for FSEvents, but fs.watch had
      no way to specify that a recursive watch was required.
      
      fs.watch now has an additional boolean option 'recursive'. When set
      to true, and when supported, fs.watch will return notifications for
      the entire directory tree hierarchy rooted at the specified path.
      691b9ebc
  12. Oct 30, 2013