Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
Already on GitHub? Sign in to your account
v0.9.3 対応． #99
added some commits
Aug 20, 2012
v8: Relax requirement from VFP3 to VFP2 where possible.
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10818026 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
v8: Replace VFP by VFP2 in common.gypi
This fixes an omission in cl 10818026. Patch by Nathan Rajlich. Review URL: http://codereview.chromium.org/10913256
fs: don't segfault on deeply recursive stat()
Check that the calls to Integer::New() and Date::New() succeed and bail out if they don't. V8 returns an empty handle on stack overflow. Trying to set the empty handle as a property on an object results in a NULL pointer dereference in release builds and an assert in debug builds. Fixes #4015.
fs: fix assert in fs.watch()
Fix the following error: FSEventWrap: Aborting due to unwrap failure at ../../src/fs_event_wrap.cc:169 It's possible and legal for a handle to be closed twice. HandleWrap::Close() deals with that by ignoring the second close. Now FSEventWrap::Close() does too. Fixes #3997.
process: fix setuid() and setgid() error reporting
Zero errno before calling getgrnam_r() or getpwnam_r(). If errno had previously been clobbered, node would report the wrong error.
fs: fix watchFile() missing deletion events
Make sure the deletion event gets reported in the following scenario: 1. Watch a file. 2. The initial stat() goes okay. 3. Something deletes the watched file. 4. The second stat() fails with ENOENT. The second stat() translates into the first 'change' event but a logic error stopped it from getting emitted. Fixes #4027.
crypto: bring module into modern age
Introduce 'buffer' encoding, allow returning and giving buffers as arguments of 'crypto' routines. Fix #3278
configure: turn on VFPv3 on ARMv7
Fixes a V8 build error caused by missing arm_fpu and arm_neon settings.
domain: Properly exit() on domain disposal
This addresses #4034. There are two problems happening: 1. The domain is not exited automatically when calling dispose() on it. Then, since the domain is disposed, attempting to exit it again will do nothing. 2. The active domain is stored on process.domain. Since thrown errors call `process.emit('uncaughtException', er)`, and the process is an event emitter with a `.domain` member, it re-enters the domain a second time before calling the error handler, pushing it onto the stack again. Thus, if the handler calls `domain.dispose()`, then the domain is now on the stack twice, and cannot be exited properly. Since the domain is disposed, any subsequent IO will be no-op'ed, since we've declared that this context is done and best forgotten. The solution here is twofold: 1. In EventEmitter.emit, do not enter the domain if `this===process`. 2. Automatically exit the domain when calling `domain.dispose()`.
test: add common.mustCall function
Verifies that the callback gets invoked <n> times during the lifetime of the test script.
child_process: make .fork()'d child auto-exit
A child process created with .fork() needed to call `process.exit()` explicitly because the communication channel with the parent kept the event loop alive. Fix that by only ref'ing the channel when there are 'message' event listeners. Fixes #3799.
handle_wrap: don't abort if wrap == NULL
After a disconnect, the internal pointer of the parent/child channel is set to NULL. That's not an error so don't abort().
openssl: fix perlasm issue
When perlasm generates MASM code it sets the assembler target to 468. In this mode MASM refuses to assemble the CPUID instruction. Bumping the target to 586 solves this problem.
added some commits
Oct 15, 2012
test: disable global variable check for "test-repl-options.js"
Previously, the "global" mode of REPLs was broken when created after another non-global REPL (they would end up sharing the same context). Now that "global" mode is fixed for that case (b1e78ce), this test case gets its global scope modified with "module" and other REPL-specific properties, so disable the global check.
streams: remove useless line
The removed line was removing a calllback that was never setup in first place. 016afe2 forgot to remove this.
test: add diffie-hellman regression test
Exercises the error path in DiffieHellman::ComputeSecret() in src/node_crypto.cc
crypto: fix DH 1 byte buffer underflow
Passing a bad key to DiffieHellman::ComputeSecret() made it zero the byte before the heap allocated buffer due to an erroneous size calculation.
crypto: fix DH use-after-free and memory leak
Fix a use-after-free bug and a memory leak in the error path of DiffieHellman::ComputeSecret(). * the BIGNUM key was used after being freed with BN_free(). * the output buffer was not freed
v8: use correct timezone information on Solaris
`timezone` variable contains the difference, in seconds, between UTC and local standard time (see `man 3 localtime` on Solaris). Call to `tzset` is required to apply contents of `TZ` variable to `timezone` variable. BUG=v8:2064 Review URL: https://chromiumcodereview.appspot.com/10967066 Patch from Maciej Małecki <email@example.com>. This is a back-port of upstream commit r12802.
typed arrays: use `signed char` for signed int8s
The C standard allows plain `char` to be unsigned. The build environment at Google trips this issue.
test: add typed arrays regression test
Ensure that uint8 values >= 128 are correctly promoted to int8 <= -1.
v8: make GDBJIT interface compile again
Rfirstname.lastname@example.org BUG=v8:1804 Review URL: https://codereview.chromium.org/11022007 This is a back-port of upstream commits 12679, 12686 and 12738.
build: re-enable gdbjit, honor --gdb again
Note that you need to start node with --gdbjit for it to become effective.
crypto: Move encoding logic to JS, default=buffer
crypto: Hash and Hmac default to buffers crypto: Move Cipher encoding logic to JS crypto: Move Cipheriv encoding logic to JS crypto: Move Decipher encoding logic to JS crypto: Move Decipheriv into JS, default to buffers crypto: Move Sign class to JS crypto: Better encoding handling in Hash.update crypto: Move Verify class to JS crypto: Move DiffieHellman to JS, default to buffers crypto: Move DiffieHellmanGroup to JS, default to buffers Also, create a test for this feature
crypto: Add crypto.DEFAULT_ENCODING (defaults to 'buffer')
This is a flag to make it easier for users to upgrade through the breaking crypto change, and easier for us to switch it back if it's a problem. Explicitly set default encoding to 'buffer' in other tests, in case it ever changes back.
Merge remote-tracking branch 'ry/v0.8'
Conflicts: deps/v8/src/arm/code-stubs-arm.cc deps/v8/src/version.cc
test: fix pummel/test-crypto-dh, pummel/test-dh-regr
2012.10.24, Version 0.9.3 (Unstable)
* V8: Upgrade to 22.214.171.124 * crypto: Default to buffers instead of binary strings (isaacs, Fedor Indutny) * crypto: add getHashes() and getCiphers() (Ben Noordhuis) * unix: add custom thread pool, remove libeio (Ben Noordhuis) * util: make `inspect()` accept an "options" argument (Nathan Rajlich) * https: fix renegotation attack protection (Ben Noordhuis) * cluster: make 'listening' handler see actual port (Aaditya Bhatia) * windows: use USERPROFILE to get the user's home dir (Bert Belder) * path: add platform specific path delimiter (Paul Serby) * http: add response.headersSent property (Pavel Lang) * child_process: make .fork()'d child auto-exit (Ben Noordhuis) * events: add 'removeListener' event (Ben Noordhuis) * string_decoder: Add 'end' method, do base64 properly (isaacs) * buffer: include encoding value in exception when invalid (Ricky Ng-Adam) * http: make http.ServerResponse no longer emit 'end' (isaacs) * streams: fix pipe is destructed by 'end' from destination (koichik)
Merge branch 'master' into japanese Conflicts: doc/api/_toc.markdown doc/api/crypto.markdown doc/api/domain.markdown doc/api/events.markdown doc/api/fs.markdown doc/api/http.markdown doc/api/net.markdown doc/api/path.markdown doc/api/stream.markdown doc/api/string_decoder.markdown doc/api/tls.markdown doc/api/util.markdown