node/lib
Ben Noordhuis c492d43f48 tls: fix segfault in pummel/test-tls-ci-reneg-attack
Commit 4e5fe2d changed the way how process.nextTick() works:

    process.nextTick(function foo() {
      process.nextTick(function bar() {
        // ...
      });
    });

Before said commit, foo() and bar() used to run on separate event loop ticks
but that is no longer the case.

However, that's exactly the behavior that the TLS renegotiation attack guard
relies on. It gets called by OpenSSL and needs to defer the 'error' event to a
later tick because the default action is to destroy the TLS context - the same
context that OpenSSL currently operates on.

When things change underneath your feet, bad things happen and OpenSSL is no
exception. Ergo, use setImmediate() instead of process.nextTick() to ensure
that the 'error' event is actually emitted at a later tick.

Fixes #3840.
2012-08-13 18:10:26 +02:00
..
_debugger.js Remove octal escape sequences and avoid reserved keyword 2012-07-06 19:28:35 -07:00
_linklist.js Update copyright headers 2011-03-14 17:37:05 -07:00
assert.js assert: fix throws() throws an error without message property 2012-07-29 19:48:16 +09:00
buffer.js Use parent SlowBuffer, if any, when Buffer is sliced 2012-06-21 01:46:04 +02:00
buffer_ieee754.js Fixed a lot of jslint errors. 2011-10-05 18:51:06 -07:00
child_process.js net: fix listen() regression, revert patches 2012-08-06 23:55:38 +02:00
cluster.js net: fix listen() regression, revert patches 2012-08-06 23:55:38 +02:00
console.js console: throw when no such label exists in `console.timeEnd` 2012-04-29 22:27:45 +02:00
constants.js Update copyright headers 2011-03-14 17:37:05 -07:00
crypto.js Merge remote-tracking branch 'ry/v0.6' into v0.6-merge 2012-05-15 11:37:34 -07:00
dgram.js dgram: make .bind() always asynchronous 2012-07-26 23:55:25 +02:00
dns.js Revert "DNS: Support NAPTR queries" 2012-06-16 11:02:49 -07:00
domain.js domain: Fix stack leak on error 2012-07-16 18:04:55 -07:00
events.js events: make .listeners() return a copy 2012-07-27 20:28:51 +02:00
freelist.js Update copyright headers 2011-03-14 17:37:05 -07:00
fs.js fs: fix ReferenceError in truncateSync() 2012-08-08 23:07:18 +02:00
http.js https: Use host header as effective servername 2012-07-25 13:38:43 -07:00
https.js Revert "http/https: pass request to .createConnection()" 2012-07-20 21:48:56 +04:00
module.js module: add filename to require() json errors 2012-07-06 15:26:41 -07:00
net.js net: fix listen() regression, revert patches 2012-08-06 23:55:38 +02:00
os.js Add --no-deprecation and --trace-deprecation flags 2012-06-21 12:05:33 -07:00
path.js path: small speed improvements 2012-08-10 12:55:49 +02:00
punycode.js punycode: update to v1.1.1 2012-07-04 13:45:14 +02:00
querystring.js trivial: Doc typo and lint fix 2012-06-19 14:07:48 -07:00
readline.js Merge remote-tracking branch 'ry/v0.8' 2012-07-26 11:58:03 -07:00
repl.js Merge remote-tracking branch 'ry/v0.8' into v0.8-merge 2012-07-11 17:38:11 -07:00
stream.js stream: don't call `cleanup` twice on `end` and `close` 2012-05-28 01:35:36 +02:00
string_decoder.js string_decoder: added support for UTF-16LE 2012-05-05 22:47:24 +09:00
sys.js Fix #3577 Un-break require('sys') 2012-06-28 10:14:03 -07:00
timers.js timers: make unref'd timeouts execute in a domain 2012-08-12 01:15:08 +02:00
tls.js tls: fix segfault in pummel/test-tls-ci-reneg-attack 2012-08-13 18:10:26 +02:00
tty.js Add --no-deprecation and --trace-deprecation flags 2012-06-21 12:05:33 -07:00
url.js Fix #3270 Escape url.parse delims 2012-05-16 15:41:28 -07:00
util.js util: mark util.pump() as deprecated 2012-08-05 23:40:28 +02:00
vm.js lint 2012-03-03 23:48:57 -08:00
zlib.js domain: the EventEmitter constructor is now always called in nodecore 2012-06-15 09:49:05 -07:00