2281 Commits
Author SHA1 Message Date
isaacs b00527fcf0 2012.10.25, Version 0.8.14 (Stable)
* events: Don't clobber pre-existing _events obj in EE ctor (isaacs)
2012-10-25 13:49:32 -07:00
isaacs 648e38771e Now working on 0.8.14 2012-10-25 12:52:46 -07:00
isaacs ff4c974873 2012.10.25, Version 0.8.13 (Stable)
* V8: Upgrade to 3.11.10.25

* npm: Upgrade to 1.1.65

* url: parse hostnames that start with - or _ (Ben Noordhuis)

* repl: Fix Windows 8 terminal issue (Bert Belder)

* typed arrays: use signed char for signed int8s (Aaron Jacobs)

* crypto: fix bugs in DiffieHellman (Ben Noordhuis)

* configure: turn on VFPv3 on ARMv7 (Ben Noordhuis)

* Re-enable OpenSSL UI for entering passphrases via tty (Ben Noordhuis)

* repl: ensure each REPL instance gets its own "context" (Nathan Rajlich)
2012-10-25 11:46:13 -07:00
Aaron Jacobs 49f0f618a9 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.
2012-10-23 16:55:59 +02:00
Ben Noordhuis 844a0058d0 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
2012-10-22 00:20:45 +02:00
Ben Noordhuis de18e29784 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.
2012-10-22 00:20:32 +02:00
isaacs 58db21e6c5 Now working on 0.8.13 2012-10-12 08:57:25 -07:00
isaacs 38c72d4e29 2012.10.12, Version 0.8.12 (Stable)
* npm: Upgrade to 1.1.63

* crypto: Reduce stability index to 2-Unstable (isaacs)

* windows: fix handle leak in uv_fs_utime (Bert Belder)

* windows: fix application crashed popup in debug version (Bert Belder)

* buffer: report proper retained size in profiler (Ben Noordhuis)

* buffer: fix byteLength with UTF-16LE (koichik)

* repl: make "end of input" JSON.parse() errors throw in the REPL (Nathan Rajlich)

* repl: make invalid RegExp modifiers throw in the REPL (Nathan Rajlich)

* http: handle multiple Proxy-Authenticate values (Willi Eggeling)
2012-10-11 14:34:11 -07:00
Ben Noordhuis 6a128e037e buffer: report proper retained size in profiler
Make buffers report the proper retained size in heap snapshots.

Before this commit, Buffer objects would show up in the heap profiler as being
only a few hundred bytes large, even if the actual buffer was many megabytes.
2012-10-11 01:05:18 +02:00
Ben Noordhuis eec8c2edaf crypto: fix -Wtautological-compare warning 2012-10-09 00:46:51 +02:00
Andrew Paprocki 8c5f269f90 Fix -Wsizeof-array-argument compiler warning. 2012-10-07 23:22:31 +02:00
koichik fbb0ee6f24 buffer: fix byteLength with UTF-16LE
Fixes #4075.
2012-10-04 18:18:15 +09:00
isaacs 9877b8f414 Now working on 0.8.12 2012-09-27 10:25:12 -07:00
isaacs e1f39468fa 2012.09.27, Version 0.8.11 (Stable)
* fs: Fix stat() size reporting for large files (Ben Noordhuis)
2012-09-27 09:39:23 -07:00
Ben Noordhuis ec03c47c19 fs: fix stat() reporting for large files
Use Number::New(), not Integer::New(). Large values won't fit in an Integer.

Apply to the size, ino and blocks fields.
2012-09-26 01:20:56 +02:00
isaacs 37869f1c9a Now working on 0.8.11 2012-09-25 15:36:10 -07:00
isaacs 0bc273da4f 2012.09.25, Version 0.8.10 (Stable)
* npm: Upgrade to 1.1.62

* repl: make invalid RegExps throw in the REPL (Nathan Rajlich)

* v8: loosen artificial mmap constraint (Bryan Cantrill)

* process: fix setuid() and setgid() error reporting (Ben Noordhuis)

* domain: Properly exit() on domain disposal (isaacs)

* fs: fix watchFile() missing deletion events (Ben Noordhuis)

* fs: fix assert in fs.watch() (Ben Noordhuis)

* fs: don't segfault on deeply recursive stat() (Ben Noordhuis)

* http: Remove timeout handler when data arrives (Frédéric Germain)

* http: make the client "res" object gets the same domain as "req" (Nathan Rajlich)

* windows: don't blow up when an invalid FD is used (Bert Belder)

* unix: map EDQUOT to UV_ENOSPC (Charlie McConnell)

* linux: improve /proc/cpuinfo parser (Ben Noordhuis)

* win/tty: reset background brightness when color is set to default (Bert Belder)

* unix: put child process stdio fds in blocking mode (Ben Noordhuis)

* unix: fix EMFILE busy loop (Ben Noordhuis)

* sunos: don't set TCP_KEEPALIVE (Ben Noordhuis)

* tls: Use slab allocator for memory management (Fedor Indutny)

* openssl: Use optimized assembly code for x86 and x64 (Bert Belder)
2012-09-25 13:48:15 -07:00
Ben Noordhuis 96ca59fbf3 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.
2012-09-17 07:20:47 +02:00
Ben Noordhuis db5c26e3b5 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.
2012-09-14 02:37:51 +02:00
Ben Noordhuis 07804c7c9a 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.
2012-09-14 02:37:51 +02:00
isaacs 362189a5d3 Now working on 0.8.10 2012-09-11 11:59:37 -07:00
isaacs b88c3902b2 2012.09.11, Version 0.8.9 (Stable)
* v8: upgrade to 3.11.10.22

* GYP: upgrade to r1477

* npm: Upgrade to 1.1.61

* npm: Don't create world-writable files (isaacs)

* windows: fix single-accept mode for shared server sockets (Bert Belder)

* windows: fix uninitialized memory access in uv_update_time() (Bert Belder)

* windows: don't throw when a signal handler is attached (Bert Belder)

* unix: fix memory leak in udp (Ben Noordhuis)

* unix: map errno ESPIPE (Ben Noordhuis)

* unix, windows: fix memory corruption in fs-poll.c (Ben Noordhuis)

* sunos: fix os.cpus() on x86_64 (Ben Noordhuis)

* child process: fix processes with IPC channel don't emit 'close' (Bert Belder)

* build: add a "--dest-os" option to force a gyp "flavor" (Nathan Rajlich)

* build: set `process.platform` to "sunos" on SunOS (Nathan Rajlich)

* build: fix `make -j` fails after `make clean` (Bearice Ren)

* build: fix openssl configuration for "arm" builds (Nathan Rajlich)

* tls: support unix domain socket/named pipe in tls.connect (Shigeki Ohtsu)

* https: make https.get() accept a URL (koichik)

* http: respect HTTP/1.0 TE header (Ben Noordhuis)

* crypto, tls: Domainify setSNICallback, pbkdf2, randomBytes (Ben Noordhuis)

* stream.pipe: Don't call destroy() unless it's a function (isaacs)
2012-09-11 11:08:07 -07:00
Ben Noordhuis 7dfa587d18 crypto, tls: make setSNICallback() compatible with domains 2012-09-03 23:33:02 +02:00
Ben Noordhuis 7d0543c128 crypto: make pbkdf2() compatible with domains 2012-09-03 23:33:02 +02:00
Ben Noordhuis d1eff9ab68 crypto: make randomBytes() compatible with domains
Don't execute the callback in the context of the global object.

MakeCallback() tries to apply the active domain to the callback. If the user
polluted the global object with a 'domain' property, as in the code example
below, MakeCallback() will try to apply that.

Example:

    domain = {};                // missing var keyword is intentional
    crypto.randomBytes(8, cb);  // TypeError: undefined is not a function

Fixes #3956.
2012-09-03 23:33:02 +02:00
Bert Belder ea1cba6246 windows: don't blow when a signal handler is attached
Blowing up when the user attaches a signal handler makes no sense. Also,
in Node 0.10 signals will be supported, so allow people to get used to
it.
2012-09-03 19:05:40 +02:00
isaacs 0ccdedab79 Now working on 0.8.9 2012-08-22 12:52:05 -07:00
isaacs a299c97bbc 2012.08.22, Version 0.8.8 (Stable)
* V8: upgrade to 3.11.10.19

* npm: upgrade to 1.1.59

* windows: fix uninitialized memory access in uv_update_time() (Bert Belder)

* unix, windows: fix memory corruption in fs-poll.c (Ben Noordhuis)

* unix: fix integer overflow in uv_hrtime (Tim Holy)

* sunos: fix uv_cpu_info() on x86_64 (Ben Noordhuis)

* tls: update default cipher list (Ben Noordhuis)

* unix: Fix llvm and older gcc duplicate symbol warnings (Bert Belder)

* fs: fix use after free in stat watcher (Ben Noordhuis)

* build: Fix using manually compiled gcc on OS X (Nathan Rajlich)

* windows: make junctions work again (Bert Belder)
2012-08-22 11:03:20 -07:00
Bert Belder d38d7bea6c unix: don't explicitly instantiate v8::Persistent<x> templates
These explicit instantiations were added to make MSVC happy. It turns
out that some older versions of gcc and llvm now complain about duplicate
symbols, so we instantiate these templates only when MSVC is used.
2012-08-20 18:42:05 +02:00
Ben Noordhuis b1ffbdc975 fs: fix use after free in stat watcher
The uv_fs_poll_t handle was stopped but not closed, leaving libuv's internal
handle queue in a corrupted state.
2012-08-20 17:29:58 +02:00
Bert Belder 9263213d8e Avoid compiler warning about negating unsigned value 2012-08-17 01:08:06 +02:00
Bert Belder e8fd808dfb windows: avoid MSVC warnings about templates not having a dll interface 2012-08-17 01:02:03 +02:00
isaacs 073c7b4d08 Now working on 0.8.8 2012-08-15 17:25:25 -07:00
isaacs f640c5d35c 2012.08.15, Version 0.8.7 (Stable)
* npm: Upgrade to 1.1.49

* website: download page (Golo Roden)

* crypto: fix uninitialized memory access in openssl (Ben Noordhuis)

* buffer, crypto: fix buffer decoding (Ben Noordhuis)

* build: compile with -fno-tree-vrp when gcc >= 4.0 (Ben Noordhuis)

* tls: handle multiple CN fields when verifying cert (Ben Noordhuis)

* doc: remove unused util from child_process (Kyle Robinson Young)

* build: rework -fvisibility=hidden detection (Ben Noordhuis)

* windows: don't duplicate invalid stdio handles (Bert Belder)

* windows: fix typos in process-stdio.c (Bert Belder)
2012-08-15 15:52:57 -07:00
Ben Noordhuis 786e1e8712 buffer, crypto: fix buffer decoding
Before this commit, DecodeWrite() mistakenly tried to convert buffers to
UTF-8 strings which:

  a) produced invalid character sequences when the buffer contained
     octets > 127, and
  b) lead to spurious test failures because DecodeWrite() wrote less bytes
     than DecodeBytes() said it would, with the remainder either containing
     zeros or garbage

Fix that by simply copying the buffer's data to the target buffer when the
encoding is BINARY or by converting the buffer to a binary string when it's
UTF8 or ASCII.

Fixes #3651, #3866.
2012-08-14 23:00:09 +02:00
isaacs e8bc2edabf Now working on 0.8.7 2012-08-07 12:02:49 -07:00
isaacs 0544a586ca 2012.08.07, Version 0.8.6 (Stable)
* npm: Upgrade to v1.1.48

* Add 'make binary' to build binary tarballs for all Unixes (Nathan Rajlich)

* zlib: Emit 'close' on destroy(). (Dominic Tarr)

* child_process: Fix stdout=null when stdio=['pipe'] (Tyler Neylon)

* installer: prevent ETXTBSY errors (Ben Noordhuis)

* installer: honor --without-npm, default install path (Ben Noordhuis)

* net: make pause work with connecting sockets (Bert Belder)

* installer: fix cross-compile installs (Ben Noordhuis)

* net: fix .listen({fd:0}) (Ben Noordhuis)

* windows: map WSANO_DATA to UV_ENOENT (Bert Belder)
2012-08-07 11:56:58 -07:00
isaacs 02dae998c3 Now working on 0.8.6 2012-08-02 14:58:15 -07:00
isaacs 9b86a4453f 2012.08.02, Version 0.8.5 (Stable)
* node: tag Encode and friends NODE_EXTERN (Ben Noordhuis)

* fs: fix ReadStream / WriteStream missing callback (Gil Pedersen)

* fs: fix readFileSync("/proc/cpuinfo") regression (Ben Noordhuis)

* installer: don't assume bash is installed (Ben Noordhuis)

* Report errors properly from --eval and stdin (isaacs)

* assert: fix throws() throws an error without message property (koichik)

* cluster: fix libuv assert in net.listen() (Ben Noordhuis)

* build: always link sunos builds with libumem (Trent Mick)

* build: improve armv7 / hard-float detection (Adam Malcontenti-Wilson)

* https: Use host header as effective servername (isaacs)

* sunos: work around OS bug to prevent fs.watch() from spinning (Bryan Cantrill)

* linux: fix 'two watchers, one path' segfault (Ben Noordhuis)

* windows: fix memory leaks in many fs functions (Bert Belder)

* windows: don't allow directories to be opened for writing/appending (Bert Belder)

* windows: make fork() work even when not all stdio handles are valid (Bert Belder)

* windows: make unlink() not remove mount points, and improve performance (Bert Belder)

* build: Sign pkg installer for OS X (isaacs)
2012-08-02 13:56:50 -07:00
Ben Noordhuis 53f3b128f5 node: tag Encode and friends NODE_EXTERN
Makes the symbols visible on Windows. They were already visible on Unices.

Fixes #3811.
2012-08-02 01:35:54 +02:00
isaacs b3cf3f35fc Report errors properly from --eval and stdin 2012-07-30 08:21:39 -07:00
Ben Noordhuis d559bed0d5 node: use variadic functions in ev-emul.h
Fixes #3786.
2012-07-28 14:10:13 +02:00
isaacs 3d34590fba Now working on v0.8.5 2012-07-25 10:28:03 -07:00
isaacs f98562fcd7 2012.07.25, Version 0.8.4 (Stable)
* V8: Upgrade to 3.11.10.17

* npm: Upgrade to 1.1.45

* net: fix Socket({ fd: 42 }) api (Ben Noordhuis)

* readline: Remove event listeners on close (isaacs)

* windows: correctly prep long path for fs.exists(Sync) (Bert Belder)

* debugger: wake up the event loop when a debugger command is dispatched (Peter Rybin)

* tls: verify server's identity (Fedor Indutny)

* net: ignore socket.setTimeout(Infinity or NaN) (Fedor Indutny)
2012-07-24 17:06:58 -07:00
Peter Rybin 688859afc0 debugger: wake up the event loop when a debugger command is dispatched
When the event loop was blocked in epoll / kqueue or similar, debugger
commands wouldn't be processed. This patch fixes that by adding an
uv_async handle which is triggered when a debugger command is
dispatched. The async handle's callback makes sure that V8 is entered.

Closes GH-3626
Closes GH-3718
2012-07-23 13:15:51 +02:00
Fedor Indutny eb2ca10462 tls: veryify server's identity 2012-07-20 01:49:31 +04:00
isaacs 02ff9741cc Now working on 0.8.4 2012-07-19 10:19:45 -07:00
isaacs 60bf2d6cb3 2012.07.19, Version 0.8.3 (Stable)
* V8: upgrade to 3.11.10.15

* npm: Upgrade to 1.1.43

* net: fix net.Server.listen({fd:x}) error reporting (Ben Noordhuis)

* net: fix bogus errno reporting (Ben Noordhuis)

* build: Move npm shebang logic into an npm script (isaacs)

* build: fix add-on loading on freebsd (Ben Noordhuis)

* build: disable unsafe optimizations (Ben Noordhuis)

* build: fix spurious mksnapshot crashes for good (Ben Noordhuis)

* build: speed up genv8constants (Dave Pacheco)

* fs: make unwatchFile() remove a specific listener (Ben Noordhuis)

* domain: Remove first arg from intercepted fn (Toshihiro Nakamura)

* domain: Fix memory leak on error (isaacs)

* events: Fix memory leak from removeAllListeners (Nathan Rajlich)

* zlib: Fix memory leak in Unzip class. (isaacs)

* crypto: Fix memory leak in DecipherUpdate() (Ben Noordhuis)
2012-07-19 10:01:56 -07:00
Ben Noordhuis f6f2d42ee9 node: make ev-emul.h compile with -Wextra -Werror
Explicitly cast double to int64_t, it was making add-ons that compile with
`-Wall -Wextra -Werror` fail to build.

Don't use fully variadic macros, gcc in uber-strict mode rejects them.
2012-07-18 13:56:09 +02:00
Ben Noordhuis 3a6314dbe1 net: fix net.Server.listen({fd:x}) error reporting
* don't assert when fd isn't an open file descriptor

* don't die with a ReferenceError when fd isn't a file descriptor
  you can listen() on

Fixes #3699.
2012-07-12 18:18:38 +02:00