Compare commits

...

1873 Commits

Author SHA1 Message Date
Ben Noordhuis
a4402f0b2e Bump version to v0.6.2 2011-11-18 23:43:03 +01:00
isaacs
975f1930b1 zlib: Fix invalidly failing test 2011-11-18 14:38:44 -08:00
Ben Noordhuis
f004d5aeac build: compile with -D__DARWIN_64_BIT_INO_T on OS X
Fixes a struct stat size mismatch on 64 bits machines that made Node crash with
a EXC_BAD_ACCESS on startup.

Fixes #2061. Solution proposed by Paddy Byers.
2011-11-18 21:17:13 +01:00
Ben Noordhuis
3f92031aeb uv: upgrade to 01fbe7b 2011-11-18 21:17:09 +01:00
Ben Noordhuis
8bdf6bae30 docs: document dgram error event 2011-11-18 14:18:42 +01:00
Ben Noordhuis
59a9a9b5b0 buffer: add .read*() and .write*() methods to SlowBuffer prototype
Fixes #2138.
2011-11-18 11:13:37 +01:00
Trevor Burnham
06d71ad457 docs: document the persistent option for fs.watch and fs.watchFile 2011-11-18 00:00:01 +01:00
Ben Noordhuis
9d3faf4f9a crypto: add support for RSA public key signing/verification 2011-11-17 23:01:39 +01:00
Ben Noordhuis
3ac5f1106d crypto: make verify() return true or false, not 1 or 0
It's what the documentation says it should return.
2011-11-17 23:01:39 +01:00
E. Azer Koçulu
1cb6fe47fc util: remove the line requiring events 2011-11-17 23:01:39 +01:00
Ryan Dahl
b0030af135 Fixes #2140. Fix illumos build. 2011-11-17 11:39:34 -08:00
Ben Noordhuis
4f8a0cd2f9 v8: add platform-solaris.cc to gyp build
Re-applies 77e4abbc3e, lost in a V8 upgrade.
2011-11-17 19:39:39 +01:00
Ben Noordhuis
2c52ccea80 v8: compile with __C99FEATURES__=1 on sunos
Exposes INFINITY, isinf(), isfinite(), etc.

Re-applies d104e5b91c, lost in a V8 upgrade.
2011-11-17 19:39:39 +01:00
Artur Adib
960ccdc72c docs: clarify addon docs 2011-11-17 13:15:49 +01:00
Bert Belder
3e696d189c Windows: make Buffer and ObjectWrap available to compiled extensions
Closes GH-2036
2011-11-17 00:54:42 +01:00
Bert Belder
9c70b09e0a Fix strange vcbuild "label not found" error 2011-11-17 00:10:14 +01:00
Ben Noordhuis
5e3b0095de tls: make cipher list configurable
options.ciphers existed but didn't work, the cipher list was effectively
hard-coded to RC4-SHA:AES128-SHA:AES256-SHA.

Fixes #2066.
2011-11-17 00:01:41 +01:00
Ryan Dahl
44314ccf48 Upgrade libuv to 2007eb8 2011-11-16 13:06:10 -08:00
Łukasz Walukiewicz
3b852d7fab buffer: fix minimum values for writeInt*() functions 2011-11-16 21:30:26 +01:00
Ryan Dahl
17a82e72f4 Upgrade V8 to 3.6.6.8 2011-11-14 17:17:23 -08:00
Ryan Dahl
4b0241d589 Remove str.format to support python2.5.
Fixes #2077
Fixes #2108

Thanks to David Keegan for debugging and the patch.
2011-11-14 17:09:44 -08:00
Trent Mick
2cd51ef5d4 "Trailer" header should mention "Content-MD5" trailer name in this example.
Fixes #2107
2011-11-14 16:54:24 -08:00
seebees
3222a04d5e test for REPL .save and .load and documentation updates 2011-11-13 19:54:35 +01:00
Mathias Bynens
897208e06d punycode: Update to v0.1.1. 2011-11-13 15:38:27 +01:00
seebees
3421f43351 .load, .save and local scope tab completion
Fixes #2063.

REPLServer.prototype.resetContext:
Reset the line cache

REPLServer.prototype.memory (don't know if I like that name, called from finish)
pushes what cmd's have been executed against it into this.lines
pushes the "tab depth" for bufferedCommands, in this.lines.level

REPLServer.prototype.displayPrompt:
Uses "tab depth" from this.lines.level to adjust the prompt to visually
denote this depth e.g.
> asdf = function () {
… var inner = {
….. one:1

REPLServer.prototype.complete:
Now notices if there is a bufferedCommand and attempts determine locally
scoped variables by removing any functions from this.lines and evaling these
lines in a nested REPL e.g.
> asdf = function () {
… var inner = { one: 1};
… inn\t
will complete to 'inner' and inner.o\t will complete to 'inner.one'
If the nested REPL still has a bufferedCommand it will falls back to the
default.

ArrayStream is a helper class for the nested REPL to get commands pushed to it.
new REPLServer('', new ArrayStream());

Finally added two new REPL commands .save and .load, each takes 1 parameter,
a file and attempts to save or load the file to or from the REPL
respectively.
2011-11-12 11:34:55 -08:00
seebees
b00f5e2e14 Tab Compete test for node REPL
Currently the REPL only tab completes for globally scoped variables
2011-11-12 11:34:55 -08:00
Ben Noordhuis
098fef6740 timers: remember extra setTimeout() arguments when timeout==0
Fixes #2079.
2011-11-12 13:31:28 +01:00
Ryan Dahl
8082858ee7 Now working on v0.6.2 2011-11-11 15:35:10 -08:00
Ryan Dahl
170f2addb2 Bump version to v0.6.1 2011-11-11 14:56:27 -08:00
Ryan Dahl
5bc1809b43 Add 'make dist-upload' 2011-11-11 14:31:15 -08:00
Ryan Dahl
d214576d2b Be consistent with v before version in packages 2011-11-11 14:02:42 -08:00
Igor Zinkovsky
2095eea3da msi changes
- remove license from MSI
- adjust path on install
- add message to the end
2011-11-11 12:50:04 -08:00
Ryan Dahl
2af6431619 Add upload command to vcbuild.bat 2011-11-11 12:38:55 -08:00
Ryan Dahl
895fa3a56b Simplify and move getnodeversion.py 2011-11-11 12:09:48 -08:00
Shigeki Ohtsu
e0f10ecfd9 debugger: correctly handle source with multi-byte characters 2011-11-11 20:29:50 +01:00
Ryan Dahl
4e2343c6b5 Fixes #2073. Cluster should be silent. 2011-11-11 11:24:59 -08:00
Ben Noordhuis
10d4bd8266 test: add more punycode tests 2011-11-11 17:02:43 +01:00
Ben Noordhuis
326b2cb34e punycode: replace with Mathias Bynens's implementation
The currently bundled library doesn't pass all the test cases from RFC 3492.
Mathias's library does.

Home: https://github.com/bestiejs/punycode.js
2011-11-11 17:02:43 +01:00
Yoji SHIDARA
426298c8c1 docs: dgram client should be closed in the callback 2011-11-11 10:39:32 +01:00
Ryan Dahl
74f39041d4 dont use blue for numbers in util.inspect 2011-11-10 23:35:35 -08:00
Ryan Dahl
dc39ab3bbf Improve OSX installer 2011-11-10 18:41:44 -08:00
Igor Zinkovsky
ec90ede1cf fix msi builder 2011-11-10 18:40:49 -08:00
Igor Zinkovsky
13324bf844 throw from stdout.end and stderr.end 2011-11-10 14:51:16 -08:00
Igor Zinkovsky
09329e7833 Add node.rc with a version resource
Fixes #2059
2011-11-10 13:22:13 -08:00
Ben Noordhuis
78ca555845 bench: optimize io.c benchmark
Use static buffers. Most clock ticks were spent in malloc() and free() instead
of read() and write().

Fix measurements. Really fast runs would result in bogus results like:

  Wrote 1048576000 bytes in -0.731630s using 8192 byte buffers: -1366.811093mB/s
2011-11-10 21:13:37 +01:00
Ben Noordhuis
0757c73a20 uv: upgrade to 224584c 2011-11-10 20:10:54 +01:00
Ben Noordhuis
e34a2c170c uv: upgrade to 26806e2 2011-11-10 16:40:56 +00:00
Ben Noordhuis
8dd4fcbe8f fs: don't close uninitialized fs.watch handle
Makes uv_close() assert because the uv_fs_event_t struct contains garbage.
2011-11-10 13:17:51 +01:00
Igor Zinkovsky
f84d86b660 make stdout stream non-destroyable 2011-11-09 15:04:44 -08:00
Igor Zinkovsky
5d89540b77 make stderr stream non-destroyable 2011-11-09 13:53:19 -08:00
Ben Noordhuis
4fc0fdc6ee bench: start (NUM_CPUS-1) workers
The master is a worker too so fork off one less worker.
2011-11-09 17:34:53 +01:00
Ben Noordhuis
cdcb1118c8 Remove stray NODE_MODULE() semi-colons. 2011-11-09 16:34:09 +01:00
Ryan Dahl
0fa3cf94a3 Remove 'report this bug' message from cluster master 2011-11-08 17:07:49 -08:00
Ryan Dahl
da9bf0ee80 Fixes #2047. Fill workers array immediately after fork 2011-11-08 17:03:29 -08:00
Ryan Dahl
3ae644d48c Upgrade libuv to 196e145 2011-11-08 16:59:40 -08:00
Ryan Dahl
2a462abf5f process.kill doesn't create error obj correctly 2011-11-08 16:58:32 -08:00
Ryan Dahl
05727f6e3e Upgrade libuv to 2b7774a 2011-11-08 16:52:45 -08:00
Ryan Dahl
2d13cdfd2a Fixes #2052. Readline get win cols correctly 2011-11-08 13:37:08 -08:00
Ben Noordhuis
efb833f342 crypto: use the right mutex 2011-11-08 20:56:45 +01:00
Ryan Dahl
409915e955 Upgrade libuv to f1859eb
Fixes #2040
Fixes 0e8a55d2a2 (commitcomment-69710)
2011-11-08 11:52:18 -08:00
Ben Noordhuis
97cada0e6a crypto: make module thread-safe 2011-11-08 20:04:23 +01:00
Ryan Dahl
0ba8f05a42 Upgrade V8 to 3.6.6.7 2011-11-08 10:00:12 -08:00
Scott Anderson
0d19d82498 Cluster documentation added. 2011-11-09 00:02:18 +09:00
Ben Noordhuis
6f96e78dea test: fs.realpath() should not call its callback twice
Test case for #2045.
2011-11-08 13:03:29 +01:00
Benjamin Pasero
b1bb17fd2b fs: fix fs.realpath on windows to return on error 2011-11-08 13:02:04 +01:00
Ben Noordhuis
04958e88a4 fs: make mkdir() call callback if mode is omitted
Fixes #2043.
2011-11-08 12:48:09 +01:00
Ben Noordhuis
105d1787dc cluster: fix call to undefined function 2011-11-08 08:29:25 +01:00
Eric Lovett
69d3bf1068 docs: minor grammar fix in cluster page 2011-11-08 00:43:59 +01:00
Ben Noordhuis
d7bcf21340 build: fix race in parallel build
Run `make clean` first, *then* `make all`
2011-11-08 00:25:54 +01:00
Ryan Dahl
6a83df04b6 Update multi-core text on index.html 2011-11-07 10:43:48 -08:00
Ryan Dahl
a9366818a1 Remove v0.4 links from index.html 2011-11-07 10:41:01 -08:00
Ben Noordhuis
edcfea5d02 build: fix man page install path on the BSDs
Fixes #2026.
2011-11-07 06:46:09 +01:00
koichik
1001cf412c bench: update static_http_server benchmark to new API
Fixes #2016.
2011-11-06 01:25:07 +09:00
Fedor Indutny
da82daf54c test: debugger-repl should wait for 'drain' event 2011-11-05 15:24:28 +01:00
Eric Lovett
febe5c44c0 docs: use markdown for link, not html 2011-11-05 13:00:20 +01:00
Ben Noordhuis
099c717baf docs: fix copy/paste error, 0.6.0 is a stable release 2011-11-05 10:44:27 +01:00
Eric Lovett
8f2b03242d docs: minor typo fix in child process docs 2011-11-05 10:41:39 +01:00
Ryan Dahl
9e00b7d3d0 Now working on v0.6.1 2011-11-05 01:55:34 -07:00
Ryan Dahl
865b077819 Bump version to v0.6.0 2011-11-04 23:48:57 -07:00
koichik
96fe50400d docs: fix typo 2011-11-05 12:35:38 +09:00
Ben Noordhuis
10edbbb927 uv: upgrade to c468e2a 2011-11-05 03:13:55 +01:00
Igor Zinkovsky
7335a4234a fix test-module-loading on windows 2011-11-04 18:05:53 -07:00
Igor Zinkovsky
1a9286c6e9 update fs_event_wrap.cc to work with new uv_fs_event_init api 2011-11-04 18:04:52 -07:00
Igor Zinkovsky
6545a6dc5d make updates to work with latest libuv api changes 2011-11-04 18:01:03 -07:00
Bert Belder
b54da8a10f Upgrade libuv to 1997e10b50 2011-11-05 01:50:05 +01:00
Ryan Dahl
5c3954aa6f docs: make std*Stream spawn opts explicitly internal
Fixes #1884.
2011-11-04 15:56:28 -07:00
Jacob H.C. Kragh
c1472ac105 docs: fix some minor typos in the fs documentation
* fchmodSync: replace 'path' with 'fd'
* lchmod: replace 'fd' with 'path'
* utimes, futimes, fsync: mark 'callback' as optional
2011-11-04 23:53:01 +01:00
Ben Noordhuis
89014c9d40 bench: add http_simple cluster edition benchmark 2011-11-04 23:53:01 +01:00
Ryan Dahl
1e3e6b7c15 cluster: add example for message passing 2011-11-04 15:34:18 -07:00
Igor Zinkovsky
5496e67f83 upgrade libuv to 82cf0b38c0
fixes #2004
2011-11-04 15:19:46 -07:00
Ryan Dahl
d42006c80a cluster: Remove eachWorker, workerCount
unnecessary
2011-11-04 15:14:38 -07:00
Ryan Dahl
86528489ec new cluster api 2011-11-04 15:12:11 -07:00
Jacob H.C. Kragh
44a5452a4f docs: fix typo in the documented fchown signature 2011-11-04 20:10:21 +01:00
Matt Robenolt
5213c39038 Close #1930 Convenience methods for zlib
This is a combination of 20 commits. Their commit messages are preserved
below for the benefit of future generations.

* Adding a shortcut to easily compress/decompress a string of text.
* Making the API consistent. unzip should accept a Buffer for input as well.
* Adding docs.
* Oops, typo.
* Propagate error through the callback.
* Adding zlib from string tests.
* Typo in test.
* Remove 'end' listeners, and join buffers properly instead of joining them
  as a string.
* Oops, needs to be rendered to a string.
* Updated test to include multi-byte characters.
* unzip should return a raw Buffer. Updated docs to reflect.
* And finally updating test.
* EventEmitter.destroy() is a bit more customary
* Revert "EventEmitter.destroy() is a bit more customary"
* Renaming internal methods to "buffer" instead of string.
* Remove the 'error' listeners as well.
* @isaacs: spacing/style, and compress duplicate functions into one
* @isaacs: Update docs
* @isaacs: doc style fix
2011-11-04 10:32:57 -07:00
Fedor Indutny
8ef2c13d6c fix debugger-repl test 2011-11-04 18:00:18 +01:00
Fedor Indutny
b5d32d4a9e debugger: do not request continue on connection
* Updated test
* Use `node debug file`, not `node debug -e "..."` in test
2011-11-04 17:50:46 +01:00
Bert Belder
829735e738 Implement process._debugProcess 2011-11-04 17:50:28 +01:00
Bert Belder
35f4182cee Make error reporting from node::DLOpen more consistent 2011-11-04 16:24:35 +01:00
Bert Belder
6ee73a2fee Windows: ErrnoException shouldn't mix up crt and win32 errors 2011-11-04 16:24:35 +01:00
Bert Belder
189dd8f803 Fix line endings and trailing whitespace 2011-11-04 16:24:34 +01:00
Jordan Sissel
358f0ce96b url: add '.' '+' and '-' in url protocol
- Based on BNF from RFC 1738 section 5.
- Added tests to cover svn+ssh and some other examples
2011-11-04 13:36:06 +01:00
Ben Noordhuis
5fd012e67a fs: don't use octal values, not allowed in strict mode 2011-11-04 13:10:07 +01:00
Ben Noordhuis
8974ba31a3 test: fix simple/net-pipe-connect-errors
When trying to connect to something that is not a UNIX socket, Linux returns
ECONNREFUSED, not ENOTSOCK.

We cannot atomically determine if the other end is a) a stale socket, or b) not
a socket at all, so let's accept both error codes.
2011-11-04 05:30:00 +01:00
Ryan Dahl
cf78d04ae2 Upgrade libuv to 9c7ed0d
Fixes test-net-pipe-connect-errors.js on UNIX.
See #2001.
2011-11-03 16:33:54 -07:00
Fedor Indutny
b904a078d8 report debugger's test errors 2011-11-03 14:11:14 -07:00
Ryan Dahl
a936768890 stdout and stderr are blocking when referring to regular files
Fixes message tests.
2011-11-03 13:27:33 -07:00
Ryan Dahl
4a8088a603 Socket.write should reset timeout timer.
Fixes #2002.
2011-11-03 12:37:04 -07:00
Ben Noordhuis
9c11e8a1ca net: implement Server.prototype.address() for pipes 2011-11-03 19:16:10 +01:00
Maciej Małecki
481c17504d test error codes related to pipes
This tests passes on node v0.4, but fails on node v0.5. v0.5 seems to
generally lack error codes for various error events related to UNIX
pipes.

Fixes #2001
2011-11-03 10:54:00 -07:00
Ryan Dahl
2dd68af334 Remove -Werror from V8 build 2011-11-03 10:46:16 -07:00
Ryan Dahl
0e9c1ca673 Downgrade V8 to 3.6.4 2011-11-03 10:34:22 -07:00
koichik
a6dbe0ff23 docs: make fs.mkdir()'s mode argument an option. 2011-11-03 20:04:22 +09:00
Ben Noordhuis
11d68eb3fc fs: make mkdir() default to 0777 permissions
Fixes #1999.
2011-11-03 09:37:23 +01:00
Ben Noordhuis
52eaac4382 uv: upgrade to 0fb3769 2011-11-03 03:25:11 +01:00
Ben Noordhuis
818f0cba55 v8: fix freebsd build, implement VirtualMemory class 2011-11-03 03:23:59 +01:00
Igor Zinkovsky
434ccd2e20 fix process.uptime() on windows 2011-11-02 18:27:43 -07:00
Igor Zinkovsky
24a69d22a0 process.kill to use uv_kill 2011-11-02 17:34:17 -07:00
Ben Noordhuis
359a65a6db http: emit Error object after .abort()
It was emitting the net.Socket object due to misuse of the arguments object.

Fixes #1399.
2011-11-03 01:30:03 +01:00
Igor Zinkovsky
143aeb9ea7 upgrade libuv to e1bee05ecdbffbe9de37830530ad2ae2f1fb41c8 2011-11-02 16:51:26 -07:00
Ryan Dahl
850609ea2d Remove separation of libuv tests 2011-11-02 16:38:59 -07:00
Ben Noordhuis
1ba834bd3f docs: http: link to relevant net.Socket methods 2011-11-03 00:22:02 +01:00
Fedor Indutny
9ad27f7853 ignore undefined messages in the debugger repl
fixes #1995
2011-11-02 15:55:36 -07:00
Ben Noordhuis
c8646e0c41 test: add ChildProcess.prototype.killed test case 2011-11-02 18:37:34 +01:00
Maciej Małecki
6bd0bcd5af child_process: in a new ChildProcess set killed to false
This behavior is consistent with what v0.4 does.
2011-11-02 18:17:51 +01:00
Ryan Dahl
60818b957c Add missing copyright headers 2011-11-02 10:00:57 -07:00
Ben Noordhuis
672b453a76 docs: http: fix docs for the 'close' event 2011-11-02 17:28:46 +01:00
Ben Noordhuis
edea4122b1 Revert "Upgrade V8 to 3.7.1"
This reverts commit 92f5a5d3ca.

V8 3.7.1 in debug mode on ia32 has a curious race-like bug where an fs.Stats
object is not fully formed until some time after it's created. This is easy
to demonstrate by running `make test-debug`.

V8 3.7.0 does not exhibit this behaviour so back we go.

Fixes #1981.
2011-11-02 16:58:35 +01:00
Igor Zinkovsky
cc92234068 fix pummel/test-net-throttle on windows 2011-11-01 16:44:08 -07:00
Maciej Małecki
fc61134b1a doc: fix links
Changes:

  * 'http://github.com' => 'https://github.com'
  * 'https://github.com/ry/node' => 'https://github.com/joyent/node'
  * 'https://github.com/ry/http-parser' =>
    'https://github.com/joyent/http-parser'
  * old issue links
  * wiki link
2011-11-01 22:26:52 +01:00
Igor Zinkovsky
3060266ff1 windows: enable pending accepts knob 2011-11-01 14:14:52 -07:00
Ben Noordhuis
21b64dc7c9 uv: upgrade to 90b0b7d 2011-11-01 22:11:58 +01:00
Ben Noordhuis
37bb37d151 os: rename getNetworkInterfaces() to networkInterfaces() 2011-11-01 18:10:06 +01:00
Maciej Małecki
b4afe605f4 node: remove process.compile
It was deprecated before v0.4.
2011-11-01 17:45:21 +01:00
Ben Noordhuis
362b5a6c40 process: fix process.nextTick() error case regression
Patch and test by Koichi Kobayashi.
2011-11-01 16:30:43 +01:00
koichik
f5a01d1764 test: fix test/message/undefined_reference_in_new_context.js
after 4d4900f, stack trace was changed.
2011-11-01 19:30:19 +09:00
isaacs
06190928c0 doc: Correct blatantly wrong futimes documentation 2011-10-31 16:31:59 -07:00
Ben Noordhuis
4d4900fc65 process: optimize process.nextTick()
33% performance boost on large nextTick queues.
2011-10-31 22:31:14 +01:00
Ben Noordhuis
5fee1ff7bc bench: add process.nextTick() benchmark 2011-10-31 22:02:46 +01:00
koichik
f53d092a2a tls, https: add passphrase option
Fixes #1925.
2011-10-31 17:36:43 +09:00
Ben Noordhuis
b6c582a3a3 docs: tty: remove tty.open() documentation 2011-10-30 21:22:46 +01:00
Ben Noordhuis
a1fa3efd2b core: fix off-by-one error in node::DLOpen()
Fixes loading of modules that use the NODE_MODULE macro on POSIX platforms.
2011-10-30 17:35:08 +01:00
Ben Noordhuis
26874e2e07 docs: addons: fix example 2011-10-30 17:15:10 +01:00
koichik
8a729270c1 fix for --harmony_block_scoping
Fixes #1969.
2011-10-31 00:49:20 +09:00
koichik
52c2988f16 docs: fix option's name of cluster.startMaster() 2011-10-30 11:40:31 +09:00
Ben Noordhuis
a7803c58e4 uv: upgrade to 70381ce 2011-10-30 02:56:51 +01:00
Siddharth Mahendraker
12cf730b69 events: separate maxListeners and _events
Fixes #1479.
Fixes #1923.
2011-10-30 02:14:30 +01:00
Igor Zinkovsky
6d7aa65399 fix pummel/test-child-process-spawn-loop.js on windows 2011-10-28 18:32:27 -07:00
Bert Belder
60efa608d6 Upgrade libuv to e4d6509211 2011-10-29 01:33:01 +02:00
Bert Belder
a56a95b652 Export some functions from node.h 2011-10-29 01:06:53 +02:00
Bert Belder
4a1efb2b9c Support native extension loading on Windows 2011-10-29 01:06:51 +02:00
Bert Belder
dd93c53c4e Make node::DLOpen use uv_dlopen 2011-10-29 01:06:49 +02:00
Bert Belder
2f22024806 Upgrade libuv to 90e15f1110 2011-10-29 01:06:47 +02:00
Bert Belder
c0c4bd4efa Add common.gypi to gyp output 2011-10-29 01:06:45 +02:00
Bert Belder
889620dcd2 Wrap long lines, strip trailing whitespace 2011-10-29 01:06:44 +02:00
Bert Belder
1e2d777601 Remove outdated comment 2011-10-29 01:06:42 +02:00
Bert Belder
6a6a70e80e Fix v8 build on Windows
There's probably a better way to fix this
2011-10-29 01:06:40 +02:00
Igor Zinkovsky
56315494dd fix simple/test-child-process-double-pipe on windows 2011-10-28 15:57:39 -07:00
Igor Zinkovsky
f35a396c54 Revert "remove node_io_watcher"
This reverts commit cc2ac1ccc7.
2011-10-28 15:35:38 -07:00
Ben Noordhuis
ccd8b55b01 linux: unbreak build if HAVE_MONOTONIC_CLOCK=0 2011-10-28 23:47:08 +02:00
Ben Noordhuis
004e6fbe1f docs: addons: fix NODE_SET_METHOD example 2011-10-28 22:36:55 +02:00
Zachary Scott
e35ce7baa1 docs: tty: stdin must be initialized before calling setRawMode 2011-10-28 22:32:04 +02:00
Ben Noordhuis
1d94d4fa70 docs: fix home page link to API docs 2011-10-28 18:22:39 +02:00
Ben Noordhuis
3dee0e4cd8 zlib: compile without -ansi
Source contains C++ / C99 comments, gcc in strict mode doesn't like that.
2011-10-28 17:31:40 +02:00
Igor Zinkovsky
cc2ac1ccc7 remove node_io_watcher 2011-10-27 16:47:37 -07:00
koichik
173f91c791 docs: add zlib.createXxx() functions 2011-10-27 21:21:54 +09:00
Ben Noordhuis
b9529545e1 v8: implement VirtualMemory class on SunOS
Unbreaks build on SunOS. Re-applies 4908e5bf7a.
2011-10-27 11:22:07 +00:00
Ryan Dahl
92f5a5d3ca Upgrade V8 to 3.7.1 2011-10-27 00:48:23 -07:00
Tj Holowaychuk
528c28587f cluster: Add some docs, improve cluster.isWorker()
Fixes #1949.
2011-10-26 16:42:00 -07:00
Ryan Dahl
c5d54010bc node cluster is now a module instead of CLI interface
This is to make room for master process plugins instead of adding CLI
options as proposed in #1879.
2011-10-26 13:50:53 -07:00
Nathan Rajlich
4fb2ac5be1 Add test cases for #1944. 2011-10-27 04:58:51 +09:00
Nathan Rajlich
ebefe77bc0 More bulletproof util.inspect() function.
Use the *real* versions of the Date and RegExp functions, from the
prototype. This defends against code like:

  var d = new Date()
  d.toUTCString = null
  util.inspect(d)
    // TypeError: toUTCString is not a function

Fixes #1944.
2011-10-27 04:58:34 +09:00
Nathan Rajlich
d4379fcee3 Add test case for #1941.
Add test for the false-positives from #1942.
Fix test-sys.js.
2011-10-27 04:33:24 +09:00
Nathan Rajlich
2dbb470ea1 Don't use instanceof in lib/util.js "is" checks.
While using `instanceof`, these functions could easily be faked with something
like:  Object.create(Date.prototype)

So let's just not use it at all. A little slower, but these functions are only
used in the REPL / for debugging so it's OK.

Fixes #1941.
Fixes #1942.
2011-10-27 04:33:24 +09:00
Ryan Dahl
194511ff1a Return IPv4 addresses before IPv6 addresses from getaddrinfo 2011-10-26 12:28:25 -07:00
Nathan Rajlich
3524f41a27 Add docs for the type checking functions in util.js. 2011-10-27 03:38:29 +09:00
Nathan Rajlich
a6a04fb1ec Add test case for the util.js type checking functions. 2011-10-27 03:38:29 +09:00
Nathan Rajlich
b8f3e18a5d Export the type checking functions from util.js.
As per discussion at:
http://groups.google.com/group/nodejs-dev/browse_thread/thread/b08970166e4670cf
2011-10-27 03:38:29 +09:00
Ryan Dahl
b3ddb895d2 Don't compile in node_dtrace.cc when not supported 2011-10-26 11:36:21 -07:00
Zachary Scott
3961b5a131 docs: update email address 2011-10-26 20:00:54 +02:00
Zachary Scott
7fb8c7c37f docs: update socket.io url 2011-10-26 20:00:10 +02:00
koichik
cbcaeedba9 tls: add address(), remoteAddress/remotePort
Fixes #758.
Fixes #1055.
2011-10-27 00:28:16 +09:00
koichik
0e8a55d2a2 tls: does not emit 'end' from EncryptedStream
de09168 and 4cdf9d4 breaks `test/pummel/test-https-large-response.js`.
It is never finished.

Fixes #1936.
2011-10-27 00:18:29 +09:00
Ben Noordhuis
13871fa2f8 build: fix sunos gyp build, include platform file 2011-10-26 05:11:38 +00:00
Ben Noordhuis
15628f6735 sunos: don't use exceptions
Don't use exceptions in platform functions. Fix a resource leak
(leaked kstat handle) while we're at it.
2011-10-26 05:09:21 +00:00
Ben Noordhuis
d7dff34bad gyp: support older bash versions
Older bash versions in `sh -c` mode don't parse `export FOO=42` constructs,
they bail out with a "FOO is not an identifier" error message.

This was fixed somewhere between bash 4.1.0 and 4.1.5 but let's support the
older versions anyway.
2011-10-26 04:59:31 +00:00
Ben Noordhuis
b8847e9ac6 uv: upgrade to 0cb2213 2011-10-26 00:05:24 +02:00
Igor Zinkovsky
0a5708c3e9 fix test-http-curl-chunk-problem.js and test-pipe-file-to-http.js on windows 2011-10-25 14:10:12 -07:00
Ben Noordhuis
680765abec http: fix gcc 3.x build, don't use always_inline 2011-10-25 19:18:58 +00:00
Ben Noordhuis
dddfd0f8b8 test: spawn process.argv[0], not 'node'
'node' may or may not be on the path and may or may not be the version we are
running the test suite for.
2011-10-25 02:24:51 +02:00
Nathan Rajlich
58cb0fa639 Directly export the Stream constructor.
Also setting up a circular reference back to the
stream as `Stream.Stream`, for backwards-compatibility.

Fixes #1933
2011-10-24 15:45:35 -07:00
Ryan Dahl
239b3d62de Remove resume and pause events
Too complex; unnecessary.
2011-10-24 13:23:59 -07:00
isaacs
4c5751ba97 Close #1929 zlib Respond to 'resume' events properly 2011-10-24 12:55:45 -07:00
Maciej Małecki
7ee29d1d5b net: Server.listen, Server.close and Socket.connect return this
Just a syntactic sugar for doing, for example:

    var server = net.createServer(function (c) {
      c.end('goodbye, cruel world!\r\n');
      server.close().on('close', function () {
        console.log('really, goodbye!');
      });
    }).listen(1337);

Fixes #1922.
2011-10-24 22:19:42 +09:00
koichik
00aa8935d7 docs: improvement fs, http and https 2011-10-22 23:40:15 +09:00
seebees
216570b5e1 Lint 2011-10-22 14:14:40 +09:00
seebees
a2eaddaa51 Documentation update
http.markdown
  note options now align with url.parse
  added note that hostname is preferred over host.
  added auth
  added not that setting an explicit Authorization header will override basic authentication with 'auth'

https.markdown
  Made a link to http.request and noted that all http.request options are valid.

url.markdown
  added path option
2011-10-22 14:14:40 +09:00
seebees
1ead20f274 remove auth from host
Fixes #1626
2011-10-22 14:14:40 +09:00
seebees
005d607aed http.request(url.parse(x))
http2.js

protocols object to store defaults for http and https, and use as a switch for supported protocols.
options.hostname > options.host > 'localhost'
if I have an options.auth element and I do not have an Authorization header, I do basic auth.
http.request collapses to new ClientRequest since the defaults are handled by the protocol object

test-http-url.parse*

Fixes #1390

Conflicts:

	lib/http2.js
2011-10-22 14:14:40 +09:00
seebees
be4576de7a url.resolveObject(url.parse(x), y) == url.parse(url.resolve(x, y));
added a .path property = .pathname + .search for use with http.request

And tests to verify everything.
With the tests, I changed over to deepEqual, and I would note the comment on the test
['.//g', 'f:/a', 'f://g'], which I think is a fundamental problem

This supersedes pull 1596
2011-10-22 14:14:39 +09:00
koichik
ed744ecbfd docs: remove #1914 from Changelog. 2011-10-22 14:02:36 +09:00
Nathan Rajlich
bdb9d09aef Print out undefined on the REPL when returned.
util.inspect() has a special case for "undefined", so it's nice to be able to
distinguish visually that undefined is the result of an expression.
2011-10-22 14:02:35 +09:00
koichik
7e2d799328 docs: fix typo 2011-10-22 14:02:35 +09:00
Ryan Dahl
9b808c2d1b Now working on v0.5.11 2011-10-21 19:16:06 -07:00
Ryan Dahl
220e61c1f6 Bump version to v0.5.10 2011-10-21 18:46:42 -07:00
Ben Noordhuis
dd6faa5adf uv: upgrade to 179f475 2011-10-21 18:44:19 -07:00
Ben Noordhuis
ac379b3be1 net: bring back .setNoDelay() and .setKeepAlive() 2011-10-21 18:09:23 -07:00
Ben Noordhuis
401c073dd2 uv: upgrade to ec825ff 2011-10-21 18:09:17 -07:00
Ryan Dahl
493d3b9f7c Merge remote branch 'origin/v0.4'
Conflicts:
	ChangeLog
	Makefile
	deps/libev/wscript
	doc/index.html
	doc/template.html
	lib/net.js
	src/node_version.h
	src/platform_cygwin.cc
	test/pummel/test-net-write-callbacks.js
	test/simple/test-buffer.js
2011-10-21 18:02:30 -07:00
Igor Zinkovsky
8498ee03bc make simple\test-fs-symlink.js work on windows 2011-10-21 17:31:32 -07:00
Maciej Małecki
8f1ba251dd test: #1899 - output in child process raises an exception 2011-10-21 15:53:09 -07:00
Ryan Dahl
d5a21a29f8 getaddrinfo returns ENOTFOUND for invalid domain names
change test-http-dns-error to reflect this.
2011-10-21 15:19:53 -07:00
Ryan Dahl
efa95c2718 Fix test-eio-race on Windows 2011-10-21 14:55:28 -07:00
Ben Noordhuis
3c3ec7b2d7 gyp: upgrade to r1081 2011-10-21 13:49:29 -07:00
Ryan Dahl
9b2335a356 Upgrade libuv to 7738306 2011-10-21 13:44:30 -07:00
Ryan Dahl
de09168e5a Emit 'end' from crypto streams on close
Fixes test/simple/test-tls-peer-certificate.js on Windows

Patch from bnoordhuis.

See also 75a0cf970f
2011-10-21 13:16:41 -07:00
isaacs
2d02e6a992 Add useGlobal flag for standard node repl 2011-10-21 13:02:49 -07:00
isaacs
caf70f5e94 Revert "Don't use a separate context for the repl."
This reverts commit b70fed48a7.
2011-10-21 13:00:37 -07:00
Ben Noordhuis
0ae98dfc66 build: fix wscript on solaris
os.path.exists() in python 2.5.2 returns false for symlinks.
2011-10-21 12:46:55 -07:00
Igor Zinkovsky
69b73f9cf0 make process.kill a no-op on windows 2011-10-21 10:27:22 -07:00
Ryan Dahl
fafb584881 Fix race condition in test-dgram-pingpong 2011-10-21 10:21:23 -07:00
Ben Noordhuis
84d0b1bcc5 http: improve http parser bindings
Speeds up HTTP benchmarks by 10% on average.
2011-10-20 19:19:02 -07:00
Ryan Dahl
c83dda89a4 dns.lookup uses cares_wrap::GetAddrInfo 2011-10-20 18:03:02 -07:00
Ryan Dahl
fb3cccc257 Upgrade libuv to 2c7e8bb 2011-10-20 17:58:35 -07:00
Bert Belder
00bbe958c4 Fix windows build 2011-10-20 15:40:08 -07:00
Ben Noordhuis
145aa636b9 uv: upgrade to 28234d7 2011-10-20 15:30:09 -07:00
Ryan Dahl
be2320d408 Add binding to uv_getaddrinfo 2011-10-20 15:06:53 -07:00
Nathan Rajlich
95d530f2b4 repl: print out undefined
util.inspect() has a special case for "undefined", so it's nice to be able to
distinguish visually that undefined is the result of an expression.
2011-10-20 08:41:33 -07:00
Fedor Indutny
b43eb9678b debugger: fix backtrace err handling 2011-10-20 08:37:51 -07:00
Ben Noordhuis
9bb3a683fe docs: improve buffer.fill() documentation
Fixes #1912.
2011-10-19 18:20:55 -07:00
Ryan Dahl
6cc42927d8 Display sys_errno when UV_UNKNOWN is returned 2011-10-19 16:53:07 -07:00
Ryan Dahl
88af0c8635 Remove os.openOSHandle
Unused.
2011-10-19 16:28:58 -07:00
Ryan Dahl
67b235735e Remove support for cygwin 2011-10-19 16:23:26 -07:00
Ryan Dahl
9d27faa2c4 Revert "Fix #1801 vm: Use 'sandbox' as global_prototype"
Accidentally committed. Revert until review.

This reverts commit 200df8641b.
2011-10-19 11:01:08 -07:00
Thomas Parslow
b0f78afe58 http: Added support for HTTP PATCH verb
Fixes #1907.
2011-10-19 19:59:16 +09:00
koichik
6a72e52520 buffer: use NO_NULL_TERMINATION flag
Refs #394.
Fixes #1902.
2011-10-19 15:03:00 +09:00
isaacs
b70fed48a7 Don't use a separate context for the repl.
Fix #1484
Fix #1834
Fix #1482
Fix #771

It's been a while now, and we've seen how this separate context thing
works.  It constantly confuses people, and no one actually uses '.clear'
anyway, so the benefit of that feature does not justify the constant
WTFery.

This makes repl.context actually be a getter that returns the global
object, and prints a deprecation warning.  The '.clear' command is gone,
and will report that it's an invalid repl keyword.  Tests updated to
allow the require, module, and exports globals, which are still
available in the repl just like they were before, by making them global.
2011-10-18 18:18:32 -07:00
elliottcable
200df8641b Fix #1801 vm: Use 'sandbox' as global_prototype
Squashed commit:

(- re tests) Cleaning up the `Script` test suite.

For whatever reason, there were several duplicate test files related to `Script`
and the `'vm'` module. I removed these, and fixed a few other small issues.
(More fixes coming in subsequent commits.)

Squashes: 19e86045a0..1e3dcff4eb

(api fix:1801 new:1801) `'vm'` module uses sandbox as prototype

As described in GH-1801, the `'vm'` module was handling the `sandbox` object
provided by the API consumer in a particularly terrible and fragile fashion: it
was simply shallow-copying any enumerable properties from the sandbox onto the
global context before executing the code, and then eventually copying any values
on the global context back into the sandbox object *afterwards*.

This commit removes all of that implementation, and utilizes the passed sandbox
object as the *prototype of the context* instead. A bit of a hack, but a very
effective one.

This no longer allows for new variables created in the global context to be
placed into your sandbox after execution has completed, but that’s for the best
anyway, as it’s not very in line with the concept of a “box of passed-in
context.” I’m planning to further implement an interface for API consumers to
acquire the *actual global* from within the VM soon, thus allowing for
separation-of-concerns: providing data *to* the VM via the sandbox-prototype,
and exploring the internal environment of the VM itself.

// GitHub cruft: closes #1801

Squashes: 43b8e3c..209ed86
2011-10-18 17:56:35 -07:00
Ryan Dahl
d9bc8455cb Fix test-c-ares.js on Windows by disabling PTR test 2011-10-18 16:12:07 -07:00
Ryan Dahl
6cc0c9e6a9 Remove superfluous nextTick during server binding
This breaks fork().send({}, server._handle) after server.listen() because
server._handle is not set.
2011-10-18 15:12:18 -07:00
Ryan Dahl
dbfc8198a6 Upgrade GYP to r1078 2011-10-18 14:39:39 -07:00
Ryan Dahl
5783a52a9c Remove process.memoryUsage().vsize
Not meaningful cross platform; unused.
2011-10-18 14:31:37 -07:00
Ryan Dahl
d77ce4b998 Fixes #1860. Remove process.writeError
Breaks a few tests in "make test-message"
2011-10-18 13:12:50 -07:00
koichik
d2698d1822 http: add test for #1885 2011-10-17 16:14:35 +09:00
Yoshihiro Kikuchi
f90ba61478 http: tiny fix in http.js
Fixes #1885.
2011-10-17 01:14:45 +09:00
koichik
cdec7e3ae5 docs: improvement tls example 2011-10-16 16:50:16 +09:00
Igor Zinkovsky
5ca3dcd127 test: fix test-child-process-stdin and test-child-process-kill on windows 2011-10-15 22:55:24 +02:00
koichik
d6191f593d net: fix error handling in listen()
Fixes #1894.
2011-10-16 01:30:19 +09:00
koichik
86a67f15a0 docs: add example of tls 2011-10-16 01:26:38 +09:00
koichik
68cc173c6d tls: The TLS API is inconsistent with the TCP API
Add 'secureConnect' event to tls.CleartextStream.

Fixes #1467.
2011-10-15 19:27:21 +09:00
Ben Noordhuis
0b92fa0e93 net: fix connect queue bugs
This commit fixes two bugs in the handling of write requests when the connect()
call is still in progress.

1. The deferred write request's size was counted twice towards `.bytesWritten`.

2. The callback was not called. After connecting, `Socket.write()` was called
   with three arguments (data, encoding, cb) but it ignored the third argument.

Coincidentally fixes test/simple/test-net-connect-buffer.js.
2011-10-15 03:34:09 +02:00
Ben Noordhuis
6df574b744 net: properly account multi-byte chars in .bytesWritten 2011-10-15 03:24:34 +02:00
Igor Zinkovsky
971c3d90eb win: remove pthread-win32 init code 2011-10-15 02:50:16 +02:00
Igor Zinkovsky
107b05772a build: fix windows build 2011-10-15 02:12:53 +02:00
Ben Noordhuis
2f8596ee10 test: fix bug in setproctitle test
Output from `ps` may contain trailing whitespace, trim it.
2011-10-15 02:07:57 +02:00
Ben Noordhuis
4908e5bf7a v8: implement VirtualMemory class on SunOS
Unbreaks build on SunOS. Un-reverts 9bbca99107.
2011-10-14 23:29:35 +00:00
isaacs
e6f147141e doc: Add examples of zlib usage with http 2011-10-14 16:15:08 -07:00
Ben Noordhuis
b6a869ef4f test: check that EventEmitter.on == EventEmitter.addListener 2011-10-15 01:08:41 +02:00
Ben Noordhuis
018e110cd1 test: replace .addListener() calls with .on() 2011-10-15 01:08:36 +02:00
Ben Noordhuis
3108a9ee38 uv: upgrade to 456f831 2011-10-15 00:42:10 +02:00
koichik
19a855382c tls: requestCert unusable with Firefox and Chrome
Fixes #1516.
2011-10-15 00:54:46 +09:00
koichik
a09b747f30 child_process.fork: don't modify args
Fixes #1888.
2011-10-15 00:15:38 +09:00
Ben Noordhuis
e0297ca59b node: fix use of potentially uninitialized variable 2011-10-14 15:05:02 +00:00
Ben Noordhuis
87b34c94fa timer_wrap: add sanity check assert 2011-10-14 15:01:26 +00:00
Ben Noordhuis
9193062e70 tcp_wrap: add sanity check asserts 2011-10-14 15:01:26 +00:00
Ben Noordhuis
0dc844de17 node_script: remove unused variable 2011-10-14 15:01:21 +00:00
Ben Noordhuis
dc0b7364b5 node: fix arguments to uv_timer_start() 2011-10-14 14:43:49 +00:00
Ben Noordhuis
f1d3ae7753 cares_wrap: make destructor virtual
A class with virtual methods should have a virtual destructor.
2011-10-14 14:39:25 +00:00
Ryan Dahl
33b5f2f779 Upgrade V8 to 3.7.0 2011-10-13 17:45:02 -07:00
isaacs
59a5262041 Fix #1882 zlib Update 'availOutBefore' value, and test 2011-10-13 16:47:51 -07:00
Guglielmo Ferri
66a10b6e58 docs: add API documentation note about UDP datagram size 2011-10-13 18:10:01 +02:00
Maciej Małecki
683c1c6583 docs: document process.versions 2011-10-13 17:02:54 +02:00
Simen Brekken
4b0e36810a net: register net.Server callback only once
Only register once for listening when passing a callback to Server.listen(),
this prevents servers recycled using close() from invoking the callback when
Server.listen() is called later.
2011-10-13 16:09:14 +02:00
Ben Noordhuis
fab68aa1ed platform: support long process names on linux 2011-10-13 15:48:02 +02:00
Ben Noordhuis
5faff9ebdf test: test long process name support
On platforms that support it: linux, freebsd, darwin
2011-10-13 15:47:05 +02:00
koichik
1b55010a04 docs: added .json modules. 2011-10-13 17:06:27 +09:00
Brian White
f243ca199b docs: mention util instead of sys 2011-10-13 05:06:42 +02:00
Ryan Dahl
3a34972672 Fix test-http-conn-reset.js on OSX 2011-10-12 17:31:49 -07:00
Ilya Dmitrichenko
39987cbc80 docs: improved fs.Stats section in API documentation 2011-10-13 02:25:30 +02:00
Arnout Kazemier
e3d2ae0bfd sys has been moved to util 2011-10-13 02:21:37 +02:00
Ryan Dahl
e911171e03 Move some slow tests to pummel 2011-10-12 16:59:00 -07:00
Ryan Dahl
7b4370e5f8 Fix test/pummel/test-watch-file.js 2011-10-12 16:19:46 -07:00
Ryan Dahl
651b8a06d6 Fix test/pummel/test-exec.js 2011-10-12 16:12:24 -07:00
Karl Skomski
9557020dc1 New win32 platform function: GetCPUInfo
Fixes #1644
2011-10-12 15:10:19 -07:00
Daniel Ennis
59be975322 Improve IPC performance.
Reading of JSON data off the buffer, 10-15% performance increase.

Fixes #1864.
2011-10-12 15:06:51 -07:00
Ryan Dahl
73b4b86d29 Add cluster.js to node.gyp 2011-10-12 14:51:25 -07:00
Ryan Dahl
de7fb33879 Add some docs for node cluster 2011-10-12 14:19:32 -07:00
Ryan Dahl
08cb8fce67 Remove process.ARGV
Use process.argv instead.
2011-10-12 14:10:37 -07:00
Ryan Dahl
25ff181300 Revert some changes made in 12486a6
Some of the perf improvements from many-writes-fix branch were accidentally
undone in that commit. This puts them back in.
2011-10-12 12:49:58 -07:00
Ryan Dahl
16e1d5b5ce Remove uname and git-rev detection from http_simple.js 2011-10-12 12:29:40 -07:00
Ryan Dahl
b8966872b3 Upgrade libuv to c903bc3 2011-10-12 12:27:46 -07:00
Ben Noordhuis
6ed8d41ddd docs: fix child_process.send() example 2011-10-12 17:44:47 +02:00
Ben Noordhuis
bc96302fae uv: upgrade to 25a177a
Fixes #1869.
2011-10-12 17:37:35 +02:00
Ben Noordhuis
c82828ec27 test: add test for #1869
fs.readdir() on file should raise ENOTDIR, not UNKNOWN.
2011-10-12 17:37:30 +02:00
Ben Noordhuis
752571c7ba Remove --use-legacy switch from --help section. 2011-10-12 15:47:20 +02:00
Ryan Dahl
87339a22b1 introduce node cluster 2011-10-12 02:58:35 -07:00
Igor Zinkovsky
99757cbeb2 fix simple/test-fs-utimes.js on windows 2011-10-11 22:50:16 -07:00
Ryan Dahl
2b46959075 Add throughput benchmark 2011-10-11 22:40:04 -07:00
Igor Zinkovsky
f164704383 fs.watch documentation 2011-10-11 18:28:16 -07:00
Ryan Dahl
e0b59e7dbc Remove more dead code 2011-10-11 15:20:12 -07:00
Ryan Dahl
7085a04a1e Remove process.ENV 2011-10-11 15:17:32 -07:00
Ryan Dahl
83fce75700 Remove stdio binding source - somehow this was missed in cdf5d91 2011-10-11 14:59:39 -07:00
Ryan Dahl
0e2bbac4e0 Fix test-module-load-list.js 2011-10-11 14:49:39 -07:00
Ryan Dahl
9631e29933 Remove tests relying on !process.features.uv 2011-10-11 14:47:02 -07:00
Ryan Dahl
c8dbaf579c Remove --use-legacy and --use-uv 2011-10-11 14:39:31 -07:00
Ryan Dahl
4f59041990 Fix windows build 2011-10-11 14:25:50 -07:00
Ryan Dahl
cdf5d91fe5 Remove tty_legacy 2011-10-11 13:41:33 -07:00
Ryan Dahl
71cce3f45b Remove dgram_legacy 2011-10-11 13:26:41 -07:00
Ryan Dahl
58e892dadd Remove dns_legacy 2011-10-11 13:21:30 -07:00
Ryan Dahl
96e423a665 Remove child_process_legacy 2011-10-11 13:16:33 -07:00
Ryan Dahl
be0bb2dc13 Remove net_legacy timers_legacy 2011-10-11 13:11:54 -07:00
Ryan Dahl
d2b8037ed0 disable test-sendfd 2011-10-11 13:03:29 -07:00
Fedor Indutny
178e2ce65f docs: improve addons, readline, repl documentation 2011-10-11 21:44:09 +02:00
Ben Noordhuis
49c3a910c6 docs: fix typo in code snippet 2011-10-11 21:05:45 +02:00
Ryan Dahl
53c163cd5b Disable test-child-process-custom-fds.js 2011-10-11 11:27:58 -07:00
Ryan Dahl
728b04067d Upgrade libuv to 4ac1309
Fixes #1857
2011-10-11 10:51:07 -07:00
Tomasz Janczuk
6fadbec797 wix project to create msi installer for windows
Fixes #1706.
2011-10-11 10:29:03 -07:00
Ryan Dahl
b280a2d44d Remove ANOTHER old TODO list 2011-10-11 10:08:49 -07:00
Ryan Dahl
4f4f6dfce8 Remove old TODO list 2011-10-11 10:08:09 -07:00
Ryan Dahl
a29421bcfd Delete another CMake file 2011-10-11 10:07:36 -07:00
Ryan Dahl
6a371834d8 Remove cmake build system
This removes one of the three build systems. CMake has never been officially
supported and is not updated with WAF and GYP. WAF itself is considered
legacy and will be removed once the GYP system is feature complete on
Unixes. GYP is used currently on Windows/MSVS.
2011-10-11 09:58:38 -07:00
Ben Noordhuis
6cb1d26924 v8: fix gyp build on windows 2011-10-11 17:21:35 +02:00
Ben Noordhuis
c215262db4 uv: upgrade to 47d22ac 2011-10-11 16:56:43 +02:00
Ryan Dahl
24dabec039 now working on v0.5.10 2011-10-10 18:56:37 -07:00
Ryan Dahl
3bd9b08fb1 Bump version to v0.5.9 2011-10-10 18:18:56 -07:00
Ryan Dahl
07703fa78e Revert "v8: implement VirtualMemory class on SunOS"
This reverts commit 9bbca99107.
2011-10-10 18:18:12 -07:00
Ryan Dahl
3b1d656da5 Revert "Upgrade V8 to 3.6.6"
Not stable enough.
- Windows snapshot linking broken
- Linux crash on ./node_g test/simple/test-stream-pipe-multi.js

This reverts commit 56e6952e63.
2011-10-10 17:58:30 -07:00
Ben Noordhuis
9bbca99107 v8: implement VirtualMemory class on SunOS 2011-10-10 17:06:24 -07:00
Ryan Dahl
75cfc77527 Upgrade libuv to f7f518a 2011-10-10 17:05:18 -07:00
Ryan Dahl
8c738fa90c child_process.fork: don't overwrite env
thanks to Malte-Thorben Bruns for pointing this out
2011-10-10 14:49:02 -07:00
Ryan Dahl
ca4a0fce65 Remove test-child-process-channel.js 2011-10-10 14:27:52 -07:00
Ryan Dahl
982b19dbd7 Adjust listenFD deprecation message. Remove test. 2011-10-10 14:24:56 -07:00
Ryan Dahl
2c25507b81 process.stderr goes through libuv now
This commit removes one assert from test-console.js in which we check that
process.stderr.write returns true. In the case of a dump to a file we cannot
guarantee this any longer now that it goes through fs.WriteStream.
2011-10-10 14:15:44 -07:00
Ben Noordhuis
6b9f559984 gyp: work around sunos python flock() bug
flock(LOCK_EX) always fails with EBADF, use fcntl(F_SETLK) instead.
2011-10-10 20:52:37 +00:00
Ryan Dahl
e6092f337c tty.WritableStream should be writable 2011-10-10 13:41:04 -07:00
Ryan Dahl
7cf787a2d1 Upgrade libuv to 5656e3
This modifies the TTYWrap constructor to add another argument specifying if
it's a readable or writable TTY . That is stdin or stdout. If a TTYWrap is
not readable then writes to it are blocking.

This makes process.stdout blocking.
2011-10-10 13:33:45 -07:00
isaacs
4f91b72dbe Fix #1851 Correct X/index doc 2011-10-10 12:44:20 -07:00
Ryan Dahl
56e6952e63 Upgrade V8 to 3.6.6 2011-10-10 11:52:42 -07:00
isaacs
ff942c6b39 Fix #1851 Correct X/index doc 2011-10-10 11:47:10 -07:00
Ryan Dahl
0fec213656 Update docs for server fd sharing 2011-10-10 11:36:00 -07:00
Ben Noordhuis
025f5c89c7 uv: upgrade to 41e8574 2011-10-10 16:56:02 +02:00
Ben Noordhuis
326ba25451 tty: unbreak --use-legacy
Fixes #1844.
2011-10-10 15:37:09 +02:00
Brian White
eb40dcb097 Fix typo for fs.write docs
Fixes #1843.
2011-10-09 16:51:42 +09:00
Bert Belder
d3f3f2e455 Windows: exit on ctrl+c
Fixes #1813
2011-10-08 02:52:07 +02:00
Igor Zinkovsky
af014c1a5e fix for simple/test-executable-path.js on windows 2011-10-07 17:48:47 -07:00
Ryan Dahl
12486a6437 Change API for sending handles
Does not support sending net.Server objects only raw TCPWrap objects.
2011-10-07 16:43:55 -07:00
Ryan Dahl
a23d8ad313 Upgrade libuv to 9f6024a
Fixes #1840
2011-10-07 15:20:35 -07:00
Ryan Dahl
26c08a3f35 Do load balancing test in test-child-process-fork2. 2011-10-07 13:58:55 -07:00
Bert Belder
153629c99a Some small optimizations 2011-10-07 13:38:23 -07:00
Ryan Dahl
29ec850478 Simplify arg parsing in String.write 2011-10-07 13:38:23 -07:00
Ben Noordhuis
1bb820a339 net: remove unconditional getpeername() call
Speeds up http_simple benchmark by about 1.0%
2011-10-07 13:38:23 -07:00
Bert Belder
ed65b7b375 Simplify writeReq handling in net_uv 2011-10-07 13:38:23 -07:00
talltyler
10f97f9424 Fixing #1774 about issues when running node with --harmony_block_scoping v8 option
Fixes #1837.
2011-10-08 04:33:10 +09:00
Bert Belder
fcad5e35fd Black hole tcp reads after destroy() 2011-10-07 19:03:23 +02:00
Ryan Dahl
899358e797 Add test-child-process-fork2 and fixes to make it work 2011-10-07 04:03:47 -07:00
Fedor Indutny
4561d9e07b Don't check sign of loadavg
Fixes #1838
2011-10-07 01:32:54 -07:00
Fedor Indutny
698455384f use uv for memory and loadavg functions 2011-10-07 01:31:35 -07:00
Ryan Dahl
b413c77583 Support sending handles to other processes
Needs test.
2011-10-07 01:30:28 -07:00
Ryan Dahl
d2ab314e08 Turn off V8's -Werror in GYP 2011-10-07 01:08:53 -07:00
Ryan Dahl
51f7ba4147 Merge branch 'ipc-binding' 2011-10-07 01:00:40 -07:00
Ryan Dahl
26c5905a99 Reimplement child_process.fork
Fixes test/simple/test-child-process-fork.js
2011-10-07 00:57:41 -07:00
Ryan Dahl
08c12de8e2 Upgrade libuv to 886b112 2011-10-07 00:47:13 -07:00
Ryan Dahl
f6d889523d mv test-child-process-spawn-node.js test/simple/test-child-process-fork.js 2011-10-06 22:56:29 -07:00
Ryan Dahl
471c5701c3 uv_write2 uv_read2_start binding 2011-10-06 22:31:57 -07:00
Ryan Dahl
f018be3b5f Print libuv counters after http_simple exits 2011-10-06 15:02:27 -07:00
Ryan Dahl
c344fbc285 Add process.uvCounters() for debugging 2011-10-06 14:59:38 -07:00
Ryan Dahl
311fe737e8 Upgrade libuv to 60c639f
Also remove unused src/stdio_wrap.cc
2011-10-06 12:34:24 -07:00
Bert Belder
4c1d441159 Fix gyp build 2011-10-06 21:25:13 +02:00
koichik
9797482568 docs: add example to net.connect()
Fixes #1824.
2011-10-06 21:36:46 +09:00
Colton Baker
87286cc737 Fixed a lot of jslint errors.
Fixes #1831
2011-10-05 18:51:06 -07:00
Ryan Dahl
627f379f22 upgrade libuv to 0303197 2011-10-04 16:53:20 -07:00
Ben Noordhuis
bc7cfd7cd7 http: remove legacy http library 2011-10-04 20:51:34 +02:00
Ben Noordhuis
976c6b0826 test: add TXT DNS record lookup test 2011-10-03 16:50:09 +02:00
Christian Tellnes
d9c67aebff dns: implement resolveTxt() 2011-10-03 16:41:29 +02:00
Ben Noordhuis
f1ca485357 zlib: fix assert message 2011-10-03 13:40:42 +02:00
Maciej Małecki
365fdbfc64 test: Update assert module tests 2011-10-02 02:25:52 +02:00
Maciej Małecki
f4f037aa64 docs: Update assert module docs 2011-10-02 02:25:52 +02:00
Maciej Małecki
8c8d518723 assert: Make assert module an assert.ok function
Code can be written:

    var assert = require('assert');
    assert(true);

instead of:

    var assert = require('assert');
    assert.ok(true);
2011-10-02 02:25:52 +02:00
Fedor Indutny
234afa5be1 docs: document watcher debugger commands 2011-10-02 02:19:17 +02:00
Ryan Dahl
f30cba2ba4 add zlib module to doc index 2011-09-30 17:01:07 -07:00
Ryan Dahl
8f23fd545d Now working on v0.5.9 2011-09-30 16:49:30 -07:00
Ryan Dahl
7cc17a0cea Bump version to v0.5.8 2011-09-30 13:59:44 -07:00
Fedor Indutny
360ce526fd debugger: watch, unwatch, watchers
Fixes #1800.
2011-09-30 13:22:56 -07:00
Ryan Dahl
4e43afd973 Fixes #1805. Reset TTY mode on exit. 2011-09-30 13:12:29 -07:00
Ryan Dahl
d1e6a13179 Upgrade libuv to fe18438 2011-09-30 13:12:12 -07:00
Ryan Dahl
007ddcd2cd Move test-net-write-callbacks to pummel
Runs in 3 seconds.
2011-09-30 10:31:39 -07:00
Ryan Dahl
49806864e4 Add test from v0.4 dea49e3
Note this test completes in 3 seconds on v0.4 and 7 minutes on master. NOT
GOOD.
2011-09-30 09:56:37 -07:00
koichik
530082932d docs: Added missing parenthesis to buffer.readUInt8 example.
Fixes #1790.
2011-09-30 17:05:50 +09:00
koichik
4cdf9d4158 tls: Improve TLS flow control
Fixes #1775.
2011-09-30 15:44:45 +09:00
koichik
49ac083dc1 tls: Add test for #1775 2011-09-30 15:44:13 +09:00
Ryan Dahl
84641fcdf0 WAF: Clean out/Release/deps/uv before build 2011-09-29 11:35:21 -07:00
Ryan Dahl
005448bdeb Don't ls node_g after make - it confuses people 2011-09-29 09:52:24 -07:00
Marco Rogers
3fc01d9770 docs: note about empty environment in child processes
Fixes #1794.
2011-09-29 19:50:25 +09:00
Ben Noordhuis
fa44659c66 test: fix typo in error message 2011-09-29 04:51:40 +02:00
Ryan Dahl
dea49e3d19 net: Fix string-concat hot path bug
Also removes functionality added in f9fec3a2d6
because it changes API. (That patch shouldn't have been added anyway.)
2011-09-28 17:49:33 -07:00
Fedor Indutny
1b8b097fad debugger: refactor, no more res.success checks
Fixes #1779.
2011-09-28 11:40:51 -07:00
Fedor Indutny
542156a6a1 debugger: use regexps in repl test
Fixes #1788
2011-09-28 11:39:45 -07:00
Ryan Dahl
416c14f644 Remove a few instances of process.binding('stdio') from src/node.js 2011-09-27 15:04:01 -07:00
Ryan Dahl
7e62bc9828 Move process.stdout unref hack to handle_wrap.cc
See #1726
2011-09-27 15:01:28 -07:00
Fedor Indutny
0a42266824 debugger: double ctrl+break on win should exit node
Fixes #1780.
2011-09-27 14:31:30 -07:00
Ryan Dahl
f63a1f8409 Merge branch 'new-tty-binding' 2011-09-27 13:13:21 -07:00
Ryan Dahl
41d811f41f Fix test-module-load-list.js 2011-09-27 13:11:09 -07:00
Bert Belder
c06af229dc Upgrade libuv to 2c0fca9a41 2011-09-27 13:03:29 -07:00
Bert Belder
81425598db Enable console colors on windows by default 2011-09-27 13:03:29 -07:00
Bert Belder
73fcd43b85 Add new tty js files to node.gyp 2011-09-27 13:03:28 -07:00
Ryan Dahl
2e389c6531 scope.Close in GuessHandleType; don't use uv_is_tty 2011-09-27 13:03:28 -07:00
Ryan Dahl
e1dc6e6d73 Bind uv_tty_get_winsize 2011-09-27 13:03:28 -07:00
Ryan Dahl
1de156abb1 Bind/use uv_guess_handle 2011-09-27 13:03:28 -07:00
Ryan Dahl
74b6426ec6 Initial pass at new TTY js layer
This breaks Windows.
2011-09-27 13:02:11 -07:00
Ryan Dahl
f5bdce9cc0 Disable test-dgram-unix.js test-dgram-unix-anon.js test-dgram-multicast.js 2011-09-27 12:52:48 -07:00
Fedor Indutny
95866a6445 debugger: export port
Fixes test-debugger-client.js

Fixes #1782.
2011-09-27 12:49:03 -07:00
Ryan Dahl
0f8f863043 Fixes #1726, hack to unref process.stdout 2011-09-27 12:41:59 -07:00
Ben Noordhuis
abfcd1fb00 docs: document crypto.randomBytes() 2011-09-27 20:27:57 +02:00
Ben Noordhuis
413d38c43b test: test crypto (P)RNG functions 2011-09-27 20:27:57 +02:00
Ben Noordhuis
c4eaf7e5a9 crypto: implement randomBytes() and pseudoRandomBytes() 2011-09-27 20:27:53 +02:00
Fedor Indutny
67706b8bb7 Export disableColors from repl, share with debugger 2011-09-27 11:58:02 +02:00
Fedor Indutny
f4124e18cb debugger: setBreakpoint('fn()')
Fixes #1777
2011-09-27 00:26:16 -07:00
Ryan Dahl
fa2eaeafda write-only streams should not shutdown
See
https://github.com/joyent/node/issues/1726#issuecomment-2207602
2011-09-26 23:25:50 -07:00
Ryan Dahl
040cf02724 Re-land Bert's test for #1697
Was reverted out in cde81a6675
2011-09-26 12:50:59 -07:00
isaacs
c828ded0c2 zlib: Typo. s/opt/opts/ 2011-09-26 11:50:20 -07:00
Fedor Indutny
c26cf84a08 debugger: fix backtrace with no frames
Fixes #1768
2011-09-26 10:57:19 -07:00
Fedor Indutny
02e0a0aa10 debugger docs
Fixes #1767
2011-09-25 12:38:06 -07:00
Fedor Indutny
82d0ac7ac7 Ctrl+Break on windows starts debugger server 2011-09-25 11:58:23 -07:00
Fedor Indutny
26aab0dc5d EnableDebug immediatly on SIGUSR1
Don't wait for script to break somewhere, because that may not happen if
execution is inside event-loop, not in v8.

Add '\n' to the end of 'debugger listening...' message
2011-09-25 11:58:22 -07:00
Fedor Indutny
9b6acc27aa handle backtrace errors 2011-09-25 11:58:22 -07:00
Fedor Indutny
2c9bcb28be move debugger_running to correct place 2011-09-25 11:58:22 -07:00
Fedor Indutny
9e09fc0508 more cli options
* node debug localhost:5858 - connects to remote debugger
* node debug -p `pgrep node` - connects to running process
* Fixed double-run of debugger on SIGUSR1
2011-09-25 11:58:22 -07:00
Ben Noordhuis
942b92a06e cygwin: fix new[]/delete mismatch 2011-09-25 03:59:50 +02:00
Ben Noordhuis
aff91f79ae cygwin: fix return of uninitialized variable 2011-09-25 03:59:50 +02:00
Ben Noordhuis
d91f64fcbb cygwin: fix new[]/delete mismatch 2011-09-25 03:34:19 +02:00
Ben Noordhuis
6ee676c0e4 cygwin: fix return of uninitialized variable 2011-09-25 03:34:12 +02:00
Eric Lovett
f9fec3a2d6 net: callback to socket.write should always be called asynchronously 2011-09-25 00:23:27 +02:00
Ben Noordhuis
f6bce20e5e buffers: handle bad length argument in constructor
Coerce fractional, negative and non-numeric length arguments to numbers.
Fractional numbers are rounded up, negative numbers and non-numeric values
are set to zero.
2011-09-24 18:31:56 +02:00
Ben Noordhuis
d157131439 buffers: handle bad length argument in constructor
Coerce fractional, negative and non-numeric length arguments to numbers.
Fractional numbers are rounded up, negative numbers and non-numeric values
are set to zero.
2011-09-24 18:27:03 +02:00
Ben Noordhuis
fcba1459f2 uv: upgrade to 8f617b9 2011-09-24 05:23:41 +02:00
Fedor Indutny
43cb4ec76b debugger fix for #1707 2011-09-23 13:42:41 -07:00
Fedor Indutny
39fec6003e debugger: remove useless clearlines, updated test
* remove useless clearline call at Interface start
* silence after .handleBreak()
* output '\b' if this.stdout is not a tty (debugger)
* add '\b' checks for clearline (test)
2011-09-23 13:42:41 -07:00
Fedor Indutny
e406613ee5 test-debugger-repl improvements 2011-09-23 13:42:41 -07:00
Fedor Indutny
78d91ff074 don't use global vars 2011-09-23 13:42:41 -07:00
Fedor Indutny
2010071339 readline: custom streams support 2011-09-23 13:42:41 -07:00
Ben Leslie
a4e10cdb07 Raise an error when a malformed package.json file is found.
The current behaviour will silently ignore any parsing errors
that may occur when loading a package.json file. This makes
debugging errors in the package.json file very difficult.

This changes the behaviour that that errors opening and reading
the file package.json file continue to be ignored, but errors
in parsing will throw an exception.
2011-09-23 12:00:26 -07:00
Ryan Dahl
94bedc60f4 Upgrade libuv to f20297f 2011-09-23 11:10:18 -07:00
Fedor Indutny
1e37efb08b initial tests
* Don't buffer command, before it's execution (repl)
* `quit` command, custom streams for .start, stubbed out test, disable
  history repeation for non-tty (debugger)
2011-09-23 09:38:24 -07:00
Igor Zinkovsky
66293f6e98 fix spelling 2011-09-23 09:20:15 -07:00
Ben Noordhuis
9ad334085f build: explicitly link in libz on non-win32 platforms 2011-09-23 15:40:35 +02:00
Igor Zinkovsky
8fe5712477 fs watcher binding 2011-09-22 22:32:33 -07:00
Ryan Dahl
8d37b6c92b upgrade libuv 2011-09-22 22:29:20 -07:00
isaacs
74c02066fe Add broken test for #1726. 2011-09-22 19:38:01 -07:00
Ben Noordhuis
93aad55342 crypto: fix delete of potentially uninitialized pointer 2011-09-22 06:16:53 +02:00
Ben Noordhuis
fdb0eb5825 crypto: fix read of potentially uninitialized variable 2011-09-22 06:16:47 +02:00
Ben Noordhuis
3a9b08f156 crypto: look up SSL errors with ERR_print_errors() 2011-09-22 06:16:42 +02:00
Ben Noordhuis
9ef962f9ee crypto: fix error message buffer overrun
ERR_error_string() expects a buffer of at least 256 bytes, the input buffer
was not even half that size. Use ERR_error_string_n() instead.
2011-09-22 06:16:34 +02:00
Igor Zinkovsky
de0066c697 remove node_zlib.h from node.gyp 2011-09-21 16:54:35 -07:00
Fedor Indutny
8efe7a8304 [debugger] shorten break message 2011-09-21 13:27:24 -07:00
Fedor Indutny
79fd1f7f0b [debugger] optimize context's properties initialization, make 'list' a function, not a getter 2011-09-21 13:27:24 -07:00
Fedor Indutny
3148f1400e [debugger] fix 'debug> connecting...', fixed autostart (XXX figure out why it wasn't working in some cases), fixed highlighting for first line of module's code 2011-09-21 13:27:23 -07:00
Vitor Balocco
97d355c273 docs: Add anchor links next to each function
Modify doctool.js to automatically create anchor links for
every function, for easy linking.
Include support for functions that have a <h4> level

Fixes: #1718.
2011-09-21 21:08:53 +09:00
Ben Noordhuis
320cf729db crypto: fix delete of potentially uninitialized pointer 2011-09-21 01:58:27 +02:00
Ben Noordhuis
b185751c3f crypto: fix read of potentially uninitialized variable 2011-09-21 01:58:27 +02:00
koichik
b93a7cc99e docs: add links 2011-09-20 15:50:36 +09:00
Ben Noordhuis
ed44098cf6 build: fix SYS_clock_gettime feature check
execute=True makes it fail while cross-compiling.

Fixes #1541.
2011-09-16 17:55:54 +02:00
Ryan Dahl
b31d5ac639 Update website address in Makefile 2011-09-15 17:49:29 -07:00
Ryan Dahl
cfe0f4226b Now working on v0.4.13 2011-09-15 17:31:35 -07:00
Ryan Dahl
771ba34ca7 Bump version to v0.4.12 2011-09-15 16:46:39 -07:00
Ryan Dahl
6312e889b1 Drain OpenSSL error queue? Addresses #1719 2011-09-15 15:04:09 -07:00
isaacs
e06ce7562c Fix #1707 hasOwnProperty usage
If hasOwnProperty is overridden, then calling `obj.hasOwnProperty(prop)`
can fail.  Any time a dictionary of user-generated items is built, we
cannot rely on hasOwnProperty being safe, so must call it from the
Object.prototype explicitly.
2011-09-15 10:54:08 -07:00
isaacs
b3af074a02 Add querystring test for hasOwnProperty usage 2011-09-15 09:52:49 -07:00
isaacs
98990b9779 Fix #1707 hasOwnProperty usage 2011-09-15 09:46:30 -07:00
Ben Noordhuis
5724b54d2e test: add http multi-line header test
Test case for #1569. Verify that http_parser parses multi-line headers.
2011-09-14 16:29:32 +02:00
Ben Noordhuis
8b2a3354f9 http_parser: cherry-pick 3258e4a and b89f944 from upstream
Fixes #1569, parse error on multi-line HTTP headers.
2011-09-14 16:07:37 +02:00
koichik
fdbfc9ceb7 net: Socket write encoding case sensitivity
Fixes #1586.
2011-09-04 13:53:38 +09:00
koichik
3e853e627e buffer: write() should always set _charsWritten.
Refs #1633.
2011-09-03 11:48:27 +09:00
koichik
96ede8cc9b buffer: Avoid overrun with 'binary' encoding.
Fixes #1624.
2011-09-02 09:56:58 +09:00
isaacs
ef27d56cc1 Fixes #1610 Remove DigiNotar CA from trusted list
Details:
https://threatpost.com/en_us/blogs/attackers-obtain-valid-cert-google-domains-mozilla-moves-revoke-it-082911
http://www.coriolis-systems.com/blog/2011/08/diginotar-certificate-security.php
2011-08-30 08:53:21 -07:00
Nathan Rajlich
0c91a835ff util: isRegExp() should not call toString() on its argument
An overloaded toString() method may have side effects
so don't call it for a simple type check.

Back-port of 54b409d to the v0.4 branch.
2011-08-25 19:23:31 +02:00
Ryan Dahl
827b9c5f1f net: fix throw error
Thanks Tobi
2011-08-23 14:30:12 -07:00
koichik
509a676128 Doc improvements 2011-08-23 01:15:32 +09:00
Ryan Dahl
ce9caa237f Fix #1563. overflow in ChildProcess custom_fd.
Backported from master f5db3f1f85
2011-08-20 12:42:58 -07:00
Maciej Małecki
e150bc4f2b docs: process.memoryUsage returns memory usage measured in bytes 2011-08-20 01:00:21 +02:00
isaacs
b4712bf1ac Close #1544 Document slashesDenoteHost flag in url.parse 2011-08-17 18:47:48 -07:00
Ryan Dahl
dc578724b1 Now working on v0.4.12 2011-08-17 18:45:28 -07:00
Ryan Dahl
a745d19ce7 Bump version to v0.4.11 2011-08-17 18:18:10 -07:00
Ryan Dahl
9cd510846e Fixes #1546. Remove expensive debug call. 2011-08-17 13:21:15 -07:00
Ben Noordhuis
decd81838a build: fix freebsd gyp build 2011-08-17 07:50:59 +02:00
Ben Noordhuis
52037d897d uv: upgrade to 2dae0c9 2011-08-17 07:50:58 +02:00
Ben Noordhuis
0f077a78ad gyp: add freebsd support 2011-08-17 07:50:58 +02:00
Ben Noordhuis
1e7a0aa883 gyp: revive sunos support, lost in 6b98a63 2011-08-17 07:50:58 +02:00
Ryan Dahl
ae0dd0d89c Remove extra method declaration 2011-09-20 14:08:55 -07:00
Ryan Dahl
c1ae6ea2f2 Add TTYWrap 2011-09-20 13:39:48 -07:00
Ryan Dahl
6b98a63974 Upgrade libuv to 2ef8f35 2011-09-20 13:34:52 -07:00
Fedor Indutny
b20c98e427 fix 'null' mirroring 2011-09-20 08:35:16 -07:00
Fedor Indutny
a0556fcbe1 repeat last command if empty line was entered 2011-09-20 08:35:15 -07:00
Fedor Indutny
41a41825f6 micro-refactor, use rli.output.write instead of rli.write ('line' event was emitted for those writes) 2011-09-20 08:35:15 -07:00
Fedor Indutny
292e2ea5ad fix breakpoint prefixing in list() 2011-09-20 08:35:15 -07:00
Fedor Indutny
c8ffbcd9f1 added comments, spawn child process automatically at debugger's start 2011-09-20 08:35:15 -07:00
Fedor Indutny
4ff15512f5 remove arrow from current source line 2011-09-20 08:35:15 -07:00
Fedor Indutny
ff05beeef3 fix inspection of zero 2011-09-20 08:35:15 -07:00
Ben Noordhuis
44bebc0d52 crypto: look up SSL errors with ERR_print_errors() 2011-09-20 08:12:35 +02:00
Ryan Dahl
6326b04b07 Fix test-regress-GH-819
Problem was exposed in 12798c6.
2011-09-19 13:41:48 -07:00
Ben Noordhuis
3aa1975c58 build: make wscript work with python 2.4 2011-09-19 16:44:03 +02:00
Ben Noordhuis
243c218c7a tls: remove superfluous setOptions() call 2011-09-19 16:28:22 +02:00
Ryan Dahl
12798c620d dns callbacks should go through MakeCallback 2011-09-18 13:20:16 -07:00
Ryan Dahl
100fc27ebb Upgrade gyp to r1046 2011-09-18 12:25:30 -07:00
isaacs
f90264d246 zlib: lint 2011-09-17 23:03:36 -07:00
isaacs
d104bfd5a6 zlib: Fix test so that it's not trivially passing, then pass it.
Regression from the refactor to move more things into JS.
2011-09-17 23:03:23 -07:00
isaacs
5b8e1dabbc Initial pass at zlib bindings 2011-09-17 18:22:09 -07:00
Ryan Dahl
dcd911e24b Now working on v0.5.8 2011-09-16 18:38:46 -07:00
Ryan Dahl
558241166c Bump version to v0.5.7 2011-09-16 17:54:20 -07:00
Fedor Indutny
145fac7fb1 setBreakpoint w/o arguments should set one on a current line 2011-09-16 17:53:20 -07:00
Fedor Indutny
4a537c1b88 restore breakpoints after restart, fix message handling 2011-09-16 17:53:19 -07:00
Fedor Indutny
d6088b2667 fix spawn call, customFds ain't supported yet 2011-09-16 17:53:19 -07:00
Ryan Dahl
cde81a6675 Revert "Add regression test for issue 1697"
Causing many test failures due to lingering process

This reverts commit 8b754a9e02.
2011-09-16 17:24:34 -07:00
Ryan Dahl
d750927b36 Upgrade libuv to 75a088e 2011-09-16 16:19:33 -07:00
Bert Belder
8b754a9e02 Add regression test for issue 1697 2011-09-17 00:05:15 +02:00
Ben Noordhuis
0ad28fdd37 crypto: fix error message buffer overrun
ERR_error_string() expects a buffer of at least 256 bytes, the input buffer
was not even half that size. Use ERR_error_string_n() instead.
2011-09-16 19:16:32 +02:00
Ryan Dahl
2d0b1ed7ad Upgrade libuv to 2640aae
Add test for bug fixed in joyent/libuv@2640aae1
2011-09-15 15:37:57 -07:00
Ryan Dahl
1b0a5cbaaa Merge remote branch 'origin/v0.4' 2011-09-15 15:08:38 -07:00
Ryan Dahl
b281171030 Support legacy API: process.stdout.fd 2011-09-15 13:57:41 -07:00
Ryan Dahl
5cb1fd2e32 net.Socket(fd) should start readable and writable 2011-09-15 13:35:29 -07:00
Ryan Dahl
763059ee09 Remove pthread-win32 from license file (no longer using it) 2011-09-15 13:05:54 -07:00
Jeroen Janssen
3e667804eb Fix options_file_memory_leak
Fixes #1714.
Fixes #1715.
2011-09-15 12:03:06 -07:00
Ryan Dahl
a1bafc5566 Merge remote branch 'origin/v0.4'
Conflicts:
	deps/http_parser/http_parser.c
	deps/http_parser/test.c
	lib/repl.js
2011-09-15 11:48:37 -07:00
Ryan Dahl
1b15af9dd2 Upgrade V8 to 3.6.4 2011-09-15 09:42:06 -07:00
Ben Noordhuis
f8b90946ae node: disable uv backend if NODE_USE_UV=0 2011-09-15 00:32:07 +02:00
Igor Zinkovsky
6cb15403d3 remove SetCloseOnExec 2011-09-14 13:47:00 -07:00
Ryan Dahl
a6ef3eb271 Upgrade libuv to 4197fc7
and use return value from sync uv_fs functions
2011-09-14 13:46:54 -07:00
Ryan Dahl
70966002c0 Forward customFds to ChildProcess.spawn
Fixes #1695
2011-09-14 12:33:42 -07:00
Fedor Indutny
d2dadf32db [debugger] added setBreakpoint and clearBreakpoint to help message
group commands in help message, added shortcuts info
2011-09-14 10:17:17 -07:00
Fedor Indutny
1dd3b68c4f [debugger] separate history of control and debug, make scripts command getter 2011-09-14 23:05:04 +07:00
Fedor Indutny
19194f87c5 [debugger] setBreakpoint, clearBreakpoint, fix reqSource error handling, show breakpoints in list() 2011-09-14 23:05:04 +07:00
Fedor Indutny
3a7713ff10 [debugger] synonym=>shortcut, added shortcut for backtrace (as in gdb), simplify regexp 2011-09-14 23:05:04 +07:00
Fedor Indutny
f2ec46a7a7 [debugger] color mark in _debugger, kill child on Ctrl+D 2011-09-14 23:05:01 +07:00
Ryan Dahl
0e0fbf7e6a Upgrade libuv to 4b9b692 2011-09-14 08:43:27 -07:00
Ben Noordhuis
92d4ed397b readline: handle null completer graciously
Fixes #1698.
2011-09-14 17:33:07 +02:00
koichik
244675cab1 doc: HTTPS client's options 2011-09-14 23:48:42 +09:00
koichik
e7f64a7d41 doc: HTTPS client's options
Fixes #1494.
2011-09-14 20:17:30 +09:00
Ryan Dahl
70a5659a46 Document child_process.execFile
Fixes #1700
2011-09-13 20:50:49 -07:00
Fedor Indutny
9fb186892c [debugger] requireConnection() returns bool, break UI
Stepping commands will overwrite output of previous step command
2011-09-13 20:40:26 -07:00
Fedor Indutny
57388d8b2e [repl] add error handling for async scope fetching 2011-09-13 20:40:21 -07:00
Ryan Dahl
69c35f990f Doc fixes
Fixes #1701. Thanks baudehlo.
2011-09-13 20:02:54 -07:00
isaacs
dc8f4eed53 Fix #1694 Document require() cycles 2011-09-13 10:59:42 -07:00
Ryan Dahl
cb6b9eb19e Fix windows build 2011-09-12 19:42:12 -07:00
Ryan Dahl
8c87250816 Do not load readline from util.inspect
This causes all modules using console.log() to load readline which seems
unnecessary.
2011-09-12 18:25:23 -07:00
Ryan Dahl
0928f0f290 Fix test-module-load-list
and lazy load modules for process.stdout

This probably breaks test-module-load-list on windows, but it hopefully is
an easy fix to replace "_posix" bindings with "_win32".
2011-09-12 18:12:48 -07:00
Ryan Dahl
0aad61e802 Use net_uv instead of net_legacy for stdio
Also temporary hack to prevent process.stdout from keeping event loop alive
by calling uv_unref on process.stdout initialization.
2011-09-12 17:32:52 -07:00
isaacs
190abcac9d mkdir EEXIST test
Fixed on uv 3c00d87b4239a6b8358e2085f806170c3eca10cf
2011-09-12 17:13:12 -07:00
isaacs
8b6277a460 Update uv to 3c00d87b4239a6b8358e2085f806170c3eca10cf 2011-09-12 17:11:03 -07:00
Ben Noordhuis
718032777d v8: move __C99FEATURES__=1 into common.gypi 2011-09-12 22:52:56 +00:00
Ryan Dahl
caaa59c559 Wrap uv_pipe_open, implement net.Stream(fd);
Fixes simple/test-child-process-ipc on unix.
2011-09-12 15:09:44 -07:00
Ryan Dahl
51f2e8439e Upgrade libuv to e7eeacb 2011-09-12 15:09:26 -07:00
Ben Noordhuis
77e4abbc3e v8: add platform-solaris.cc to gyp build 2011-09-12 21:48:30 +00:00
Ben Noordhuis
d104e5b91c v8: compile with __C99FEATURES__=1 on sunos
Exposes INFINITY, isinf(), isfinite(), etc.
2011-09-12 21:48:30 +00:00
Ben Noordhuis
c18ef0fed5 openssl: fixups for sunos 2011-09-12 21:48:30 +00:00
Ben Noordhuis
e4e1917936 build: fixups for sunos 2011-09-12 21:48:30 +00:00
Ben Noordhuis
d7c16fa372 build: disable -fvisibility=hidden
Not recognized by older versions of gcc.
2011-09-12 21:48:30 +00:00
Ben Noordhuis
12351a2591 build: fix breakage when resuming make 2011-09-12 21:48:30 +00:00
Ben Noordhuis
9f986981f8 build: configure node, v8, cares and openssl 2011-09-12 21:48:29 +00:00
Ben Noordhuis
fe7e00d51a gyp: add sunos support 2011-09-12 21:48:29 +00:00
Ben Noordhuis
0d80040adf uv: upgrade to 9bd8bd7 2011-09-12 23:46:39 +02:00
Ben Noordhuis
7e7e983781 uv: upgrade to b450d87 2011-09-12 18:41:48 +02:00
Thomas Shinnick
7dc2c492e9 fs: unguarded fs.watchFile cache statWatchers checking fixed
Use hasOwnProperty to check filepath cache; previous code could fail if
a filepath duplicated a chained property name.

Fixes #1637.
2011-09-12 15:59:00 +09:00
Thomas Shinnick
e58c036c27 fs: add positioned file writing feature to fs.WriteStream
Patterned on same feature in ReadStream; a small bit of new code added
plus two refactorings of previous code; added two test files.

Fixes #1645.
2011-09-12 14:57:49 +09:00
Thomas Shinnick
e4ebeb630e fs: minor corrections from examining stream read positioning
Fix minor typos, one small refactor, and change emit() in a constructor
to a throw
2011-09-12 14:57:43 +09:00
koichik
389e2a07e6 util: Fix inspection for Error
Fixes #1634.
2011-09-11 23:13:06 +09:00
Fedor Indutny
df480e0357 fix syntax error handling for 'throw ...', fix return value assertion 2011-09-11 02:19:42 -07:00
Bert Belder
55c1546f01 Un-break the windows build 2011-09-11 03:54:08 +02:00
Bert Belder
10e7c52a70 win: make test-cli-eval.js pass 2011-09-11 03:52:44 +02:00
Ryan Dahl
0f211048a0 Upgrade libuv to efa1b54 2011-09-10 18:40:40 -07:00
Ryan Dahl
67cc5c9218 Merge remote branch 'indutny/feature-debugger'
Fixes #1667
2011-09-10 17:46:14 -07:00
Fedor Indutny
b942c6339a Remove obsolete 'using v8::Null'
Fixes #1680.
2011-09-10 17:44:52 -07:00
Fedor Indutny
8c2c7bb8a9 vm context with accessors
fixes #1673
2011-09-10 10:51:58 -07:00
Fedor Indutny
fe4b0f40d6 [debugger] fixed piping from stdout of child process, fixed eval in debug repl (when not on breakpoint) 2011-09-10 23:55:38 +07:00
Fedor Indutny
54520981a4 [debugger] implemented setBreakpoint, etc
Lift prototype methods not only as accessors, but as properties too.
this.print() supports javascript objects inspection
this.error() implemented, don't throw error at callbacks and commands
Fixed list() invokation, when script is not on a breakpoint
Removed obsolete process.nextTick from `step` commands
2011-09-10 19:18:36 +07:00
Fedor Indutny
db6526f962 [debugger] deep cloning (depth = 3) 2011-09-10 18:39:34 +07:00
Fedor Indutny
69fa7ef65d [debugger] fix slow repl evals inside async callbacks 2011-09-10 18:19:47 +07:00
Fedor Indutny
79265fe389 [debugger] rename function, add it to ignore list 2011-09-10 17:57:55 +07:00
Fedor Indutny
5a3639985a [debugger] print data from child process' stdout and stderr 2011-09-10 17:43:22 +07:00
Fedor Indutny
3dd573e858 [debugger] nicier output, clear line before writing 2011-09-10 17:33:07 +07:00
Fedor Indutny
03adceec62 [debugger] more informative break message (reverting back partially) 2011-09-10 12:48:21 +07:00
Ryan Dahl
8821eb24c2 Correct date 2011-09-09 20:18:40 -07:00
Bert Belder
0be4812c35 Now working on v0.5.7 2011-09-10 01:38:51 +02:00
Bert Belder
b49bec5580 Bump version to 0.5.6 2011-09-10 00:29:35 +02:00
Bert Belder
0a72ac3770 Upgrade libuv to bd6066cb 2011-09-10 00:29:27 +02:00
Igor Zinkovsky
79ce48d3f0 fix for test-fs-chmod 2011-09-09 21:09:59 +02:00
Ben Noordhuis
fa334ef0b7 build: install uv-private/*.h, fixes native add-on builds 2011-09-09 17:30:08 +02:00
Bert Belder
97cf216c74 Upgrade libuv to e95a29ee18 2011-09-09 15:05:12 +02:00
Bert Belder
b5db0767d5 net_uv: fix 'set is undefined' error 2011-09-09 14:59:54 +02:00
Bert Belder
f810998871 net_uv: use sufficient buffer to read sock/peername 2011-09-09 14:59:27 +02:00
Igor Zinkovsky
85357abba1 fix test-fs-chmod test 2011-09-09 14:45:37 +02:00
Ryan Dahl
03c2f62020 Upgrade V8 to 3.6.2 2011-09-08 16:11:20 -07:00
Bert Belder
0a127d6a69 Upgrade libuv to 2d1c672e 2011-09-08 23:53:40 +02:00
Ryan Dahl
b6e0433755 Upgrade libuv to 5b567b2 2011-09-08 14:29:12 -07:00
Ryan Dahl
26834b0524 Revert "vm context with accessors"
This reverts commit 4527de8cba.

Causes segfault in test/message/undefined_reference_in_new_context.js
2011-09-08 13:30:52 -07:00
Fedor Indutny
8d7aade663 [debugger] call silent resume in debugEval to prevent incorrect cursor position after repl autocompletion, small refactor in readline 2011-09-09 03:05:21 +07:00
Igor Zinkovsky
65e6ba9cce Enable link, symlink, and readlink on windows 2011-09-08 12:52:08 -07:00
Fedor Indutny
01349bbd70 [debugger] added synonyms for run, cont, next, step, out, shorten breakpoint message and do not output explicit debug> on breaks 2011-09-09 02:33:28 +07:00
Fedor Indutny
46382a728a [debugger] resume stdin at right time when running code remotely 2011-09-09 02:06:07 +07:00
Fedor Indutny
d36d5c34df [debugger] revert to using getter 2011-09-09 02:06:07 +07:00
Fedor Indutny
199f90b138 [debugger] fix messages 2011-09-09 02:06:07 +07:00
Fedor Indutny
22eb2d5084 [debugger] pause stdin on debugEval 2011-09-09 02:06:07 +07:00
Fedor Indutny
3b593c9ec5 [debugger] handle lookup error, no more need to handle SyntaxErrors 2011-09-09 02:06:07 +07:00
Fedor Indutny
e13ed4a8d0 [repl, readline] refactor async completion and execution 2011-09-09 02:06:07 +07:00
Fedor Indutny
2c2397d333 [debugger] simulate getters 2011-09-09 02:06:07 +07:00
Fedor Indutny
00343a9af0 [debugger] display message on repl(), do not display warnings on Ctrl+C 2011-09-09 02:06:07 +07:00
Fedor Indutny
77eb8eabe2 [debugger] use newly added eval argument for REPLServer 2011-09-09 02:06:06 +07:00
Fedor Indutny
0d4dc3a8b5 [repl] let self.eval be configurable on REPLServer initialization 2011-09-09 02:06:06 +07:00
Fedor Indutny
f549f2bf1d [debugger] Fix help message 2011-09-09 02:06:06 +07:00
Fedor Indutny
3b2577b4fe [debugger] restructurize code, eval control repl asynchronously
Move commands closer to each other, use .debugEval and .controlEval for
controlling repl output (no more incorrect 'debug>' prints).
2011-09-09 02:06:06 +07:00
Fedor Indutny
e01635eb9b [debugger] port all commands 2011-09-09 02:06:06 +07:00
Fedor Indutny
eab65e214e [repl] Async global completion 2011-09-09 02:06:06 +07:00
Fedor Indutny
134ab61131 [debugger] two repls, initial 2011-09-09 02:06:06 +07:00
Fedor Indutny
71a9aefa0f [readline, repl] Fix completion grouping, fix parens eval results
handling
2011-09-09 02:06:06 +07:00
Fedor Indutny
42b8b77d9f [repl, readline] async interface
Add async completion and execution interface for repl and readline
2011-09-09 02:06:06 +07:00
Fedor Indutny
bd69afbc83 [debugger] readline => repl
Started porting to high-level javascript API and repl.
2011-09-09 02:06:05 +07:00
Fedor Indutny
4527de8cba vm context with accessors
true copy of sandbox properties

catch sealed errors, pass global's prototype to CloneObject

Fixes #1673
2011-09-08 11:59:21 -07:00
Ben Noordhuis
bb3a1d5b67 http: set .code='ECONNRESET' on socket hang up errors
Fixes #1672.
2011-09-08 20:47:16 +02:00
koichik
6139459d45 util: Fix inspection for sparse array
Fixes #1651.
2011-09-09 00:57:42 +09:00
koichik
98b64422bb util: Divide inspect() into some subroutines 2011-09-09 00:53:37 +09:00
Ryan Dahl
ee2c12d48e Upgrade GYP to r1034 2011-09-08 01:11:45 -07:00
Ryan Dahl
0bca54444a Upgrade V8 to 3.6.1 2011-09-07 21:23:29 -07:00
koichik
526c54c979 buffer: write() should always set _charsWritten.
Fixes #1633.
2011-09-08 11:47:32 +09:00
Ryan Dahl
52044fd1b1 Merge remote branch 'origin/v0.4'
Conflicts:
	lib/net.js
	test/simple/test-buffer.js
2011-09-07 17:51:33 -07:00
Ben Noordhuis
638773628c tls: new[] instead of malloc() in Connection::GetSession() 2011-09-07 20:02:14 +02:00
Sean Cunningham
eb99083d0b tls: add client-side session resumption support 2011-09-07 20:01:14 +02:00
Ben Noordhuis
b66d225c6e docs: document that the build system depends on python >= 2.5.2
Fixes #354.
2011-09-06 23:11:17 +02:00
Thomas Shinnick
4cf0ce5bb4 docs: typos and minor edits in several modules
Mostly quite minor edits.  Those possibly of more interest are:

  emitter.setMaxListeners(n)

    That the limit is per event name for an emitter.

  fs.readlink()

    Not a path, but rather the symbolic link's string value, which
      would be at best a partial path, certainly not a 'resolvedPath'

  global.__filename

    This may be "well-known" but this is a full path to the module
    that referencing code is running in.  It is not the main program's
    path, unless you are in the main program.  Each module knows only
    its own path.

  server.listen(port,...)

    I actually needed this functionality... "gimme just _any_ next port"

  stream.end()
  stream.destroy()

    Yeah, everybody knows what happens to the queued data, but let's
    make it *really* explicit for the first readers.
2011-09-06 18:19:41 +02:00
Maciej Małecki
fb93ab4125 test: test for correct parsing of URLs with plus character in protocol 2011-09-06 17:04:00 +02:00
Maciej Małecki
d0552949b9 url: add plus sign to protocol pattern 2011-09-06 17:03:52 +02:00
Ben Noordhuis
56efe9cbc5 file: translate libuv error codes to errno names
Fixes incorrect error names (ex. ENOEXEC instead of EBADF,
EMLINK instead of ENOENT).

Fixes #1656.
2011-09-06 16:34:21 +02:00
Ben Noordhuis
94b0481a56 uv: upgrade to cc91989 2011-09-06 16:14:14 +02:00
Bert Belder
8153a21613 Improve path parsing on windows
Closes #650
2011-09-06 04:47:36 +02:00
Ben Noordhuis
2d9ab49239 file: fix errno propagation in sync fs calls
Include libuv fs error code in the JS exception.

Fixes #1657.
2011-09-06 02:15:08 +02:00
Ben Noordhuis
554dc63328 uv: upgrade to 58ef43e 2011-09-06 02:15:08 +02:00
Peter Bright
de978991d8 windows: it's rude to clobber quick edit mode
Closes #1429
2011-09-06 00:36:41 +02:00
Ryan Dahl
061811f328 ObjectWraps should be MarkIndependent 2011-09-05 14:40:30 -07:00
Ryan Dahl
ece5c64504 Upgrade libuv to a8017fd 2011-09-05 00:32:15 -07:00
isaacs
ef523e5719 fix test-fs-realpath 2011-09-04 22:14:03 -07:00
Ryan Dahl
fcfec075e3 internal fs functions called with this == ReqWrap 2011-09-04 19:48:55 -07:00
Ryan Dahl
39ea27470c Return ReqWrap from internal fs functions 2011-09-04 19:44:01 -07:00
Ryan Dahl
f5e486ebab Fix test-fs-error-messages.js 2011-09-04 18:48:19 -07:00
Ryan Dahl
7272dbdbc6 Upgrade libuv to 991f6ee 2011-09-04 18:48:19 -07:00
Bert Belder
b5d58f11cb dgram-uv: black hole incoming messages after closing
Fixes test/simple/test-dgram-pingpong.js on windows
2011-09-05 03:30:12 +02:00
Ryan Dahl
01bf209a3d Upgrade libuv to b6ede6c
Fixes require('fs').readdirSync on unix.
2011-09-04 17:17:00 -07:00
Bert Belder
e20d0c1cd0 net-uv: correctly set socket.remoteAddress and -port
closes #1345
2011-09-05 02:10:14 +02:00
Bert Belder
ae2ac4fb1b gyp: add js files to node project 2011-09-05 02:10:12 +02:00
Bert Belder
d01b87d9c4 win: vcbuild.bat should attempt to run vcvarsall.bat 2011-09-05 02:10:12 +02:00
Ryan Dahl
17021ea631 Upgrade libuv to 142a702 2011-09-04 16:17:00 -07:00
Bert Belder
3742aeea4c resolve mingw32 build problem 2011-09-04 22:54:24 +02:00
Bert Belder
c82ab45ee6 uv_getsockname got renamed 2011-09-04 22:53:01 +02:00
Bert Belder
cb1a21b1d4 Upgrade libuv to 7b87ff7c9b 2011-09-04 22:25:40 +02:00
Peter Bright
766430c743 Windows: set executables to be console programs
closes #1644
2011-09-04 19:27:04 +02:00
Logan Smyth
bc0a552a84 docs: Fix merge error in tls docs
Fixes #1648.
2011-09-05 00:48:35 +09:00
Ashok Mudukutore
908ee33f2d build: add RPATH environment variable
Overrides default run-time library paths
2011-09-04 17:26:05 +02:00
Igor Zinkovsky
29e929de1e fix windows build break 2011-09-04 04:11:54 +02:00
Igor Zinkovsky
a3d7782c08 enable missing fs functions on windows 2011-09-03 17:45:22 -07:00
Igor Zinkovsky
ee048aa3ab fix async readdir 2011-09-03 17:44:54 -07:00
Ben Noordhuis
0df8ffe472 uv: upgrade to 6422a14 2011-09-04 02:31:12 +02:00
AJ ONeal
087d210679 docs: explain how url.format works (search trumps query, etc) 2011-09-03 03:29:49 +02:00
Michael Jackson
3bf20e43cf Fixes #1635. Fixed typo 2011-09-02 13:01:05 -07:00
Ryan Dahl
197628846d win: link to psapi.lib
broke in 65c2763
2011-09-02 12:53:20 -07:00
koichik
c28f20f880 docs: console.log() refer to util.format(). 2011-09-03 01:46:53 +09:00
koichik
28a908471d crypto: Fix BIO's usage.
Fixes #1612.
Fixes #1296.
2011-09-03 00:53:47 +09:00
Ben Noordhuis
5ded5e274f crypto: use X509_get_ext_by_NID(NID_subject_alt_name) 2011-09-03 00:49:37 +09:00
Niclas Hoyer
b7e36f8584 added test case for foaf+ssl client certificate 2011-09-03 00:49:37 +09:00
Niclas Hoyer
7b2536a1a2 Added additional properties to getPeerCertificate, now includes subjectAltName, Exponent and Modulus (FOAF+SSL friendly).
Patch written by Nathan,
http://groups.google.com/group/nodejs/browse_thread/thread/1d42da4cb2e51536
2011-09-03 00:49:37 +09:00
Nathan Rajlich
cafcc7e67a test: add test case for util.isDate() behavior 2011-09-02 17:29:33 +02:00
Nathan Rajlich
44574bc39b util: improve util.isDate() function
The old implementation was fragile. i.e. node-time is an example of a user-land
module that exports an extended Date object (with a few added functions on it's
own Date object's prototype). In that case, the old check fails.
2011-09-02 17:29:20 +02:00
Ryan Dahl
2b0a7d63a8 Upgrade libuv to b89f4f3 2011-09-01 17:44:06 -07:00
Karl Skomski
65c27638ec Added some win32 platform functions
Fixes #1617
2011-09-01 14:56:32 -07:00
Ryan Dahl
3efcbadf6b Upgrade libuv to 2e60358
Fixes #1621.
2011-09-01 14:16:04 -07:00
Nathan Rajlich
cf24f561a3 repl: don't eval twice when an Error is thrown 2011-09-01 17:15:07 +02:00
Ryan Dahl
84cf0c5280 crypto: set data before sending to thread pool
fixes test-crypto
2011-08-31 16:11:08 -07:00
Ryan Dahl
c91ec225e6 Upgrade libuv to 836cc20 2011-08-31 15:59:36 -07:00
Maciej Małecki
8d70cc607c Show warning when using lib/sys.js 2011-08-31 19:26:34 +02:00
Jeroen Janssen
f013f15c89 fix win32 uv loop breakage 2011-08-31 10:09:44 -07:00
Ryan Dahl
21cc4c4985 Upgrade libuv to ea4271f
Required adding uv_default_loop() in many places.
2011-08-31 01:53:30 -07:00
koichik
6f60683802 tls: x509 certificate subject parsing fail
Fixes #1568.
2011-08-31 03:47:23 +09:00
Ryan Dahl
d8f7a8655f Strip V8 -Werror 2011-08-30 09:44:19 -07:00
isaacs
6b6f2b1d2c Fixes #1610 Remove DigiNotar CA from trusted list
Details:
https://threatpost.com/en_us/blogs/attackers-obtain-valid-cert-google-domains-mozilla-moves-revoke-it-082911
http://www.coriolis-systems.com/blog/2011/08/diginotar-certificate-security.php
2011-08-30 08:52:49 -07:00
AJ ONeal
8039086470 docs: document querystring behavior for arrays and unassigned parameters 2011-08-30 15:17:05 +02:00
Ben Noordhuis
fe4b7420a3 uv: upgrade to 0ba44cf 2011-08-30 13:09:47 +02:00
Ryan Dahl
b68c6bac96 Fix Windows build 2011-08-30 02:26:29 -07:00
Ryan Dahl
2823ab47dc Upgrade libuv to ca11711 2011-08-30 01:59:38 -07:00
Igor Zinkovsky
bce41fac94 Use new uv_fs_ apis
This will cause master to be unstable for a while as we replace existing eio
calls with uv_fs calls.
2011-08-30 01:36:10 -07:00
Ryan Dahl
1088638725 upgrade libuv to a6ed175 2011-08-30 01:35:54 -07:00
Ryan Dahl
da00ff4999 Upgrade V8 to 3.5.9.1 2011-08-29 15:47:16 -07:00
Ryan Dahl
59fa16f648 Upgrade libuv to cbbb254
Fixes #1506
2011-08-29 15:23:20 -07:00
Ryan Dahl
ff7f7ae386 Fixes #1503. make libuv backend default on unix 2011-08-29 14:01:41 -07:00
Abimanyu Raja
b5144b245b stdio: fix typo in doc comment 2011-08-29 21:26:58 +02:00
Mikeal Rogers
7c87e092fb Sockets should never be attached to a ClientRequest before nextTick().
This way the API for interacting directly with the socket object is
consistent before and after the Agent pool is exhausted.

Fixes #1601.
2011-08-29 12:22:19 -07:00
Jann Horn
1a0edbca86 module: remove 'is URL?' check in module loader, dead code 2011-08-29 18:20:58 +02:00
jkummerow@chromium.org
b5643cb2a6 v8: remove unnecessary break-after-return in switch statement
BUG=v8:1642

Review URL: http://codereview.chromium.org/7781007

This is a back-port of upstream r9043. Fixes build on OS X 10.5.
2011-08-29 16:00:48 +02:00
Peter Lyons
d2defa3012 test: test for issue #752 2011-08-28 23:49:24 +02:00
Peter Lyons
a4eee3d28f http: remove 'headers sent?' check in OutgoingMessage.getHeader()
Fixes #752.
2011-08-28 23:47:10 +02:00
Peter Bright
186364e24f Don't load-time link against CreateSymbolicLink, it doesn't exist on Windows Server 2003.
Fixes #1592.
2011-08-26 19:55:25 -07:00
Igor Zinkovsky
779c93c523 merge vcbuild.bat and generate_projects.bat 2011-08-26 17:06:01 -07:00
Ben Noordhuis
8342f31af9 Now working on 0.5.6 2011-08-27 01:27:52 +02:00
Ben Noordhuis
d2d53d4bb2 Bump version to v0.5.5 2011-08-26 23:24:18 +02:00
Ben Noordhuis
790f13df9c Fix typo in configure script 2011-08-26 20:38:45 +00:00
Ryan Dahl
7d38a3b81c Fix build - due to V8 API change 2011-08-26 13:20:27 -07:00
Ryan Dahl
f1996ffebc Merge remote branch 'origin/v0.4'
Conflicts:
	AUTHORS
	ChangeLog
	doc/api/stdio.markdown
	doc/index.html
	doc/template.html
	lib/net.js
	src/node_version.h
	test/simple/test-child-process-customfd-bounded.js
	test/simple/test-console-not-call-toString.js
2011-08-26 13:16:16 -07:00
Ryan Dahl
028908ab7c Upgrade V8 to 3.5.8 2011-08-26 13:07:04 -07:00
Ryan Dahl
8af0abde3f prepare for release - website under new user 2011-08-26 10:31:42 -07:00
Ryan Dahl
16b3f2c3ff Fix dns_uv.lookup order 2011-08-26 10:31:42 -07:00
Ben Noordhuis
5e765fe5e8 uv: upgrade to 835782a 2011-08-26 18:10:35 +02:00
koichik
43cdbec3be test: simple/test-tls-client-abort fails on SunOS
Fixes #1583.
2011-08-26 23:57:36 +09:00
Bert Belder
6ab4a4c05c Upgrade libuv to 39aac4a5 2011-08-26 02:39:54 +02:00
Ben Noordhuis
576b11662e uv: upgrade to 6490c6a 2011-08-26 00:23:17 +02:00
Peter Bright
64b41680fd Add headers to improve the IDE experience. 2011-08-24 19:12:39 -07:00
Ryan Dahl
90da5339c1 Upgrade libuv to 40efa9c 2011-08-24 17:43:33 -07:00
Ryan Dahl
48918f5503 Reapply Peter Bright's fixes for GYP on MSVS
Originally 71333b3f5b
2011-08-24 16:23:12 -07:00
Ryan Dahl
06f750c466 fix windows build 2011-08-24 16:20:14 -07:00
Ryan Dahl
f9dae9e8d6 Add dgram_legacy and dgram_uv to node.gyp 2011-08-24 15:55:57 -07:00
Ben Noordhuis
8f245486aa net: fix multicast on sunos
setsockopt(IP_MULTICAST_TTL|IP_MULTICAST_LOOP) takes an unsigned char as
its argument on sunos.

Partially fixes simple/test-dgram-multicast: test hangs after socket
close but it no longer throws EINVAL exceptions.
2011-08-24 22:46:55 +00:00
Ben Noordhuis
accc34c50f test: fix simple/test-eval
Test expects output of console.error(process.argv) to be spread out
over several lines but if /path/to/node is short, it stays on a single line.
2011-08-25 00:18:39 +02:00
Ryan Dahl
52a40e0fd5 Add process.features.debug; fixes simple/test-executable-path.js 2011-08-24 14:16:35 -07:00
Ryan Dahl
2876141c42 dns_uv: add localhost hack for windows 2011-08-24 13:43:05 -07:00
Ben Noordhuis
2513538109 test: add dgram tests to test-uv list 2011-08-24 22:27:25 +02:00
Ben Noordhuis
48f4b2be2b docs: remove unix dgram documentation 2011-08-24 22:27:25 +02:00
Ben Noordhuis
bba432f00e dgram: add socket.fd compatibility hack to dgram_uv.js 2011-08-24 22:27:25 +02:00
Ben Noordhuis
11e3cfce8b dgram: integrate libuv support for UDP over IPv6 2011-08-24 22:27:24 +02:00
Ben Noordhuis
cbd4033619 dgram: integrate libuv UDP support 2011-08-24 22:27:24 +02:00
Ben Noordhuis
9cb624986c tcp_wrap: update after libuv API change 2011-08-24 22:27:24 +02:00
Ben Noordhuis
2aefea5a2f stream_wrap: update after libuv API change 2011-08-24 22:27:24 +02:00
Ben Noordhuis
28998a8cfe uv: upgrade to 80e5491 2011-08-24 22:27:24 +02:00
Ben Noordhuis
7003d6eff5 Move ARRAY_SIZE macro to node.h 2011-08-24 22:27:24 +02:00
Mikeal Rogers
cdbecc48a1 docs: Improved http2 agent docs
Fixes #1517.
2011-08-25 00:55:51 +09:00
Igor Zinkovsky
19ff87a9db vcbuild.bat - for building from cmd-line using msbuild 2011-08-23 23:55:11 -07:00
Ryan Dahl
06428d853c tools/test.py to support marking files a libuv-broken
Use

  export NODE_USE_UV=1
  python tools/test.py --libuv simple pummel

To run the equivalent of "make test-uv".
2011-08-23 23:45:46 -07:00
Ryan Dahl
4e1d6fca8e Mark tests which are broken in libuv 2011-08-23 23:45:21 -07:00
Ryan Dahl
4fa13152af Support MSVS build directories in tools/test.py 2011-08-23 19:59:07 -07:00
Nathan Rajlich
8ec31a3362 Use Object.getPrototypeOf() on the object in the REPL tab-completion.
Some people use __proto__ to augment an Object's prototype after it's been created.
This patch helps make the "new" prototype properties visible if necessary.

This is also more consistent with the while logic below.
2011-08-23 15:35:36 -07:00
Ryan Dahl
b15ab5de51 Upgrade V8 to 3.5.7 2011-08-23 15:17:57 -07:00
Ryan Dahl
42529ddfb5 waf: Don't build out/Debug/node_g - just out/Debug/node
This is to match how GYP does it.
2011-08-23 15:13:09 -07:00
Ryan Dahl
ea156359e9 net_legacy: Fix throw typo
Thanks Tobi
2011-08-23 14:27:50 -07:00
Ryan Dahl
a7300c8297 WAF builds in out/ instead of build/ 2011-08-23 14:10:39 -07:00
Ryan Dahl
879eb16280 Have WAF variants match GYP configuration names 2011-08-23 14:10:35 -07:00
Ryan Dahl
85f7b78e9b gyp: Further fixes to target_defaults for mac 2011-08-23 13:19:17 -07:00
Evan Martin
8a29e5ea5b gyp: Don't pass C++ flags to C compiler, and don't pass -ansi in OpenSSL builds. 2011-08-23 13:19:17 -07:00
Evan Martin
a916d888f2 common.gypi: don't nest "target_defaults" within "target_defaults"
The "conditions" block is already within a "target_defaults", so its
children amend target default settings already.
2011-08-23 13:19:17 -07:00
koichik
485d5b5dff dns: Force the DNS module to invoke callbacks asynchronously.
Fixes #1164.
2011-08-24 03:01:41 +09:00
Ryan Dahl
e3413f08fd net_uv: throw when people construct net.Socket(fd)
Easier to catch compatibility errors.
2011-08-23 02:31:22 -07:00
Ryan Dahl
c4454d2efc net_uv: Don't error on ECONNRESET
Fixes #1571.
2011-08-22 19:11:38 -07:00
Ryan Dahl
80dd818290 Upgrade GYP to r1010 2011-08-22 17:09:57 -07:00
Ryan Dahl
c2ae39b8d6 gyp: -ldl on linux 2011-08-22 20:07:07 -04:00
Ryan Dahl
cf2e68d960 net_uv: handle read errors 2011-08-22 15:03:27 -07:00
Ryan Dahl
b8d40be611 Upgrade libuv to joyent/libuv@ce20791 2011-08-22 14:52:28 -07:00
Mikeal Rogers
103990b640 Fixes #1531 2011-08-22 14:31:25 -07:00
Maciej Małecki
94963ab39a Add failing test for https2 compatibility
Issue #1531
2011-08-22 14:30:58 -07:00
Ryan Dahl
2e5a8e071e Update license info for openssl 2011-08-22 11:36:38 -07:00
Peter Bright
0110c90382 Upgrade to 0.9.8r.
Build in Win32.
2011-08-22 11:30:47 -07:00
Ryan Dahl
e80cac6225 import openssl from chrome 2011-08-22 11:30:45 -07:00
koichik
1adfd48448 Doc improvements 2011-08-23 00:18:46 +09:00
Ryan Dahl
f5db3f1f85 Fix #1563. overflow in ChildProcess custom_fd. 2011-08-20 12:39:40 -07:00
Maciej Małecki
962a9e808c docs: process.memoryUsage returns memory usage measured in bytes 2011-08-20 00:59:31 +02:00
Ryan Dahl
05e6f318c6 Upgrade V8 to 3.5.6 2011-08-18 16:59:30 -07:00
Ben Noordhuis
63607a0304 bench: make number of response body chunks configurable in http_simple 2011-08-17 23:26:23 +02:00
Ben Noordhuis
8e8f36f958 Fix #1546 some more. Remove expensive debug call. 2011-08-17 22:53:42 +02:00
isaacs
711a356468 Close #1544 Document slashesDenoteHost flag in url.parse 2011-08-17 13:43:09 -07:00
Ryan Dahl
8320af7ef3 Merge remote branch 'origin/v0.4'
Conflicts:
	doc/api/tls.markdown
2011-08-17 13:25:44 -07:00
Ben Noordhuis
d72c6940f8 bench: make http_simple send chunked encoding if requested 2011-08-17 20:39:20 +02:00
koichik
4cf931db17 http: improve compatibility of legacy API
In http1, legacy http.Client shares one connection with multiple requests.
But in http2, it uses concurrent connections.
With --use-http1, test/simple/test-http-legacy.js passes.
However, it fails without --use-http1 (use http2).

This improves compatibility of legacy http.Client API between http1 and http2.

Fixes #1530.
2011-08-17 00:19:55 +09:00
koichik
8293bb8a32 test: refactored http test.
Many http tests had used legacy http.Client.
This refactored it to use modern API.

Fixes #1528.
2011-08-16 23:59:57 +09:00
Antranig Basman
c05936ca13 vm: fix incorrect dispatch of vm.runInContext for argument "filename"
Adds test case and documentation for vm.runInContext and vm.createContext.

Fixes #1140.
2011-08-16 14:50:04 +02:00
Ryan Dahl
72246d97a2 Complete GYP support for Python 2.5.2 2011-08-15 18:26:48 -07:00
Ryan Dahl
e57ed540e6 GYP Support python 2.5.2 2011-08-15 21:18:21 -04:00
Ryan Dahl
b433c42a56 gyp: Support Linux 2011-08-15 21:17:02 -04:00
Mikeal Rogers
584ae7b084 Remove http.cat. fixes #1447 2011-08-16 01:24:41 +02:00
Ryan Dahl
721f26520d Upgrade GYP to r999
To fix osx/make build http://codereview.chromium.org/7618052
2011-08-15 15:47:18 -07:00
Ryan Dahl
66f77963a3 Upgrade GYP to r995 2011-08-15 13:49:15 -07:00
Ryan Dahl
25a5e90289 Fix GYP build on OSX
Broken due to DOS line endings.

  ./configure-gyp
  make -f Makefile-gyp
2011-08-15 13:41:07 -07:00
Ben Noordhuis
5e37e10e41 module: fix pointer reference to out-of-scope variable
Reported by Tom Hughes.
2011-08-15 20:08:18 +02:00
Nathan Rajlich
54b409d650 util: isRegExp() should not call toString() on its argument
An overloaded toString() method may have side effects
so don't call it for a simple type check.
2011-08-15 17:22:48 +02:00
Mickaël Delahaye
e8d268fd5f Fix docs for fs.*chown
Fix bad parameters of fs.chown[Sync], fs.fchown[Sync] and
fs.lchown[Sync] in documentation.

Fixes #1533.
2011-08-15 22:45:41 +09:00
Bert Belder
9728723508 node_crypto: interface with libuv, not libev 2011-08-15 02:30:35 +02:00
koichik
4d186f270f Docs: Not memcpy, but memmove
Fixes #1520.
2011-08-14 23:10:36 +09:00
Peter Bright
16788f461a Rename gyp files to produce useful solution names.
Hoist common settings into common.gypi.

Restrict v8's common.gypi to v8 projects.

Ensure v8 doesn't use /MP in debug builds.

Add basic settings for other platforms.

Make uv import common.gypi properly.

Remove LTCG warning.
2011-08-13 19:57:42 -07:00
Thomas Shinnick
a5d90c435c path.js: correct three harmless .length typos
lib/path.js routines normalizeArray() and resolve() have for loops that
count down from end of an array.  The loop indexes are initialized using
"array.length" rather than "array.length-1".  The initial array element
accessed is always beyond the end of array and the value is 'undefined'.
Strangely, code exists that acts to ignore undefined values so that the
typos are unnoticeable.

Existing tests emit no errors either before or after changing to "length-1".
Tests _do_ start failing at "length-2". (Actually it is node that starts
to fail at "length-2" - that's a valid enough test...)
2011-08-14 04:10:42 +02:00
Ben Noordhuis
bfc2982f10 uv: upgrade to 5899192 2011-08-14 03:15:12 +02:00
Ben Noordhuis
eaac88163a module: fix pointer reference to out-of-scope variable
Reported by Tom Hughes.
2011-08-14 01:25:39 +02:00
Thomas Shinnick
59b815b097 test: add typed arrays to known globals list 2011-08-13 23:51:31 +02:00
Fedor Indutny
c0d8311f6b small NPN doc fix
Fixes #1522.
2011-08-14 02:51:35 +09:00
Artem Zaytsev
a38bda9fb2 platform: fix GetFreeMemory() on 64 bits freebsd
v_free_count is defined as u_int v_free_count (struct vmmeter sys/vmmeter.h:87)
but variable info defined as unsigned long, this cause error on 64-bits systems
because higher 32 bits remain uninitialized
2011-08-12 19:17:05 +02:00
Ben Noordhuis
97b0000c53 build: add src/v8_typed_array.cc to gyp sources list 2011-08-12 18:58:54 +02:00
Ben Noordhuis
cbea40eaf2 typed arrays: fix signed/unsigned compiler warnings 2011-08-12 18:52:06 +02:00
Ben Noordhuis
4726504663 typed arrays: preliminary benchmarks 2011-08-12 18:42:24 +02:00
Ben Noordhuis
efcbe3b21a typed arrays: add Float64Array 2011-08-12 18:42:24 +02:00
Ben Noordhuis
83b211ecb2 typed arrays: alias method subarray() to slice() 2011-08-12 18:42:24 +02:00
Ben Noordhuis
7cab4d6870 typed arrays: integrate plask's typed array implementation 2011-08-12 18:42:24 +02:00
Glen Low
04122ad2d3 crypto: PBKDF2 function from OpenSSL 2011-08-12 16:23:11 +02:00
Ben Noordhuis
01b64fc36b uv: upgrade to 7f82995 2011-08-12 16:14:58 +02:00
Brian White
b7c23ac3f5 Incorporate endianness into buffer.read* function names instead of passing in a boolean flag 2011-08-12 15:49:57 +02:00
Ben Noordhuis
a002f4f453 test: enable simple/test-http-dns-error for make test-uv 2011-08-12 15:46:44 +02:00
Ben Noordhuis
028b33b18a test: add test for #1202, uncatchable exception on bad host name 2011-08-12 15:46:18 +02:00
Ben Noordhuis
4e204f37fd net: defer DNS lookup error events to next tick
net.createConnection() creates a net.Socket object
and immediately calls net.Socket.connect() on it.

There are no event listeners registered yet so
defer the error event to the next tick.

Fixes #1202.
2011-08-12 15:42:45 +02:00
Ben Noordhuis
e00c2ec5e3 build: remove 1024 char read limit from cmake file 2011-08-12 15:32:43 +02:00
Ben Noordhuis
3cac57658f test: add test for #1202, uncatchable exception on bad host name 2011-08-12 15:23:29 +02:00
Ben Noordhuis
fa378ee4d8 net: defer DNS lookup error events to next tick
net.createConnection() creates a net.Socket object
and immediately calls net.Socket.connect() on it.

There are no event listeners registered yet so
defer the error event to the next tick.

Fixes #1202.
2011-08-12 15:22:56 +02:00
Arnout Kazemier
7ba30a4c2e Small changes for fs.watchFile. Fixed broken markdown. Changed variable f to a proper filename.
Fixes #1507.
2011-08-12 21:57:58 +09:00
Ryan Dahl
5b58473b40 Now working on v0.5.5 2011-08-12 02:15:19 -07:00
Ryan Dahl
cfba1f5922 Bump version to v0.5.4 2011-08-12 01:17:05 -07:00
Ryan Dahl
6c614fe585 Upgrade libuv to 65f71a2 2011-08-12 01:14:46 -07:00
Ryan Dahl
89bed19513 Upgrade V8 to v3.5.4 2011-08-11 23:59:21 -07:00
Ryan Dahl
fb7faefbf5 Upgrade libuv to d358738 2011-08-11 17:25:55 -07:00
Ryan Dahl
2c11718d79 Add some debug output to test-child-process-double-pipe 2011-08-11 17:25:55 -07:00
Ryan Dahl
3a219de586 net_uv: resume on closed net.Socket shouldn't crash 2011-08-11 17:25:54 -07:00
Ben Noordhuis
3cd694c9f3 build: .gitignore build/ directory 2011-08-12 01:10:41 +02:00
isaacs
ac4791393e Fix #1497 querystring: Replace 'in' test with 'hasOwnProperty' 2011-08-11 15:36:02 -07:00
isaacs
3210809d0a Fix #1497 querystring: Replace 'in' test with 'hasOwnProperty' 2011-08-11 15:31:29 -07:00
Ben Noordhuis
eb09b0644b http: destroy socket on error
Needs further investigation, the test passed without `--use-uv`.

Fixes failing test:
  test/simple/test-http-dns-fail.js
2011-08-11 23:39:38 +02:00
Ryan Dahl
3d4ae3ab4d net_uv: pipes don't have getsockname 2011-08-11 10:44:20 -07:00
koichik
d1a2628499 Doc improvements
related to #1472.
2011-08-12 02:00:42 +09:00
Ben Noordhuis
79f064f565 net: properly export remoteAddress to user land
Fixes failing test:
  test/simple/test-net-remote-address-port.js
2011-08-11 17:51:03 +02:00
Ben Noordhuis
f52a8db280 test: fix logic error in test-net-remote-address-port.js
The test intended to register an 'at exit' listener
but called `process.exit()` instead.
2011-08-11 16:26:01 +02:00
Christopher Wright
0d8d04e585 Correct code span
Fixes #1489.
2011-08-11 16:29:37 +09:00
Peter Bright
b9d777734d Fix MSVS building. 2011-08-11 04:52:33 +02:00
Bert Belder
74e8fa2e57 Upgrade libuv to ca633920f564167158d0bb82989d842a47c27d56 2011-08-11 04:38:41 +02:00
Ben Noordhuis
fcf9cfa137 node: propagate --use-uv to child processes 2011-08-11 02:47:43 +02:00
Ben Noordhuis
ef496dc39d uv: upgrade to e8497ae 2011-08-11 02:46:02 +02:00
Ryan Dahl
e6b06bc6c5 win: fix test-process-env
Remove support for setting process.env.TZ as it doesn't seem we can do it
x-platform without fixing V8.
2011-08-10 17:15:13 -07:00
Ben Noordhuis
e62cdd0488 uv: upgrade to b328e4c 2011-08-11 01:40:16 +02:00
Ben Noordhuis
c4549b8573 uv: upgrade to b6b97f3 2011-08-11 00:37:45 +02:00
Ben Noordhuis
460614125b tcp: propagate libuv tcp accept() errors to net_uv.js 2011-08-11 00:36:58 +02:00
Ryan Dahl
46b0654347 Upgrade libuv to db190c7 2011-08-10 14:23:26 -07:00
Ryan Dahl
72c412767d net_uv: Handle failed shutdown req 2011-08-10 14:09:39 -07:00
Ryan Dahl
c171a0851a Add test-pipe-file-to-http to test-uv 2011-08-10 13:33:22 -07:00
Ryan Dahl
4f03f1bead net_uv: fix test/simple/test-pipe-file-to-http.js 2011-08-10 13:27:11 -07:00
Ryan Dahl
35d0df919a test: Allow common.ddCommand to be run in presence of existing file 2011-08-10 11:32:37 -07:00
Ryan Dahl
4983bd348d x-platform func for spawning pwd in tests
Fixes test-child-process-buffering
2011-08-10 11:23:55 -07:00
Bert Belder
43da0e6fe4 Explicitly disable cr/lf conversion for test fixtures
Otherwise git's autocrlf feature makes test fail on windows.
2011-08-10 19:59:37 +02:00
Bert Belder
c96ef84427 Revert "Make test-sync-fileread pass even when git cr/lf conversion is enabled"
We'll solve this problem with a .gitattributes file.
This reverts commit 27ef0b0903.
2011-08-10 19:59:36 +02:00
Fedor Indutny
942f8b5afb Add NPN and SNI documentation.
Fixes #1420.
Fixes #1426.
2011-08-10 09:44:35 -07:00
Bert Belder
27ef0b0903 Make test-sync-fileread pass even when git cr/lf conversion is enabled 2011-08-10 04:30:31 +02:00
Bert Belder
764dfbb1bf Open files in binary mode, on msvc too 2011-08-10 04:23:44 +02:00
Ryan Dahl
3ce4adf3c6 Remove unnecessary line 2011-08-09 18:05:57 -07:00
Ryan Dahl
b3bc009a89 Fix test-net-server-on-fd-0 for windows by removing assert
Rename to regression test for GH-746 as the fd 0 behavior was not what the
bug report was about.
2011-08-09 18:01:54 -07:00
Ryan Dahl
501b0b91be Add fixed tests to test-uv 2011-08-09 17:46:29 -07:00
Ryan Dahl
3b0f2cecff Fix dd command tests for Windows 2011-08-09 17:43:57 -07:00
Ryan Dahl
665a4e4a1d Fix test/simple/test-repl 2011-08-09 16:38:48 -07:00
Ryan Dahl
03a119eb70 Improve win compat of test-repl 2011-08-09 16:07:16 -07:00
Tom Hughes
421b6e89aa crypto: fix incorrect ssl shutdown check 2011-08-09 23:56:00 +02:00
Tom Hughes
25118b0a26 net: fix incorrect sizeof() 2011-08-09 23:56:00 +02:00
Tom Hughes
94db871ecf crypto: fix incorrect ssl shutdown check 2011-08-09 23:54:49 +02:00
Tom Hughes
a8692a0154 net: fix incorrect sizeof() 2011-08-09 23:54:31 +02:00
Ryan Dahl
0696e78d64 Improve assert error messages
1. actual and expected should be displayed in the same order they were given

2. long values should be truncated.
2011-08-09 14:20:06 -07:00
Ben Noordhuis
fd1fc5080f eio: define HAVE_UTIMES 1 on cygwin, fixes build
Fixes #1483.
2011-08-09 22:57:09 +02:00
Ryan Dahl
acc120a37b windows: fix test-umask 2011-08-09 13:55:04 -07:00
Ryan Dahl
bf6b5299b4 Upgrade libuv to e5f513c 2011-08-09 12:26:54 -07:00
Ryan Dahl
cbecd88199 Readd the static libpthread-win32 libraries 2011-08-09 12:25:26 -07:00
Ryan Dahl
9e5cd012e2 Revert "Unify configure scripts"
This reverts commit 71435ede81.
2011-08-09 10:19:48 -07:00
Ryan Dahl
2689d262ec Make buffer.INSPECT_MAX_BYTES public for mscdex 2011-08-08 19:04:34 -07:00
Ryan Dahl
7332c4022f Truncate Buffer.inspect at 50 bytes 2011-08-08 17:50:43 -07:00
Ryan Dahl
ab0b1f9f13 Fix test-executable-path 2011-08-08 17:35:26 -07:00
Ryan Dahl
2126989a32 Fix test-http-upgrade-server and test-http-parser
Problem was introduced in last http-parser upgrade which fixed a long
standing bug with the upgrade event and removed several callbacks.
2011-08-08 17:12:26 -07:00
Robert Mustacchi
0df08c6a0c Endian argument should be a boolean. Signed integers shouldn't run through checks for unsigned integers. Clean up jslint. Provide unchecked uint entry points. 2011-08-08 17:01:57 -07:00
Ryan Dahl
f145e35a93 Tests should point at the build directory until GYP is default 2011-08-08 17:01:44 -07:00
Ryan Dahl
df22ccb0de Merge branch 'gyp' 2011-08-08 16:22:41 -07:00
Ryan Dahl
587f6c3117 Fix test-child-process-exec-cwd. 2011-08-08 16:17:18 -07:00
Ryan Dahl
71435ede81 Unify configure scripts 2011-08-08 15:09:42 -07:00
Ryan Dahl
c110fbcc99 Revert "Remove scons"
This reverts commit bd270b48a7.
2011-08-08 14:15:51 -07:00
Ryan Dahl
09f2d386df Upgrade libuv to 75c10905 2011-08-08 14:14:47 -07:00
Ryan Dahl
03b5831f90 Bring back old Makefile and configure script
GYP and WAF need to live in parallel for some time.
2011-08-08 14:12:44 -07:00
Ryan Dahl
d53fccbce5 Fix MSVS build 2011-08-08 12:32:34 -07:00
Ryan Dahl
db1bf679d8 Move GYP file to the project root 2011-08-08 12:11:48 -07:00
Ryan Dahl
f03ea7045c generate-project.bat: Point at the right path 2011-08-08 10:25:55 -07:00
Ryan Dahl
f57d70d3c9 sketch out configure support 2011-08-08 08:55:39 -07:00
Ben Noordhuis
f69822c70e http2: reword confusing comment 2011-08-08 17:38:50 +02:00
koichik
d439c092c2 Improve util.format() compatibility with browser.
Fixes #1434.
2011-08-08 23:24:05 +09:00
Mikeal Rogers
24a1f6ecc5 Fixes https host header default port handling. 2011-08-07 17:37:56 -07:00
isaacs
ef35f4d6c1 Test for default host headers on default ports in https and http 2011-08-07 17:37:56 -07:00
Ben Noordhuis
fc57df283c docs: rename readline.md to readline.markdown 2011-08-08 00:59:14 +02:00
Tom Hughes
b267dc458d cmake: Various fixes.
* Allow overriding install path with CMAKE_INSTALL_PREFIX.
* make sure js2min.py can be found when building out of source.
* Replace empty macros with void(0).
  Expressions like "debug(x) && foo()" fail if debug(x) is an empty macro.
* Make sure node-natives.h creation is deterministic.
* Fix version string.
  The copyright header made the node_version.h file larger
  than the previously set file read limit.
2011-08-08 00:57:30 +02:00
Ben Noordhuis
d5c95f02af docs: rename readline.md to readline.markdown 2011-08-08 00:56:04 +02:00
Ryan Dahl
13d685bdab symlink in ./node and ./node_g for make users 2011-08-07 14:54:37 -07:00
Ryan Dahl
b031429dc3 Add generate-projects.bat 2011-08-07 14:54:14 -07:00
Ben Noordhuis
54bb53bf32 docs: fix typo in tls API docs 2011-08-07 23:30:03 +02:00
Peter Bright
e38fc6cc84 Disable optimization in debug builds.
Enable full optimization in release builds.
2011-08-07 14:22:59 -07:00
Peter Bright
588ef72ce0 Silence VC++ warnings about use of badly-designed parts of the C library. 2011-08-07 14:22:45 -07:00
Peter Bright
bcff53dfb5 Fix missing prototype warnings. 2011-08-07 14:22:34 -07:00
Peter Bright
79d9f62946 Fix bad platform name. 2011-08-07 14:22:17 -07:00
Ryan Dahl
cafe446f42 Add 'make test' and friends 2011-08-07 01:24:00 -07:00
Peter Bright
6ac8c55989 Make MSVS build.
MSVS settings don't actually need to be guarded by conditions. gyp will do
the right thing.
2011-08-06 22:39:28 -07:00
Peter Bright
b88c48177a V8 GYP should attempt to not use cygwin. 2011-08-06 20:13:50 -07:00
Peter Bright
71333b3f5b Modify GYP scripts for VC build 2011-08-06 19:53:11 -07:00
Ryan Dahl
5aa75ebe71 Upgrade libuv - it now depends on pthreads 2011-08-06 19:11:55 -07:00
Ben Noordhuis
ad31e5af56 build: don't try to ls -lh executables that don't exist
Avoids `ls: cannot access build/debug/node_g: No such file or directory`.
Not an actual error but it confuses people.
2011-08-07 00:09:08 +02:00
Logan Smyth
3056c2ca76 Add documentation for SecurePair and its 'secure' event.
Fixes #1443.
2011-08-06 23:31:17 +09:00
Ryan Dahl
3ebbf6ebf7 Complete eio upgrade 2011-08-06 03:47:09 -07:00
Ryan Dahl
610436f242 clean merge scabs 2011-08-06 03:46:41 -07:00
Ryan Dahl
88afc406ca Upgrade libuv to 48877ed 2011-08-06 03:38:11 -07:00
Peter Bright
13d6a1f67f Basic VC++ compatibility work. 2011-08-06 03:31:29 -07:00
Ryan Dahl
bd270b48a7 Remove scons 2011-08-06 03:12:09 -07:00
Ryan Dahl
bef9f56cac Bring gyp into the tools directory; handwritten makefile 2011-08-06 03:12:08 -07:00
Ryan Dahl
466cbfef1b gyp: fix makefile build 2011-08-06 03:12:08 -07:00
Ryan Dahl
7a38b63358 gyp fix build again 2011-08-06 03:12:08 -07:00
Ryan Dahl
4eeeb756bc gyp: Fix build 2011-08-06 03:12:07 -07:00
Ryan Dahl
f038252ba5 add build/gyp_node build script 2011-08-06 03:12:07 -07:00
Ryan Dahl
51ffed1cd0 Upgrade libuv for gyp reasons 2011-08-06 03:12:07 -07:00
Ryan Dahl
43d7cfca18 gyp: fix test runner 2011-08-06 03:12:06 -07:00
Ryan Dahl
a979ab9d99 Improve gyp build - now works kind of 2011-08-06 03:12:06 -07:00
Ryan Dahl
f55f478523 add deps/v8/build ??? 2011-08-06 03:12:06 -07:00
Ryan Dahl
bea4827de0 More progress with gyp 2011-08-06 03:12:05 -07:00
Ryan Dahl
518430db3a WIP 2011-08-06 03:12:05 -07:00
Ryan Dahl
81a999c954 Upgrade libuv for gyp support 2011-08-06 03:11:33 -07:00
Ryan Dahl
4f3c8b3972 WIP 2011-08-06 03:11:33 -07:00
Ryan Dahl
c3ccbea5cd Upgrade http_parser to 965f91bc76b2d1601e23 2011-08-06 03:04:42 -07:00
koichik
bbb38b8918 [doc] add link to npm search in Readme.md
Fixes #1459.
2011-08-06 15:25:40 +09:00
Tony Huang
891a6f24a0 add the document of the new api routine: path.relative 2011-08-06 15:02:25 +09:00
Bert Belder
9e8d812ce9 Make test-child-process-exec-env work on windows 2011-08-05 22:57:45 +02:00
Bert Belder
567470b136 Child processes: support windowsVerbatimArguments option 2011-08-05 22:57:45 +02:00
Ben Noordhuis
69ce415d38 uv: fix build on systems that don't have pipe2()
This is libuv commit 2fbcbe9, cherry-picked for node.
2011-08-05 17:16:47 +02:00
koichik
ae77b4d553 Doc improvements
Documents util.format().
Thanks @bnoordhuis and @shigeki.
Fixes #1424.
2011-08-05 23:42:24 +09:00
Bert Belder
0878293120 Upgrade libuv to c834d5de9e4747e5138bed9140320b44622ab6de 2011-08-05 09:15:04 +02:00
Ben Noordhuis
30d20cf405 Revert commits 12c8b27 and 88f416a, fixed properly in 2fe4558. 2011-08-05 04:29:16 +02:00
Ben Noordhuis
2fe4558c10 uv: cherry-pick libuv commit 041d60e into node
Fixes execve-after-fork race in uv_spawn().
2011-08-05 04:27:18 +02:00
Ben Noordhuis
5a49522ba7 child process: don't send signal if process is already terminated
Fixes failing test test/simple/test-exec-max-buffer.js
2011-08-04 21:28:49 +02:00
Ryan Dahl
eeece4f5ea Upgrade V8 to 3.5.3 2011-08-04 12:18:09 -07:00
Ben Noordhuis
b8c8e9c113 net_uv: add listenFD shim that throws when called 2011-08-04 21:05:42 +02:00
Ben Noordhuis
2bbb468428 child process: bind to libuv's kill process API
Fixes failing test test/simple/test-child-process-kill.js
2011-08-04 18:40:41 +02:00
Ben Noordhuis
ac722bbed6 module: strip byte order marker when loading *.js and *.json files
BOMs make V8 raise a 'SyntaxError: Unexpected token ILLEGAL' exception.

Fixes #1440.
2011-08-04 16:52:55 +02:00
Ben Noordhuis
f9cfd70946 test: fix bad test in test-cli-eval.js
The test checked that stdout was empty. Forgetting to escape brackets
in the argument to --eval made that true on UNIX systems: the error
was written to stderr.

Props to Peter Bright for reporting the issue.
2011-08-04 16:43:11 +02:00
Ben Noordhuis
0c4e735401 ev: fix infinite loop in ev_walk() 2011-08-04 01:38:53 +02:00
Ben Noordhuis
88f416a5ed docs: add race warning to child_process.kill() 2011-08-03 16:50:47 +02:00
Ben Noordhuis
12c8b27e24 test: fix exec-after-fork race in test/simple/test-child-process-kill.js 2011-08-03 16:05:49 +02:00
Bert Belder
09bb1d64dc Upgrade libuv to ec143961d135adb3f49f5a2322774ef43e2520b9 2011-08-03 01:45:03 +02:00
Bert Belder
6efc86df6a Upgrade libuv to dbaddc4423d61fa16cca299650f8378cffba9cce 2011-08-03 00:27:16 +02:00
Ben Noordhuis
38f948a373 http: make http2 the default, legacy backend is available with --use-http1
Fixes #1441.
2011-08-02 23:40:56 +02:00
Mikeal Rogers
48dcb905f6 Update tests for http2. 2011-08-02 12:12:14 -07:00
Bert Belder
a962cca390 V8: Don't use mprotect on Cygwin as virtual memory is managed directly via WinAPI calls.
Upstream fix: http://codereview.chromium.org/7549009
2011-08-02 18:38:35 +02:00
Bert Belder
91ecfbcae8 Remove platform_win32_winsock 2011-08-02 18:38:34 +02:00
Ryan Dahl
158bfab922 Now working on v0.5.4 2011-08-02 01:08:01 -07:00
Ryan Dahl
4585330afe Bump version to v0.5.3 2011-08-02 00:17:41 -07:00
Ryan Dahl
21964fa779 Upgrade libuv to b2ed24d 2011-08-02 00:16:15 -07:00
Ryan Dahl
8ace421bfd Complete removal of node_child_process_win32.cc 2011-08-01 22:51:14 -07:00
Ryan Dahl
3ce671284b Remove node_child_process_win32.cc 2011-08-01 22:34:16 -07:00
Ryan Dahl
6d5218bc7d Merge branch 'v0.4'
Conflicts:
	doc/api/crypto.markdown
	doc/api/modules.markdown
	src/platform_win32.cc
2011-08-01 21:52:03 -07:00
Igor Zinkovsky
a6e0a91a70 windows: remove dependency on rpcrt4 and ole32 2011-08-01 20:44:27 -07:00
Ryan Dahl
89b14fc0ff Upgrade libuv to 2e9a743 2011-08-01 20:26:26 -07:00
Igor Zinkovsky
1c09cc1550 windows: set stdio streams to binary mode 2011-08-01 18:30:13 -07:00
Bert Belder
70bf121f21 Partial fix for test-child-process.cwd on windows 2011-08-02 03:27:19 +02:00
Ryan Dahl
2908f323e1 win: fix test-child-process-exec-cwd 2011-08-01 17:40:57 -07:00
Ryan Dahl
a44748b3d7 win2k3: fix test-child-process-env 2011-08-01 17:18:01 -07:00
Ryan Dahl
bceab40b02 Upgrade libuv to c35548a 2011-08-01 17:06:03 -07:00
Ben Noordhuis
e1bb241b51 test: add targets test-http2 and test-all-http2
Passes `--use-http2` to node. Fixes #1430.
2011-08-02 01:52:24 +02:00
Ben Noordhuis
e0d7c2cfa3 Upgrade libuv to 404d697 2011-08-02 01:16:58 +02:00
Ryan Dahl
99c15e5661 child_process_uv: don't attempt to pass test-child-process-deprecated-api 2011-08-01 16:05:57 -07:00
Ryan Dahl
ced0b14185 Add test-tls-securepair-server to test-uv 2011-08-01 16:02:23 -07:00
Ryan Dahl
e3ac47771c child_process_uv: fix test-child-process-stdin and -ipc 2011-08-01 15:40:44 -07:00
Tom Hughes
707b1dee84 cmake: Update for libuv. 2011-08-01 15:14:14 -07:00
Ryan Dahl
76fd364dfe Upgrade libuv to 5af7423f 2011-08-01 14:49:58 -07:00
Igor Zinkovsky
925b467a4e fix test-child-process-env on windows 2011-08-01 14:49:10 -07:00
Ryan Dahl
1710bea355 Add a few more asserts to test/simple/test-child-process-stdin.js 2011-08-01 14:48:45 -07:00
Ben Noordhuis
7c07e75db9 Upgrade libuv to b700896 2011-08-01 22:26:28 +02:00
Ryan Dahl
c48b2a98d8 windows: Fix test-module-load-list 2011-08-01 12:09:05 -07:00
Ryan Dahl
9166f85285 Remove debug code 2011-08-01 10:28:32 -07:00
Ryan Dahl
b30ad11b59 child_process_uv: Handle spawn errors 2011-08-01 10:22:24 -07:00
Ben Noordhuis
8da4831ed0 Upgrade libuv to 023f99a 2011-08-01 18:16:27 +02:00
Ryan Dahl
f0f941a59e link to rpcrt4 and ole32 on win32 2011-07-31 18:19:37 -07:00
Ryan Dahl
baa6a925c2 Upgrade libuv to e9bee51 2011-07-31 18:13:05 -07:00
Ryan Dahl
624dd38d89 child_process_uv: fix test/simple/test-child-process-env 2011-07-31 17:51:43 -07:00
Ryan Dahl
ef767a152b child_process_uv: fix simple/test-child-process-cwd 2011-07-31 16:50:53 -07:00
Ryan Dahl
19a62589b2 child_process_uv: add exec, fix simple/test-child-process-exec-cwd 2011-07-31 16:24:29 -07:00
Ryan Dahl
4ac633bf21 Forgot to add child_process_uv.js 2011-07-31 16:00:47 -07:00
Ryan Dahl
7772f21b60 initial pass at lib/child_process_uv.js 2011-07-31 15:58:10 -07:00
koichik
d3d8f1b972 Add %% escape to util.format()
Fixes #1273.
2011-07-30 23:56:17 +09:00
Paul Querna
5501a5a641 Add stdlib include for free(), fixing build on linux after f01b241 2011-07-29 18:28:12 -07:00
Ryan Dahl
f01b241057 add wrapper for uv_spawn
process.binding('process_wrap')
2011-07-29 18:03:44 -07:00
Ben Noordhuis
874260b40f util: add sprintf-like format() function
Fixes #1407.
2011-07-30 02:11:31 +02:00
Fedor Indutny
9010f5fbab Add support for TLS SNI
Fixes #1411
2011-07-29 16:57:28 -07:00
Ryan Dahl
9dd979228d Upgrade libuv to 7108ca88 2011-07-29 15:43:56 -07:00
Robert Mustacchi
de0b8d601c jslint cleanup: path.js, readline.js, repl.js, tls.js, tty_win32.js, url.js 2011-07-29 11:58:02 -07:00
isaacs
703a1ffe52 Revert "AMD compatibility for node"
This reverts commit 9967c369c9.

Conflicts:

	test/simple/test-module-loading.js
2011-07-29 11:56:38 -07:00
koichik
c72223e2a9 Doc improvements
related to #1391, #1415.
2011-07-30 03:18:33 +09:00
koichik
bffb758243 Fix http.ClientRequest crashes if end() was called twice
Fixes #1417.
Fixes #1223.
2011-07-30 00:47:54 +09:00
koichik
62aaf56d1b Fix http.ClientRequest crashes if end() was called twice
Fixes #1417.
Fixes #1223.
2011-07-30 00:47:17 +09:00
koichik
8b3ba47f88 Fix http.ClientRequest crashes if end() was called twice
Fixes #1417.
Fixes #1223.
2011-07-30 00:07:37 +09:00
Fedor Indutny
759fb36df3 crypto: dispose persistent properties on class destruction 2011-07-28 15:16:04 +02:00
Ryan Dahl
799c7bdcb6 Fix test-module-load-list for use-uv 2011-07-27 20:03:02 -07:00
Ryan Dahl
8527f00c3c Lazy load a few modules 2011-07-27 19:54:31 -07:00
Ryan Dahl
ea9ee1fb7e Add process.moduleLoadList for better startup transparency 2011-07-27 19:30:32 -07:00
Ryan Dahl
bca6e35b2b Don't always enable debug on startup
Improves startup time. Problem introduced in
4ab5476e89
2011-07-27 17:33:06 -07:00
Ryan Dahl
497fe79f97 Speed up startup time
Reverts 2a05fe784d.
2011-07-27 16:36:05 -07:00
Ryan Dahl
1ca5b6cd05 Remove pkg-conf file 2011-07-27 16:21:54 -07:00
Tom Hughes
eab8bebced Fix memleak in libeio. 2011-07-27 23:24:55 +02:00
Ben Noordhuis
8430148ccb uv: upgrade to fc7bc2b 2011-07-27 20:10:11 +02:00
Aku Kotkavuo
562bef5ff3 Add missing parentheses in buffer docs.
Fixes #1405.
2011-07-27 23:12:17 +09:00
Ben Noordhuis
83b82f900f wrap: upgrade pipe_wrap and tcp_wrap to new libuv API 2011-07-27 04:13:49 +02:00
Igor Zinkovsky
187fe27a6e stdio binding + javascript to enable process.stdin.listen() 2011-07-27 03:59:33 +02:00
Ben Noordhuis
de261713bf uv: upgrade to a1adfe3 2011-07-27 03:54:00 +02:00
SAWADA Tadashi
d3a84bea7b Fix crypto encryption/decryption with Base64.
Fixes #738.
Fixes #1205.
2011-07-27 00:19:02 +02:00
Ben Noordhuis
2d65f3c59a Include "platform.h", not <platform.h> - conflicts with system headers
Fixes #1003.
2011-07-26 22:09:03 +02:00
Ben Noordhuis
a7bdaabf60 Include "platform.h", not <platform.h> - conflicts with system headers
Fixes #1003.
2011-07-26 22:05:08 +02:00
Felix Geisendörfer
1b3ebc32d7 Fix test-net-stream.js
I broke this in 09ee293.
2011-07-26 17:31:08 +02:00
Ben Noordhuis
0082ef271e http: add --use-http2 switch 2011-07-26 17:00:53 +02:00
Ben Noordhuis
2ed23314c3 http: make http and http2 co-exist
http2 is currently disabled pending addition of a --use-http2 switch
2011-07-26 17:00:53 +02:00
Mikeal Rogers
915fa1e44f doc: http2 documentation 2011-07-26 17:00:53 +02:00
Mikeal Rogers
2b929c7f19 http: http2 implementation 2011-07-26 16:59:52 +02:00
Felix Geisendörfer
09ee29318f Emit 'close' after all connections have closed
Fixes #1383
2011-07-26 11:07:17 +02:00
Ben Noordhuis
df3a8fcb62 cli: don't print result of --eval
Fixes #572.
2011-07-25 23:59:10 +02:00
koichik
d32971a8cb Doc improvements and change argument name.
Fixes #1318.
2011-07-25 23:57:25 +09:00
Ben Noordhuis
deb100fb17 eio: remove trailing comma from enumerations
Fixes compile-time error in strict mode. Fixes #567.
2011-07-25 15:37:21 +02:00
Alexander Uvarov
216829e752 Docs for Socket::bytesRead, Socket::bytesWritten 2011-07-25 13:29:03 +02:00
Alexander Uvarov
14b75a126f Add Socket::bytesRead, Socket::bytesWritten 2011-07-25 13:28:38 +02:00
isaacs
c050d0fa19 Finish removing require.paths
Fix require() completion bug in repl, and correct man output
2011-07-24 18:04:45 -07:00
isaacs
bf0802402d Note that require.paths is gone in 0.5
Rather than say it "may disappear", let's just be clear that it *has*
disappeared, and exactly how long it'll be supported for.
2011-07-24 17:18:33 -07:00
Stefan Bühler
db993956d6 Fix crypto hmac to accept binary keys + add test cases from rfc 2202 and 4231
Fixes #324.
Fixes #1027.

Instead of converting buffers to strings and back again to char array
directly use the buffer data in hmac_init (same as in hmac_update).
2011-07-24 19:48:18 +09:00
Ben Noordhuis
aa0308d618 process: add process.features, remove process.useUV
Partially fixes #1385.
2011-07-23 23:16:48 +02:00
koichik
50e147bd03 Add an optional length argument to Buffer.write()
Fixes #243.
Fixes #1361.
2011-07-24 02:01:02 +09:00
Daniel Pihlström
fa829b0fd3 convert nonbuffer data to string in fs.writeFile/Sync
Fixes #657.
2011-07-23 23:56:08 +09:00
Jeroen Janssen
2fe780b36c build: add wscript detection for node_version 2011-07-23 16:23:01 +02:00
SAWADA Tadashi
e357acc55b Fix crypto encryption/decryption with Base64.
Fixes #738.
Fixes #1205.
2011-07-23 21:56:41 +09:00
Vicente Jimenez Aguilar
b8e9bf0993 Typos in ChangeLog file.
Fixes #968.
2011-07-23 21:16:45 +09:00
koichik
3eb246485a Doc improvements 2011-07-23 14:29:13 +09:00
Bert Belder
7a6a77e07c Windows/cygwin: no more GetConsoleTitleW errors on XP 2011-07-22 21:06:51 +02:00
Ryan Dahl
82905fa3aa Now working on v0.5.3 2011-07-22 11:51:43 -07:00
Bert Belder
78487b6256 Windows/cygwin: no more GetConsoleTitleW errors on XP 2011-07-22 16:33:55 +02:00
Ryan Dahl
08ffce1a00 Bump version to v0.5.2 2011-07-22 03:55:26 -07:00
Bert Belder
9e77b1a82e Upgrade libuv to 2806b0386b266ee7377459b49156a60a15b1dfea 2011-07-22 12:23:56 +02:00
Ryan Dahl
0ed1354119 Merge branch 'v0.4'
Conflicts:
	ChangeLog
	deps/v8/src/version.cc
	doc/index.html
	src/node_version.h
	test/simple/test-url.js
	wscript
2011-07-22 03:10:38 -07:00
Ryan Dahl
daead5f5bb win: fix simple/test-tls-client-abort.js 2011-07-22 02:11:02 -07:00
Ryan Dahl
8eb1edc8ea net_uv: Fix test-net-server-bind 2011-07-22 01:20:27 -07:00
Ryan Dahl
fea524e145 Merge branch 'V8-3.4' 2011-07-21 22:20:54 -07:00
Ryan Dahl
f319e12621 Upgrade V8 to 3.4.14 2011-07-21 22:20:37 -07:00
Ben Noordhuis
984dc057e3 net_uv: throw if Server.prototype.close() is called twice
Follows net_legacy behaviour.
2011-07-22 01:23:50 +02:00
Ben Noordhuis
345df289eb test: test pipe API with raw net.Stream() object
Test case for #1379.
2011-07-22 00:54:50 +02:00
Ben Noordhuis
8ddb334c2a net_uv: emit 'close' event in Server.prototype.close() 2011-07-22 00:54:50 +02:00
Ben Noordhuis
07bcdc2f51 net_uv: release uv handle in Socket.prototype.destroy() 2011-07-22 00:54:50 +02:00
Ben Noordhuis
59b04427d3 net_uv: defer handle creation to connect() or bind() time
Fixes #1379.
2011-07-22 00:54:50 +02:00
Ryan Dahl
20ced0ea1e Add tls tests to test-uv 2011-07-21 15:42:08 -07:00
Ryan Dahl
a6a3bf6d47 escape backslashes for windows pipe name 2011-07-21 14:19:24 -07:00
Ryan Dahl
a0198d065d Remove logos from package 2011-07-21 13:39:53 -07:00
Ben Noordhuis
4b77626add test: make test-http-unix-socket use common.PIPE
Don't unlink the socket, that's the responsibility of libuv and/or node.
2011-07-21 21:27:01 +02:00
Ben Noordhuis
725fcf5587 test: add test-net-pingpong to make test-uv list 2011-07-21 21:27:01 +02:00
Ben Noordhuis
bff9602966 test: add common.PIPE, pipe name for tests 2011-07-21 21:26:57 +02:00
koichik
691497babe Doc improvements
corresponds to #1374 and #1334.
2011-07-22 00:20:47 +09:00
Bert Belder
4d3a907f73 Upgrade libuv to 1028a9c6a75fde47b848c09c450fc066249fac1b 2011-07-21 15:41:28 +02:00
Bert Belder
3de406cc58 Add tests for process.nextTick bugs on windows
These are supposed to pass w/ libuv, so add them to the test-uv tests.
2011-07-21 15:26:10 +02:00
Trent Mick
bbf7e8ed5e http: fix setting ServerResponse.statusCode in writeHead
Fixes #1374.
2011-07-21 14:20:40 +02:00
Trent Mick
a8f96d3314 http: fix setting ServerResponse.statusCode in writeHead
Fixes #1374.
2011-07-21 14:15:33 +02:00
Yoshihiro Kikuchi
d3d776f978 test: added test/simple/test-fs-watch-file.js 2011-07-21 13:36:11 +02:00
Yoshihiro Kikuchi
3c4c36068e fs: added an argument check in fs.watchFile
Fixes #1324.
2011-07-21 13:35:47 +02:00
Ryan Dahl
133036fdad upgrade libuv to 6e50576 2011-07-20 19:57:03 -07:00
Ben Noordhuis
1b89323e92 uv: back-port c4611a4 from libuv 2011-07-21 03:51:23 +02:00
Ben Noordhuis
53aac9dde6 uv: upgrade to afc9987 2011-07-21 03:51:23 +02:00
Ben Noordhuis
0c396c05fd test: beef up checks in test-http-unix-socket.js, add to make test-uv 2011-07-21 03:51:23 +02:00
Ben Noordhuis
37cbc355d5 net: add bindings to libuv pipe API 2011-07-21 03:51:23 +02:00
isaacs
588d885e81 Close #1357 Load json files with require()
Signed off by everybody.
2011-07-20 17:39:23 -07:00
Ben Noordhuis
1b0e054737 url: throw descriptive error if url argument to parse() is not a string
Fixes #568.
2011-07-21 00:51:48 +02:00
Ben Noordhuis
6f0740e67b crypto: check for SSL_COMP_get_compression_methods()
Function was named SSL_COMP_get_compression_method() (singular)
in OpenSSL 0.9.7 and older.

Fixes #1242.
2011-07-20 22:24:11 +02:00
Ryan Dahl
0599cb7afa process.stdout/process.stderr should use net_legacy for now 2011-07-20 11:08:43 -07:00
Ben Noordhuis
9cc2bd11d3 Upgrade libuv to ce5eb6d 2011-07-20 18:06:16 +02:00
Ryan Dahl
effc4469d0 Now working on v0.4.11 2011-07-20 00:37:26 -07:00
Ryan Dahl
1b8dd65d6e Bump version to v0.4.10 2011-07-19 23:51:42 -07:00
Ryan Dahl
58655da3aa Use ms instead of sec for gc idle times
We were calling V8::IdleNotification too often.
2011-07-19 16:18:13 -07:00
Ryan Dahl
e3c1cf3b5b Remove toc on logo page 2011-07-19 15:01:05 -07:00
isaacs
ddfc6b78cc Close #1360 url: Allow _ in hostnames. 2011-07-19 11:56:44 -07:00
isaacs
dcecfc5f1b Close #1360 url: Allow _ in hostnames. 2011-07-19 09:55:01 -07:00
Reid Burke
973153d1cc Properly respond to HEAD during end(body) hot path
During write(), _hasBody is checked to make sure a body
is allowed -- this is now also checked during end(body)
when write() isn't used.

Concise final chunk for HEAD req's res.end(data).

Instead of simply clearing data, check _hasBody
earlier to avoid sending cruft when chunkedEncoding
is used.

Fixes #1291.
2011-07-20 00:24:17 +09:00
Ryan Dahl
87d974bb8f complete upgrade 2011-07-19 02:50:33 -07:00
Ryan Dahl
62f7c7961d Upgrade libuv to d4563a1 2011-07-19 02:47:15 -07:00
Ryan Dahl
6050af4fd7 net_uv: properly initialize writeQueueSize
Fixes simple/test-tcp-wrap-listen.js
2011-07-19 02:19:27 -07:00
Ryan Dahl
061ce7b0ac net_uv: Fix simple/test-http-expect-continue.js 2011-07-19 02:04:34 -07:00
Ryan Dahl
4ef8f06fe6 Finally remove node::EventEmitter 2011-07-19 01:46:38 -07:00
Ryan Dahl
0a3fc1d9c8 Remove StatWatcher's dep on C++ EventEmitter 2011-07-19 01:23:50 -07:00
Ryan Dahl
2e16ae703e Upgrade libuv to 4eff34da4 2011-07-18 16:26:37 -07:00
Ryan Dahl
85404c5c55 Move HandleWrap rules to one place 2011-07-18 13:47:56 -07:00
Ben Noordhuis
e5cceffe6a Replace reinterpret_cast with BitCast in deoptimizer to please certain compilers.
This is a back-port of upstream V8 rev 8672.

Fixes #1354.
2011-07-18 13:39:22 +02:00
Ryan Dahl
bd2d90feff Change text on homepage about Web Workers 2011-07-18 04:36:36 -07:00
Ryan Dahl
61cda1e34e PipeWrap should use HandleWrap::Close 2011-07-18 04:30:40 -07:00
Ryan Dahl
0c7bf8132e Abstract out HandleWrap class 2011-07-18 04:22:16 -07:00
Ryan Dahl
cc0f608c7c Add pipe_wrap 2011-07-18 03:08:54 -07:00
Ryan Dahl
1ae148909a Abstract StreamWrap from TCPWrap 2011-07-18 03:08:54 -07:00
Ryan Dahl
404a4db611 Output size of binaries on 'make' 2011-07-18 03:08:54 -07:00
isaacs
448eab2587 Close #1349 Delimit NODE_PATH with ; on Windows 2011-07-17 14:35:49 -07:00
Pierre-Alexandre St-Jean
93899cb0cb node-amqp is now being maintained by Theo Schlossnagle https://github.com/postwait/node-amqp 2011-07-17 22:40:01 +02:00
Ben Noordhuis
9f9a4cb928 Fix Math.pow crashes on machines without SSE2.
This is a back-port of r8577 from V8's upstream 3.1 branch.

Fixes #829.
2011-07-16 16:00:06 +02:00
Ben Noordhuis
61dfe5d2a9 Revert dcf6955: Fix V8 mingw32 build
Patch has been merged upstream in V8 3.4.6.

Fixes #1351.
2011-07-16 14:51:45 +02:00
Steve Engledow
292345fe62 Improve --help message and Fix -e/--eval switch
--help should at least give some hint that node takes the -e switch

Update help message to include -e and swap eval block with module load block so argv works correctly

[steve@sane node](master)$ ./node -e 'process.argv' foo bar
[ '/home/steve/code/node/node', 'foo', 'bar' ]

:)

Add simple test for -e option.

Fixes #1311.
2011-07-16 15:24:36 +09:00
koichik
4662ace916 Fix message tests
V8 3.4.12.1 changed exception log format.

3.14.10:
node.js:189
        throw e; // process.nextTick error, or 'error' event on first tick
        ^

3.4.12.1:
node.js:189
        throw e; // process.nextTick error, or 'error' event on first tick
              ^

The caret was moved.
2011-07-16 14:12:00 +09:00
Devon Govett
562b469b35 More accurite error messages when writing beyond the length of a Buffer.
Fixes #1336.
2011-07-16 12:56:14 +09:00
Igor Zinkovsky
d798866917 Apply PTW32_STATIC_LIB define to debug build of eio 2011-07-15 18:26:09 -07:00
Ryan Dahl
5709643289 Merge branch 'V8-3.4' 2011-07-15 17:47:37 -07:00
Ryan Dahl
ef1be160d6 Upgrade V8 to 3.4.12.1 2011-07-15 17:47:20 -07:00
koichik
e8bc80cf15 Doc improvements
Fixes #1334.
2011-07-16 09:45:43 +09:00
Henry Rawas
f3f3b12364 net_uv: getsockname binding 2011-07-15 16:44:13 -07:00
vegorov@chromium.org
17bff6082a Correctly propagate toolchain setting in SConstruct.
Patch by Bert Belder.

Review URL: http://codereview.chromium.org/7309014

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@8555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-16 00:40:32 +02:00
vegorov@chromium.org
442c5c95ad MinGW32: define STRUNCATE and change strncpy_s implementation to follow specification.
This fixes the debug build for MinGW32

Patch by Bert Belder.

Review URL: http://codereview.chromium.org/7308007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@8552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-16 00:38:34 +02:00
Bert Belder
1c2dd454db libuv: stop g++ from complaining about anonymous struct usage 2011-07-16 00:31:47 +02:00
isaacs
7f0047c2d5 Close #1348 Remove require.paths
Module.globalPaths is still set to a read-only copy of the global
include paths pulled off of the NODE_PATH environment variable.

It's important to be able to inspect this, but modifying it no longer
has any effect.
2011-07-15 15:11:33 -07:00
isaacs
ebc4d5cd29 Remove duplicate docs about main module 2011-07-15 15:11:32 -07:00
AJ ONeal
eb7d762c55 Document that 'Buffer' is a global variable 2011-07-15 23:59:10 +02:00
Ryan Dahl
f4154d2940 Add 'make test-uv-debug'
To run: ./configure --debug && make test-uv-debug
2011-07-15 13:52:38 -07:00
Henry Rawas
3a96469319 connect-timeout callbacks after close 2011-07-15 13:43:28 -07:00
Ryan Dahl
130be31cff Upgrade libuv to 1be48f12a0
and bindings for new req interface
2011-07-15 13:41:44 -07:00
Ryan Dahl
f5a7de1ea7 windows: fix simple/test-executable-path 2011-07-15 11:05:12 -07:00
Ryan Dahl
48f65b3d57 Use uv_exepath 2011-07-15 10:46:11 -07:00
Wojciech Wnętrzak
25c1a5e804 added information about relative paths in File System module 2011-07-15 09:54:56 -07:00
Wojciech Wnętrzak
9a16f1c7d0 added information about relative paths in File System module 2011-07-15 09:54:20 -07:00
Shigeki Ohtsu
3c733c57b7 ev: define HAVE_SYNC_FILE_RANGE if kernel >= 2.6.17 *and* glibc version >= 2.6 2011-07-15 15:41:28 +02:00
Henry Rawas
e70702c620 connect-buffer play back queued write and end 2011-07-14 17:19:07 -07:00
Ryan Dahl
306af25325 Now working on v0.5.2 2011-07-14 16:56:39 -07:00
Ryan Dahl
f8bfa54d0f Bump to v0.5.1 2011-07-14 16:10:36 -07:00
Ryan Dahl
041c983290 Merge branch 'v0.4'
Conflicts:
	deps/libev/wscript
	doc/api/modules.markdown
2011-07-14 15:52:08 -07:00
Ryan Dahl
ab0d88142e Comment out wsa_get_proto_info(AF_INET6) - not needed - causes warning in Win2k3 2011-07-14 15:34:08 -07:00
Ryan Dahl
b5e7b7870a Revert "net_uv: fix localhost resolution - was defaulting to ::1 on OSX"
Breaks test/internet/test-dns.js

This reverts commit 6d8b082eed.
2011-07-14 15:29:21 -07:00
Brian White
612875765d Addons should not -DEV_MULTIPLICITY=0
Fixes #1229
Fixes #1332
2011-07-14 15:25:19 -07:00
Henry Rawas
77ecc5a41a add working http tests 2011-07-14 15:22:47 -07:00
Ryan Dahl
6d8b082eed net_uv: fix localhost resolution - was defaulting to ::1 on OSX 2011-07-14 14:49:50 -07:00
Ryan Dahl
7a782164b9 Upgrade libuv to f5ff8694 2011-07-14 14:29:24 -07:00
Elijah Insua
b722aaa8c5 Close #1303 Stream.pipe returns the destination
Squashed:

* Simple change to make Stream.pipe(destination) return the destination Stream
* Test: ensure Stream.pipe(destination) returns the destination Stream
* updated Stream.pipe() documentation to reflect that it now returns the
  destination stream
2011-07-14 14:25:49 -07:00
isaacs
9b5098f509 Close #1281 Make require a public member of module
Reviewed by @felixge
2011-07-14 14:25:49 -07:00
Henry Rawas
876712a074 test-tcp-wrap dont assume port 80 priveleged' 2011-07-14 14:18:47 -07:00
Henry Rawas
a13506b48f net_uv: sockets should be writable during connection 2011-07-14 14:18:17 -07:00
Henry Rawas
8adc6b8921 net_uv: Add maxConnections support 2011-07-14 13:23:08 -07:00
koichik
8caf7fdb05 Add tests for #1085 and #1304
Fixes #1327.
2011-07-15 01:58:43 +09:00
Stefan Rusu
5b02d564c3 Fixes #1085. The agent end event may call detachSocket() after the socket is detached and destroyed by abort(). This patch avoids that behavior. 2011-07-15 00:33:28 +09:00
Stefan Rusu
901ebed8ff Fixes #1304. The Connection instance may be destroyed by abort() when process.nextTick is executed. 2011-07-15 00:32:46 +09:00
Kip Gebhardt
7097eca5a7 Adding documentation for 'agent' option in http.request().
Fixes #1243.
2011-07-14 04:06:46 +09:00
koichik
a3e3ad40b1 Fix fs can't handle large file on 64bit platform
fs.read() and fs.write() can't handle more than 2GB files on 64bit platform.
Also fs.truncate() can't handle more than 4GB files.

Fixes #1199.
Fixes #1094.
2011-07-14 02:52:54 +09:00
koichik
5208abe723 Fix Buffer drops last null character in UTF-8
Reproduce:

    $ node
    > buf = new Buffer('\0')
    <Buffer >
    > buf.length
    0
    > buf = new Buffer(1)
    <Buffer 28>
    > buf.write('\0')
    0

Fixes #394.
Fixes #1210.
2011-07-14 02:21:56 +09:00
koichik
5f97c9a005 Improvements AssertionError message
Fixes #217.
2011-07-14 02:08:24 +09:00
koichik
128d1bab2a The Node.JS website should link to whichever ChangeLog will be updated soonest.
Fixes #1316.
2011-07-14 02:00:57 +09:00
koichik
701ae3c995 Document error in console.timeEnd
Fixes #1109.
2011-07-14 00:10:17 +09:00
AJ ONeal
8cc9ac0df2 added explanation of exports
Fixes #1075.
2011-07-14 00:08:31 +09:00
koichik
d05afa50e6 Doc improvements
Fixes #297.
2011-07-14 00:06:12 +09:00
Henry Rawas
92057554d5 fix socket-timeout. Also fix makefile test list name net-stream 2011-07-13 00:29:26 +02:00
Henry Rawas
9057d3f17e fix isip test 2011-07-12 22:42:09 +02:00
Henry Rawas
fad91d16ea test-net-reconnect needs socket connect event 2011-07-12 09:54:40 -07:00
Ryan Dahl
6bcd96c253 Update favicon 2011-07-11 12:24:49 -07:00
Ryan Dahl
360f4b78dd Fix wallpaper links 2011-07-11 08:48:02 -07:00
Ryan Dahl
b1c90a4e22 logo update 2011-07-11 08:30:37 -07:00
Ben Noordhuis
09130147cf Tell BSD users to run gmake instead. 2011-07-11 14:17:23 +02:00
koichik
7e8735b3fe Doc improvements. Explained the flags of fs.open().
Fixes #1268.
2011-07-09 17:09:26 +09:00
koichik
87b6dc21c8 Doc improvements
moved 'continue' event from http.Agent to http.ClientRequest.
added 'close' event to http.ClientResponse.
added 'open' event to fs.ReadStream.

Fixes #1169.
2011-07-09 13:23:28 +09:00
Ben Noordhuis
13a521e698 Fix off-by-one error in assertion.
Fixes test/simple/test-http-buffer-sanity.js
2011-07-09 03:24:51 +02:00
Henry Rawas
dcf6955c10 Fix V8 mingw32 build
Reported to V8
http://code.google.com/p/v8/issues/detail?id=1508
2011-07-08 18:21:29 -07:00
Igor Zinkovsky
a58b6439de Statically link in dependencies for node.exe 2011-07-08 17:44:58 -07:00
koichik
d38fac2230 Fixes #1260
RegExp object is no longer Function.
http://code.google.com/p/v8/issues/detail?id=617
2011-07-08 17:18:42 -07:00
koichik
8faf941109 Fixes #1267.
Error message of JSON.parse() was changed.
2011-07-08 17:18:31 -07:00
Ryan Dahl
91f1b250ec mraleph emit hack 2011-07-08 17:08:52 -07:00
Ryan Dahl
e5564a3f29 Upgrade V8 to 3.4.10 2011-07-08 16:40:11 -07:00
Ryan Dahl
0df2f74d36 Add several asserts to tcp_wrap
OnAlloc and OnConnection should not be occurring after uv_close was
called on the handle.
2011-07-08 15:22:40 -07:00
Henry Rawas
19f248400f test-uv: add more test cases 2011-07-08 14:30:12 -07:00
isaacs
fc80ee947a docs for chown/chmod 2011-07-08 22:41:30 +02:00
Henry Rawas
ff49299b48 add tests to "make test-uv" 2011-07-08 13:06:36 -07:00
Ryan Dahl
15286c8361 Start 'make test-uv' command 2011-07-08 10:40:53 -07:00
Henry Rawas
1018e7d23f isIP test 2011-07-08 10:36:16 -07:00
Henry Rawas
e81a89b116 fix eaddrinuse bug 2011-07-07 16:31:41 -07:00
Henry Rawas
3c52fd006e net_uv: fix test-net-eaddrinuse.js 2011-07-07 15:55:12 -07:00
Henry Rawas
b6f6a1ca11 ipv6 node 2011-07-07 15:51:55 -07:00
Ben Noordhuis
b62ecdc5bb Revert 3e2a2a7. Always send a HTTP/1.1 status line to the client. 2011-07-07 23:54:13 +02:00
Ben Noordhuis
3e8667d829 Revert 8dc8773. Always send a HTTP/1.1 status line to the client. 2011-07-07 23:49:31 +02:00
Ryan Dahl
395b670e58 Add deps/uv/src/ares to include path 2011-07-07 14:39:25 -07:00
Ryan Dahl
132ae752fa Escape $CC and $CXX when passed to uv and V8 2011-07-07 14:17:39 -07:00
Ryan Dahl
6b78b6bf72 Export $CC and $CXX to uv and V8's build systems
Now you can compile with clang by doing

  make distclean
  CC=clang CXX=clang++ ./configure
  make
2011-07-07 11:53:59 -07:00
Ryan Dahl
8a9fdedc9e complete libuv upgrade. sorry 2011-07-07 11:32:12 -07:00
Ryan Dahl
a2f2aa97ad Upgrade libuv to 9518ab65949257384bf7e407d8502a6437fdda4b 2011-07-07 08:56:48 -07:00
avz
cc83455534 sysctl(CTL_HW, HW_PHYSMEM) always returns unsigned long. Will work fine for 32 and 64 bit systems. Closes #1233. 2011-07-06 21:52:21 -07:00
Joe Shaw
3dbb3cdb6a SendTo and SendMsg expect a buffer only, not a string; fix the error message. Closes #1239. 2011-07-06 21:31:13 -07:00
Ryan Dahl
073fbea0f5 Bring back execScript
Undoing
http://codereview.chromium.org/7060008
https://groups.google.com/forum/#!topic/v8-dev/JTRHrPHFBts
2011-07-06 16:55:50 -07:00
isaacs
87900b14da url: Don't swallow punycode errors 2011-07-06 13:17:50 -07:00
isaacs
8475e1527d punycode: Test for integer overflow 2011-07-06 13:17:50 -07:00
Jeremy Selier
2a848fa727 Close #1149 IDNA and Punycode support in url.parse
Using @bnoordhuis's punycode lib.

Close #1174 also
2011-07-06 13:17:50 -07:00
Ryan Dahl
08a334fa45 Upgrade libuv to 0bf38570e8c7837bd830388f7b57f138aebb3395 2011-07-06 12:13:45 -07:00
Ryan Dahl
2dfed9f69a Now working on version v0.5.1 2011-07-05 22:13:55 -07:00
Ryan Dahl
ae7ed8482e Bump to v0.5.0 2011-07-05 18:45:03 -07:00
Ryan Dahl
111305c1bd Support SunOS 121. Check for ifaddrs in wscript for SunOS build. 2011-07-05 18:31:59 -07:00
Bert Belder
a845bf74ae Libuv: add cygwin support
Fails a few tests
2011-07-06 02:50:50 +02:00
Yoshihiro Kikuchi
82cfdb88fa fix an broken question.
Fixes #1274.
2011-07-06 09:24:37 +09:00
Ryan Dahl
d1eba2b18b Revert "Fixes #1260"
Due to downgrade of V8.

This reverts commit 3e2abd12d3.
2011-07-05 16:49:13 -07:00
Ryan Dahl
8b2f5af2a0 Revert "Fixes #1267."
Revert due to V8 downgrade.

This reverts commit 04c9169892.
2011-07-05 16:40:13 -07:00
Ryan Dahl
64a06c5ffd Revert "Error argument for http.ServerRequest 'close'"
Too slow.

This reverts commit e7ac6d8fcd.
2011-07-05 15:48:31 -07:00
Ryan Dahl
149562555c Downgrade V8 to 3.1.8.25
There are serious performance regressions both in V8 and our own legacy
networking stack. Until we correct our own problems we are going back to the
old V8.
2011-07-05 14:51:29 -07:00
Ben Noordhuis
f087206067 Verify that the argument passed to vm.runInContext() is a context object.
Fixes #558.
2011-07-05 23:39:13 +02:00
Ben Noordhuis
b74d119b34 Parse the command line before initializing V8.
Doing it the other way around means that V8 won't pick
up command line switches like `--prof`.

Props to Joshua Kehn for reporting the issue and Jeff Fifield
for pointing out the cause.

Fixes #900.
Fixes #1217.
2011-07-05 13:25:27 -07:00
Bert Belder
72e18d7f19 dns_uv: match the old api better, fix tests 2011-07-05 21:17:17 +02:00
Ryan Dahl
c0d3f1f485 uv: exception.code isntead of exception.errno 2011-07-05 12:08:17 -07:00
Ryan Dahl
32a0752d49 Merge branch 'V8-3.4' 2011-07-05 11:42:20 -07:00
Ryan Dahl
6054dcc130 Upgrade V8 to 3.4.9 2011-07-05 11:41:56 -07:00
Ryan Dahl
9c77169112 make test-process-uptime fail less often 2011-07-05 11:26:21 -07:00
Ryan Dahl
ede1acc1ed Revert "Remove 'connect' event from server side sockets"
Fixes #1276

This reverts commit f0a440d886.
2011-07-05 10:56:15 -07:00
Ryan Dahl
e8542b6220 Fix internet testcase config 2011-07-05 10:31:37 -07:00
Ryan Dahl
d964b4c5aa net_uv: enable another test case in test-net-pingpong 2011-07-05 10:08:35 -07:00
Alex Xu
f1b7c42524 Typo: stout -> stdout
Closes #874
2011-07-05 02:42:56 +02:00
Alex Xu
1c174cc1aa Typo: stout -> stdout
Closes #874
2011-07-05 02:42:32 +02:00
Bert Belder
4062a42aae Avoid assertion failure closing tty stdin on windows 2011-07-05 02:33:13 +02:00
avz
0c3a7c075e Fix wrong error handling at Open() after open(2) in sync mode 2011-07-05 02:05:37 +02:00
Ben Noordhuis
1e6b72e8cb Test case for issue #1228: errno masked in fs.openSync(). 2011-07-05 02:05:09 +02:00
Bert Belder
1e29fe65c3 Fix make test-internet 2011-07-05 01:53:01 +02:00
Ben Noordhuis
3e2a2a76fd Test cases for #1234: don't send HTTP/1.1 responses to HTTP/1.0 clients. 2011-07-05 01:41:37 +02:00
Ben Noordhuis
f91988979f Don't send a HTTP/1.1 status line to HTTP/1.0 clients.
Fixes #1234.
2011-07-05 01:41:30 +02:00
Ben Noordhuis
c6846565cf Clean up temporary file on exit.
Unbreaks test/simple/test-http-get-pipeline-problem.js,
it assumed a fixed number of files in the tmp directory.
2011-07-05 01:38:07 +02:00
Bert Belder
1037f5c113 Fix bug in timers_uv timeout recomputation
Closes #1209
2011-07-05 01:31:23 +02:00
Ben Noordhuis
222f85fdf4 Test cases for #1234: don't send HTTP/1.1 responses to HTTP/1.0 clients. 2011-07-05 01:13:57 +02:00
Ben Noordhuis
8dc87731c7 Don't send a HTTP/1.1 status line to HTTP/1.0 clients.
Fixes #1234.
2011-07-05 01:13:57 +02:00
Ben Noordhuis
092fc42fbf Clean up temporary file on exit.
Unbreaks test/simple/test-http-get-pipeline-problem.js,
it assumed a fixed number of files in the tmp directory.
2011-07-05 01:13:57 +02:00
Ryan Dahl
24a671a8aa legacy c-ares binding should use legacy timer 2011-07-04 15:56:56 -07:00
Bert Belder
858f23094e Bindings for libuv-integrated c-ares 2011-07-05 00:17:20 +02:00
Bert Belder
c953ecfb9e Fix v8 mingw build 2011-07-05 00:04:58 +02:00
Bert Belder
3b16a89b3a Fix net_uv.isIPv4/6 bug 2011-07-05 00:04:57 +02:00
Adam Luikart
7f30f13543 Update POSIX splitPathRe to allow control chars. Fixes #1230.
Use [\s\S] instead of . to match any char, including newlines.
2011-07-04 22:50:27 +02:00
koichik
04c9169892 Fixes #1267.
Error message of JSON.parse() was changed.
2011-07-05 04:15:51 +09:00
Niklas Fiekas
a3e5da07b4 Removed/Fixed TODO DRY 2011-07-04 21:15:00 +02:00
Ryan Dahl
38f3bf6610 net_uv: add isIP
Issue #1270: Doesn't completely pass test/simple/test-net-isip.js yet.
2011-07-04 11:33:29 -07:00
Joe Shaw
f6fa20fd55 Fix a misnamed argument; multicastAddress -> multicastInterface. Closes #1237. 2011-07-04 19:40:24 +02:00
Jörn Horstmann
ff50310cc5 Fixed a typo in a comment: "realpatch" -> "realpath" 2011-07-04 19:40:23 +02:00
Ben Noordhuis
20d7c47d6e Document that path.join() and path.resolve() ignore non-string arguments.
Fixes #514.
2011-07-04 19:40:20 +02:00
Mariano Iglesias
02ebcd8e26 Adding missing v8 namespace to NODE_PSYMBOL 2011-07-04 19:40:19 +02:00
Joe Shaw
7962eeef22 Fix a misnamed argument; multicastAddress -> multicastInterface. Closes #1237. 2011-07-04 10:00:31 -07:00
Jörn Horstmann
8cecc50b9d Fixed a typo in a comment: "realpatch" -> "realpath" 2011-07-04 09:53:30 -07:00
Mariano Iglesias
075605f304 Adding missing v8 namespace to NODE_PSYMBOL 2011-07-04 09:50:10 -07:00
Brett Kiefer
220e2281e4 Fix issue 915 (Failed to find kqueue on FreeBSD) with the relevant portion of a patch submitted to node.js dev (http://groups.google.com/group/nodejs-dev/browse_thread/thread/3aaf7fe2ca390fdc) by Davie Siegel. The issue is that event.h requires types.h on FreeBSD. This rearranges some of the logic but looks like it should still be valid for Darwin. 2011-07-04 09:27:15 -07:00
koichik
c60cdcda4e Fix net.Socket.connect argument parsing
Fixes #1251.
2011-07-05 00:52:16 +09:00
Ben Noordhuis
bd0baf2338 Check that PR_SET_NAME is defined.
Avoids breaking the build with older (pre-2006) linux kernels.
Raises a JS exception if the script tries to assign to `process.title`.

Fixes #840.
2011-07-04 17:23:14 +02:00
Ben Noordhuis
8e0d788842 Test for #402: writing base64 at position > 0 should not mangle the result.
This is a regression test, the bug itself was fixed in v0.3.x.
2011-07-04 17:07:50 +02:00
Ben Noordhuis
d6188bdd27 Document behaviour of the encoding parameter of fs.writeFile().
Fixes #401.
2011-07-04 16:26:46 +02:00
koichik
bcf3c7d31c Fix doctool uses RegExp object as a Function
RegExp object is no longer Function.
http://code.google.com/p/v8/issues/detail?id=617

Fixes #1262.
2011-07-04 22:52:44 +09:00
koichik
3e2abd12d3 Fixes #1260
RegExp object is no longer Function.
http://code.google.com/p/v8/issues/detail?id=617
2011-07-03 12:19:44 -07:00
koichik
38a0145869 Fix doctool uses RegExp object as a Function
RegExp object is no longer Function.
http://code.google.com/p/v8/issues/detail?id=617

Fixes #1262.
2011-07-03 11:27:23 -07:00
koichik
432d54900e Remove duplicate section in modules.markdown
Fixes #1263
2011-07-03 11:26:44 -07:00
Ryan Dahl
6d8b43c366 http: Fix agent id creation
Unbreaks test-regress-GH-877.js
2011-07-03 11:05:14 -07:00
Ryan Dahl
44d30f2d65 Fix require with --eval
Caused by bad merging of d6ec8f

Fixes #1261.
2011-07-03 10:49:20 -07:00
Ryan Dahl
69d20f5352 use_uv: Correct readyState on connecting 2011-07-02 00:18:36 -07:00
Ryan Dahl
a1e8fcc5ae Merge branch 'v0.4' 2011-07-01 20:32:41 -07:00
Ryan Dahl
5a2155dc71 Set process.useUV also on env NODE_USE_UV=1 2011-07-01 19:30:26 -07:00
Henry Rawas
56ec4e4f3c net_uv: fix test-net-connect-timeout.js test 2011-07-01 17:53:48 -07:00
Ryan Dahl
efca5456b8 Fixes #877. Don't wait for socket pool to establish connections.
Thanks to Yann Biancheri for putting together an initial test.
2011-07-01 15:49:42 -07:00
Ryan Dahl
f78f654131 Revert "debugger: don't allow users to input non-valid commands"
breaks 'print' command

This reverts commit 37d529f818.
2011-07-01 15:38:53 -07:00
Ryan Dahl
70a8927a93 Upgrade libuv to ba1c38f to fix mingw build 2011-07-01 10:59:42 -07:00
Robert Mustacchi
2cfab04037 Fix solaris build (http://codereview.chromium.org/7282034/) 2011-07-01 09:51:43 -07:00
Ryan Dahl
17ac0316d0 Complete libuv upgrade 2011-07-01 09:38:47 -07:00
Ryan Dahl
412e413edc Upgrade libuv 2011-07-01 09:30:44 -07:00
Henry Rawas
4c480551c3 net_uv: reuse socket 2011-07-01 09:01:06 -07:00
Yoshihiro KIKUCHI
99b210d7ea tiny fixes in tty_posix.js
Close #1158
Close #1160
Close #1252
2011-07-01 00:33:41 -07:00
Ryan Dahl
e38ae476ef net_uv: Stub out setKeepAlive 2011-06-30 14:53:22 -07:00
Henry Rawas
2e1af6df49 Fix V8 mingw32 build
Reported to V8
http://code.google.com/p/v8/issues/detail?id=1508
2011-06-29 20:51:30 +02:00
Ryan Dahl
1cb7b67ac3 Upgrade libuv to 8fd916d6ddc9c7fd0e3e8e668efbc2d782e8e742 2011-06-29 19:35:17 +02:00
Henry Rawas
dd175a4ede fix mingw build 2011-06-29 19:12:26 +02:00
Ryan Dahl
be1b55289f net_uv: Fix server.listen argument parsing 2011-06-29 18:04:55 +02:00
Ryan Dahl
33af2720f2 Upgrade V8 to 3.4.8 2011-06-29 17:26:51 +02:00
Ryan Dahl
6afdca885a Add docs about NODE_USE_UV to man page 2011-06-29 17:16:52 +02:00
Ryan Dahl
20996dbc2b Revert "Add support for file descriptor type detection."
This reverts commit 911cbd0cef.

This patch is broken on Linux and I don't want to think about the
functionality during the Windows port. We can reconsider it after v0.6.
2011-06-29 15:25:11 +02:00
Henry Rawas
d64e070e26 net_uv: Delay listen emit 2011-06-29 15:20:53 +02:00
Ryan Dahl
d005cc5cc9 Enable new timer binding only on --use-uv 2011-06-29 15:14:55 +02:00
Ryan Dahl
263e33a738 Revert "Get rid of the old timer binding"
This reverts commit cc82724fdc.

Conflicts:

	src/node.cc
	wscript
2011-06-29 15:06:40 +02:00
Ryan Dahl
23b8931b62 Merge branch 'v0.4'
Conflicts:
	src/node.js
	src/node_version.h
2011-06-29 14:50:03 +02:00
Ryan Dahl
e286480e34 Now working on v0.4.10 2011-06-29 14:44:38 +02:00
Ryan Dahl
de44eafd78 Bump to v0.4.9 2011-06-29 13:24:02 +02:00
Ryan Dahl
1e7769dfa3 Merge branch 'v8-3.1' into v0.4 2011-06-29 12:49:37 +02:00
Ryan Dahl
61553ccdda Upgrade V8 to 3.1.8.25 2011-06-29 12:49:17 +02:00
Ryan Dahl
09b8a5e2cf Dont install ares_build.h or ares_rules.h 2011-06-29 02:44:26 +02:00
Henry Rawas
4e1e60fbf0 Fix the MinGW build 2011-06-28 23:14:00 +02:00
Ryan Dahl
8cb5338f35 Fix test-tcp-wrap-listen 2011-06-28 13:56:02 +02:00
Henry Rawas
47a5d93256 Fix test-net-pingpong.js on windows 2011-06-28 13:52:36 +02:00
Ryan Dahl
f657d58fe1 Upgrade libuv to f9b9bb44bd6e2b74729b5d1ff481adf4213e9a0b 2011-06-28 13:37:03 +02:00
koichik
6c121edc60 Fix mismatch createConnection and Socket.connect
net.createConnection() is wrapper for net.Socket.connect(),
but There is mismatch between them.

net.createConnection(port, [host])
net.Socket.connect(port, [host], [callback])

Fixes #1208.
2011-06-28 13:36:45 +02:00
Ben Noordhuis
c626f8bd8f Test case for issue #1218: uncatchable exception on TLS connection error. 2011-06-27 13:18:31 +02:00
Ben Noordhuis
c95da949ec Prevent "undefined symbol: ev_rt_now" link errors in third-party modules.
Fixes #1181.
2011-06-23 00:35:35 +02:00
Ryan Dahl
02699a3a8e net_uv: child process use net_legacy; recognize NODE_USE_UV=1 env var 2011-06-20 15:51:03 +02:00
Ryan Dahl
d0a9e64245 net_uv: Don't add listenerCallback when null 2011-06-20 14:48:00 +02:00
koichik
d6ec8f668e Fix -e/--eval can't load module from node_modules
With -e or --eval, require() can load module using relative path.

    node -e 'require("./foo")'

But it can't load module from node_modules directory.

    node -e 'require("foo")'

Fixes #1196.
2011-06-20 13:47:27 +02:00
Ben Noordhuis
5c38163787 Fixes #1197. Fix failing os.getNetworkInterfaces() test in test-os.js 2011-06-20 13:31:14 +02:00
Ryan Dahl
d627083ed5 Fixes #1187. Support multiple 'link' headers 2011-06-20 12:51:30 +02:00
Ryan Dahl
feb26d6c74 Fixes #1203. Add missing scope.Close to fs.sendfileSync 2011-06-20 12:48:38 +02:00
Sam Shull
b057770f8a Fixes #1204. Add missing headers files to include
This commit fixes install of required dependencies for native
extensions.
2011-06-20 12:45:44 +02:00
Ryan Dahl
95b409c578 Upgrade libuv.
Also remove c-ares since it's included in libuv now.

libuv version b7b7df090ca285e53eb51bf518c4e5064876596
2011-06-17 19:53:19 +02:00
Ryan Dahl
f6ce86af04 net_uv: Export Socket and Stream 2011-06-17 18:09:15 +02:00
Ryan Dahl
dc0556c8cd net_uv: Implement end(), destroySoon() 2011-06-17 17:10:12 +02:00
Ryan Dahl
e697cfb6fc net_uv: shim up more methods 2011-06-17 14:27:02 +02:00
Ryan Dahl
52b517c6ab Revert "Add --cov code coverage option"
This can be done in user space. EG https://github.com/cloudkick/whiskey

This reverts commit da9b3340eb.
This reverts commit b4ff36a41b.

Conflicts:

	src/node.cc
2011-06-17 14:03:05 +02:00
Ryan Dahl
710f8e2acc Add --use-uv command-line flag to use libuv backend 2011-06-17 13:51:40 +02:00
Ryan Dahl
312ed83827 Support eof in net_uv 2011-06-17 13:36:16 +02:00
Ryan Dahl
8bf5b8d352 Initial pass at new net.js for libuv 2011-06-16 21:11:05 +02:00
Ryan Dahl
9696c27c45 tcp_wrap: implement shutdown 2011-06-16 16:08:17 +02:00
Ryan Dahl
ea8969787c tcp_wrap: Don't return req object on error. 2011-06-16 16:03:04 +02:00
Ryan Dahl
97296e405c tcp_wrap: add writeQueueSize 2011-06-16 15:49:44 +02:00
Ryan Dahl
ddc989333d tcp_wrap: implement socket.connect() 2011-06-16 15:33:47 +02:00
Ryan Dahl
dae73dbd28 tcp_wrap: onread oncomplete parameter massage 2011-06-16 15:12:57 +02:00
Ryan Dahl
dafe32d3bf tcp_wrap: implement write 2011-06-16 13:16:54 +02:00
Mark Cavage
7c51275bce Cleanup crypto verify to not print unnecessary errors 2011-06-15 20:02:21 +02:00
Ryan Dahl
3d7d994ffc Merge branch 'v0.4'
Conflicts:
	doc/api/modules.markdown
	test/simple/test-crypto.js
2011-06-15 14:43:37 +02:00
Mathias Buus
39246f65df Closes #1177 remove one node_modules optimization
to better support certain project structures.
2011-06-14 15:32:41 -07:00
Ryan Dahl
86214c9f16 tcp_wrap: Initial wrap of uv_read_start 2011-06-14 18:03:01 +02:00
Ryan Dahl
5fd9adccdb Remove confusing comment in node_buffer.h 2011-06-14 13:18:32 +02:00
Ryan Dahl
1261b17129 libuv wraps: Dispose of JS object on close() 2011-06-14 13:03:49 +02:00
Mark Cavage
88552c51ae Support for signature verification with RSA/DSA public keys
Fixes #1166.
2011-06-14 12:50:00 +02:00
Ryan Dahl
55636e5526 tcp_wrap: Remove listener deck 2011-06-14 12:47:07 +02:00
isaacs
9967c369c9 AMD compatibility for node, with docs and tests
Closes #1173
Closes #1170
2011-06-13 16:11:13 -07:00
Trevor Burnham
f46811633c Documenting require.main, fixing #997 2011-06-13 13:39:02 -07:00
Bert Belder
2eb1274d6c Compensate for uv_async_init api change 2011-06-12 20:53:04 +02:00
Ryan Dahl
1ba2c32135 Massage util.inherits for perf increase 2011-06-11 08:51:48 +02:00
Ryan Dahl
effeeb5cf2 Bind uv_listen() 2011-06-10 18:25:27 +02:00
Ryan Dahl
062759194b Initial binding to uv_tcp_t 2011-06-10 18:17:48 +02:00
Ryan Dahl
623f513071 Upgrade libuv 2011-06-10 18:17:44 +02:00
Bert Belder
09ac99f1f4 Avoid tick spinner spinning forever 2011-06-08 05:06:16 +02:00
Bert Belder
406f44a86b Build on windows again 2011-06-08 05:06:15 +02:00
Bert Belder
126e3ba2d3 Get rid of node_idle_watcher 2011-06-08 05:06:15 +02:00
Bert Belder
cc82724fdc Get rid of the old timer binding 2011-06-08 05:06:14 +02:00
Bert Belder
d9aa9b54cf Use timer_wrap instead of the old timer binding 2011-06-08 05:06:13 +02:00
Bert Belder
5c9a262eb0 Compatibility issue and warning in x-forwarded-for dtrace probe 2011-06-08 05:06:09 +02:00
Ryan Dahl
7a5977b5d6 Upgrade libuv to e58a1abff02d7bacf89a56de9050e27690a97bc5 2011-06-07 18:59:44 +02:00
isaacs
794cb60f9e typo 2011-06-04 10:41:41 -07:00
isaacs
580ab7ba2c Avoid instanceof for native object types
For classes defined in the module, this is fine.  For 'Error'
it's probably not very hazardous.  However, testing 'Object'
and 'String' is much more reliable using typeof, to work with
the repl and NODE_MODULE_CONTEXT modes.
2011-06-04 10:38:49 -07:00
Dave Pacheco
e142fe2be6 DTrace probes: support X-Forwarded-For
INTRO-385
2011-06-04 16:05:01 +02:00
Ryan Dahl
b6a742d76f Merge branch 'v0.4' 2011-06-03 16:37:56 +02:00
Siddharth Mahendraker
37d529f818 debugger: don't allow users to input non-valid commands
Fixes #1144.
2011-06-03 14:50:12 +02:00
Ryan Dahl
1d7a46a588 Disabling SSL compression is dependent on OpenSSL version 0.9.8
Fixes #1087.
2011-06-03 14:50:02 +02:00
Ryan Dahl
4956e3c0a2 Upgrade http-parser to eee60127c0df551be085cc8e7983e36d7700d885 2011-06-03 14:12:14 +02:00
Ryan Dahl
0cb4484d43 Doc improvements
Fixes #1147.
Fixes #1139.
Fixes #1126.
Thanks ctide, kext, disfated.
2011-06-03 13:27:35 +02:00
Jérémy Lal
f23c45f7f4 Option to disable SSL v2
Fixes #880
2011-06-03 08:37:28 +02:00
Ryan Dahl
b96ae6674d document require.cache 2011-06-03 08:14:35 +02:00
Fuji, Goro
8971b59365 node -e '' should mean eval(''), not invoke REPL
Fixes #1116
2011-05-31 22:10:39 -07:00
Ryan Dahl
650a308634 Move MakeCallback and SetErrno to node.cc 2011-05-28 13:44:03 -07:00
Ryan Dahl
4d22405f0f TimerWrap: mimic libev ref count semantics 2011-05-28 13:21:03 -07:00
Ryan Petrello
58a1d7ec30 Close #562 Close #1078 Parse file:// urls properly
The file:// protocol *always* has a hostname; it's frequently
abbreviated as an empty string, which represents 'localhost'
implicitly.

According to RFC 1738 (http://tools.ietf.org/html/rfc1738):

A file URL takes the form:

   file://<host>/<path>

where <host> is the fully qualified domain name of the system on
which the <path> is accessible...

As a special case, <host> can be the string "localhost" or the empty
string; this is interpreted as 'the machine from which the URL is
being interpreted'.
2011-05-27 10:47:34 -07:00
Ryan Dahl
9d1bad8960 Implement new wrap for uv timer 2011-05-25 10:17:02 -07:00
Ben Noordhuis
eb4c9ed881 Fix resource leaks in node_crypto.cc
Fixes #1097.
2011-05-24 23:36:54 -07:00
Brian White
9b3472637e Crypto documentation fixes
Fixes #1104.
2011-05-24 23:35:18 -07:00
Ryan Dahl
8f06547548 Fixes #1102. Install ev.h into $PREFIX/include/node/ev/ev.h 2011-05-24 13:43:10 -07:00
Felix Geisendörfer
f0a440d886 Remove 'connect' event from server side sockets
Sockets emitted by the 'connection' event are always connected, having
them emit the 'connect' event makes no sense. It only confused people,
as it's not clear if you have to listen to 'connect' or not.

That try..catch block was also very scary. It would silently swallow
exceptions in 'connect' listeners and destroy the socket. Makes no
sense.

Fixes #1047.
2011-05-24 11:22:59 -07:00
Felix Geisendörfer
2b91256c61 Fix error handling bug in stream.pipe()
Problem: Since stream.pipe() is registering it's own error handlers on
the source and destination stream, it needs to replicate the
EventEmitter 'error' emitting semantics of throwing an error if there
are no other listeners. However, there was a off-by-one error because
the check for remaining listeners was done after cleanup() which means
the pipe's own listener was no longer included.

This would cause 'error' events on either the dest or the source to
throw if there was one other error listener, and while swallowing
the 'error' event if there was no other listener.

Solution: I added a test demonstrating the two issues and fixed the
problem by correcting the off-by-one error.

Fixes #1095.
2011-05-24 10:50:33 -07:00
Brian White
d22259426c Fix incorrect documentation for assert.fail()
Fixes #1100.
2011-05-24 10:44:14 -07:00
Ryan Dahl
a72284e264 Fix windows EOL chars 2011-05-23 17:38:55 -07:00
Bert Belder
9cec08e490 Batch of ev -> uv changes 2011-05-23 17:31:29 -07:00
Ryan Dahl
207901e7de Guard tick_spinner start/stop
All tests passing on OSX. Thanks to Bert for debugging this.
2011-05-23 15:38:57 -07:00
Ryan Dahl
d3426789d2 Upgrade libuv to d91b5012bd32b60f1a0f35241f7ac45c147f0c8a 2011-05-23 15:25:21 -07:00
Ryan Dahl
2c79f13634 Upgrade libuv to 40f0ad6d364cff76adaf1c7f182b1dc939f36617 2011-05-22 13:08:31 -07:00
Ryan Dahl
860cb906a6 Merge branch 'v0.4'
Conflicts:
	src/node_version.h
2011-05-22 13:02:06 -07:00
Ryan Dahl
823604a4e0 Now working on v0.4.9 2011-05-21 00:10:23 -07:00
Ryan Dahl
7dd22c26e4 Bump to v0.4.8 2011-05-20 19:40:06 -07:00
Ryan Dahl
80b0225b98 Merge branch 'v8-3.1' into v0.4 2011-05-20 19:25:30 -07:00
Ryan Dahl
cee4ce39a9 Upgrade V8 to 3.1.8.16 2011-05-20 19:24:37 -07:00
Ryan Dahl
70dd6d4ea3 Fix TJ's assert error
Unable to reproduce but connect's "make test TESTS=test/static.test.js" does
it occasionally.
2011-05-20 15:41:04 -07:00
Mark Cavage
a55a9ff3c2 Additional docs for net.listenFD()
Fixes #1080.
2011-05-20 15:02:22 -07:00
Ryan Dahl
59274e8a33 Merge branch 'v0.4'
Conflicts:
	lib/crypto.js
	lib/tls.js
2011-05-20 10:29:16 -07:00
Ryan Dahl
9c7f89bf56 CryptoStream.prototype.readyState shoudn't reference fd
Fixes #1069
2011-05-20 10:20:22 -07:00
Brian White
2de0611b43 Remove unused variable
Fixes #1077
2011-05-20 08:51:55 -07:00
Robert Mustacchi
7ea19d02fd Use same make as when originally invoked 2011-05-20 08:34:25 -07:00
Robert Mustacchi
317653b4df Rework getNetworkInterfaces() for Linux, SunOS, Mac OS X 2011-05-20 08:34:18 -07:00
David Trejo
8a0ac5b422 Add test for agent upgrade and example in docs 2011-05-19 18:44:42 -07:00
Ryan Dahl
73ea01cd64 Revert "Upgrade libuv to 9c2dd6bea970b2376696aba070bdfc2873843cfb"
This reverts commit 4b60e87afe.

Event loop ref count broken.
2011-05-19 17:50:13 -07:00
Alexandre Marangone
6c28fcf661 (char *) casting for all strings args to kstat function to avoid warnings
Fixes #1071.
2011-05-19 14:53:31 -07:00
Alexandre Marangone
5d9dc1c6d5 Adding os.totalmem() and os.freemem() for SunOS 2011-05-19 14:53:07 -07:00
Fedor Indutny
21724ecaec Share SSL context between server connections
Fixes #1073.
2011-05-19 14:45:42 -07:00
Ryan Dahl
6461af1baa Fix buffer test 2011-05-19 12:41:17 -07:00
Ryan Dahl
5e409c2f1a makeFastBuffer should not segfault but rather throw on non-buffer 2011-05-19 12:13:48 -07:00
Ryan Dahl
4b60e87afe Upgrade libuv to 9c2dd6bea970b2376696aba070bdfc2873843cfb 2011-05-19 10:37:51 -07:00
Ryan Dahl
3ac0ada758 Merge branch 'v0.4' 2011-05-19 10:34:42 -07:00
David Trejo
f4e69e44ff readline docs 2011-05-18 21:13:49 -07:00
David Trejo
68d840b47d readline docs 2011-05-18 21:12:15 -07:00
Ryan Dahl
85934bcf2a Remove libev/macos kqueue override - goes in libuv 2011-05-17 14:55:26 -07:00
Ryan Dahl
63c0d71213 Changes for job bullets 2011-05-17 13:25:25 -07:00
Ryan Dahl
0271b785a1 fork: Use utf8 for channel encoding 2011-05-17 10:51:30 -07:00
Ryan Dahl
85bc8d02fa Merge branch 'v0.4'
Conflicts:
	src/node_crypto.cc
2011-05-16 19:29:02 -07:00
Ryan Dahl
103a450d3a Remove 'binary' encoding assert - add tests
Don't write large characters to buffers with binary encoding. You will be
silently injured.
2011-05-16 15:01:33 -07:00
isaacs
249361cab7 Close #1054 More clear documentation for module system 2011-05-16 23:30:43 +02:00
Ryan Dahl
e83c6959db Disable compression with OpenSSL.
This improves memory and speed. Users may apply compression in "userland"
above the CryptoStream layer if they desire.
2011-05-16 10:33:19 -07:00
koichik
d4f82ea590 Fix dns.resolve() with 'PTR' throws Error: Unknown type "PTR"
Fixes #1038
2011-05-16 10:21:16 -07:00
Brian White
e505a1215c Add reading/writing of floats and doubles from/to buffers
Code for readIEEE754/writeIEEE754 is from jspack: http://code.google.com/p/jspack/
2011-05-15 18:39:07 -07:00
koichik
80c2fe9456 Fix event listener leak check timing
Fixes #1041.
2011-05-14 14:43:00 -07:00
koichik
56aa2fd4c3 Fix doc - missing dns.resolveNs() and dns.resolveCname()
Fixes #1039.
2011-05-14 14:36:58 -07:00
Felix Geisendörfer
9d717f6bef Update http.ServerRequest docs
The documentation for 'end' was wrong, and 'close' now has an `err`
parameter.
2011-05-14 14:21:41 -07:00
Felix Geisendörfer
e7ac6d8fcd Error argument for http.ServerRequest 'close'
Problem: It was not possible to detect the reason for a premature
connection termination in http requests.

This patch provides a new `err` argument to the 'close' event which
can be inspected to differentiate between a timeout and a client
actively terminating the connection.

Also contains tests for this new behavior for http and https.
2011-05-14 14:15:31 -07:00
Felix Geisendörfer
1fde5f51b4 Make https 'timeout' events bubble up
Also adds a test case for it.
2011-05-14 13:38:04 -07:00
Ryan Dahl
91bd144d2c check_tick_watcher to use libuv 2011-05-13 07:09:28 -07:00
Ryan Dahl
a46c63bae7 prepare_tick_watcher to use libuv 2011-05-13 07:06:20 -07:00
Ryan Dahl
17c88db158 move tick_spinner on libuv 2011-05-13 06:59:33 -07:00
Ryan Dahl
efca334be2 Integrate libuv into build system 2011-05-13 00:54:00 -07:00
Ryan Dahl
9a3dd754be Add trademark stuff to homepage 2011-05-11 13:40:42 -07:00
Ryan Dahl
337c48db5f Rename spawnNode to fork 2011-05-11 13:32:40 -07:00
Ryan Dahl
7ea7094314 Improve spawnNode docs 2011-05-11 12:31:35 -07:00
Ryan Dahl
9e26dab150 child_process.spawnNode
For making easy worker processes.
2011-05-11 02:24:48 -07:00
isaacs
307f39ce9e Fix a url regression
The change for #954 introduced a regression that would cause
the url parser to fail on special chars found in the auth
segment.  Fix that, and also don't create invalid urls when
format() is called on an object containing an auth member
containing '@' characters or delimiters.
2011-05-10 13:57:25 -07:00
Ryan Dahl
11beac70e2 Docs: server.pause() server.address() socket.address() 2011-05-09 10:49:27 -07:00
Trevor Burnham
31ed87b0a9 Documenting require.main, fixing #997 2011-05-09 10:29:09 -07:00
isaacs
205b9beb6b Merge branch 'v0.4'
Conflicts:
	lib/tls.js
	lib/url.js
	src/node_version.h
	test/simple/test-buffer.js
	test/simple/test-url.js
2011-05-07 20:38:32 -07:00
Ryan Dahl
110f06578d Agent socket errors bubble up to req only if req exists
Fixes #836.
2011-05-07 12:30:58 -07:00
Marcel Laverdet
c2b5ea218c Attempt to connect to debug process more than once
The debugger would give up after only 100ms but on my system this
timeout isn't enough. The startup process is now modified to try 6
times every 50ms instead.

Fixes #1010.
2011-05-06 20:53:40 -07:00
Ryan Dahl
5ab3ea3955 Point changelog to correct branch
Fixes #1002. Thanks cjavapro.
2011-05-06 16:05:04 -07:00
Ryan Dahl
55bff5bab9 TLS: simplify logic 2011-05-06 17:06:36 -07:00
Nathan Rajlich
72824d8d2d Make sure 'ARCH' get's defined with the CMake build system.
Fixes #1004.
2011-05-06 16:03:39 -07:00
Ryan Dahl
c33790262b Added docs for fs.fsync and fs.fsyncSync
Thanks baudehlo. Fixes #1009.
2011-05-06 16:02:22 -07:00
Håvard Stranden
9f0b1a9bc6 Add Diffie-Hellman support to crypto module
Fixes #573
2011-05-06 14:36:04 -07:00
Ryan Dahl
00aee73692 Add docs for buffer.fill() 2011-05-06 13:42:55 -07:00
Konstantin Käfer
5e1b7cadb4 Add Buffer::fill method to do memset
Fixes #477.
2011-05-06 13:39:12 -07:00
Ryan Dahl
fc8afd45c7 Fix crash in debugger 2011-05-05 16:52:05 -07:00
Ryan Dahl
ad487d3226 Add on('error') to http request example
for indexzero
2011-05-05 15:40:55 -07:00
Ryan Dahl
c409aab397 Assert, Debug output in normal default build 2011-05-04 21:41:01 -07:00
Ryan Dahl
75a0cf970f cleartextstream.destroy() should destroy socket.
This fixes a critical bug see in MJR's production. Very difficult to build a
test case. Sometimes HTTPS server gets sockets that are hanging in a
half-duplex state.
2011-05-02 15:03:50 -07:00
Robert Mustacchi
9812e31e8b Add reading/writing of C integers to buffers 2011-05-01 14:02:33 -07:00
Ben Noordhuis
82bc25d5ad Remove oprofile flags in wscript.
V8 3.1.5 (commit 550f73a) dropped oprofile support so don't pass
prof=oprofile to scons.

See http://codereview.chromium.org/6474037/

Fixes #998.
2011-05-01 08:00:34 -07:00
Ryan Dahl
8d88c00b77 Merge branch 'v8-3.1' into v0.4 2011-04-30 11:38:55 -07:00
Ryan Dahl
eb57d1b9b1 Upgrade V8 to 3.1.8.14 2011-04-30 11:38:25 -07:00
koichik
fcc04e67c8 Fix SlowBuffer.write() with 'ucs2' throws ReferenceError. 2011-04-28 04:57:00 -04:00
koichik
1343ee8d54 Doc improvements. 2011-04-28 04:54:28 -04:00
isaacs
7c6f0147df Better stream.pipe() tracking.
This commit does three things:

1. Uses an exposed counter rather than a hidden array for tracking dest
streams that may have multiple inputs.  This allows for significantly
faster lookups, since the counter can be checked in constant time rather
than searching an array for the dest object.  (A proper O(1) WeakMap
would be better, but that may have to wait for Harmony.)

2. Calls the 'end' event logic when there is an 'error' event on the
source object (and then throws if there are no other error listeners.)
This is important, because otherwise 'error' events would lead to
memory leaks.

3. Clean up the style a bit.  Function Declarations are not allowed
within blocks in ES strict.  Prefer Function Declarations to Function
Expressions, because hoisting allows for more expressive ordering of
logic.

Downside: It adds "_pipeCount" as part of the Stream API.  It'll work
fine if the member is missing, but if anyone tries to use it for some
other purpose, it can mess things up.
2011-04-27 22:08:21 -07:00
Ryan Dahl
8a03cf7a7b Fix docs for process.arch 2011-04-27 11:49:24 -04:00
isaacs
a7ce79124e Add arch/platform to os module 2011-04-26 20:04:32 -07:00
Nathan Rajlich
b1be5409bd Implement process.arch to get a String of the current processor architecture, with docs. 2011-04-26 19:56:10 -07:00
isaacs
bbffd9e502 Close #983 Better JSON.parse error detection
Previous pattern would only catch ILLEGAL, not { or other
known-but-unexpected JSON tokens.
2011-04-26 09:48:28 -07:00
Mark Cavage
a2328dc73c Add support for Unix Domain Sockets to HTTP
fixes #979.
2011-04-25 16:52:31 -07:00
George Miroshnykov
68c8a69f4c Close #962: Fixed typo in vm.runInNewContext docs.
EDIT: Also added another typo fix to this commit. --isaacs
2011-04-25 13:45:58 -07:00
isaacs
8df6f9e544 Close #974 Properly report traceless errors.
Also, tests for the same.
2011-04-25 12:22:18 -07:00
isaacs
8fd1c68f06 A test that running 100 stream pipes in parallel is ok 2011-04-22 19:33:23 -07:00
Ryan Dahl
0325a21ff3 Correct attribution 2011-04-22 19:04:43 -07:00
Ryan Dahl
621b024b6e Bump bounds on #897 test - was too small for slow machines 2011-04-22 17:50:40 -07:00
Ryan Dahl
1f470b68d6 Now working on v0.4.8 2011-04-22 17:49:56 -07:00
Ryan Dahl
c85455a954 bump version to v0.4.7 2011-04-22 17:06:25 -07:00
Ryan Dahl
c8e447ee63 Fix timeouts with floating point numbers bug
fixes #897.
2011-04-22 16:38:29 -07:00
Ryan Dahl
3ce5e6fe5e Use better ports on the home page 2011-04-22 16:01:34 -07:00
Robert Mustacchi
ed657e9d46 Add loadavg for SunOS 2011-04-21 19:52:01 -07:00
Tim Baumann
6c7c4aeab6 Don't overwrite an user-specified repl.writer 2011-04-21 12:26:27 -07:00
Wade Simmons
d00739ce56 make it possible to do repl.start('', stream) 2011-04-21 12:20:50 -07:00
isaacs
0b3ecc05a6 Close #955 Change ^C handling in REPL
Press with text on the line: Cancels
Press on a bare line: Print a message
Press again on a bare line: Exit
2011-04-21 12:17:21 -07:00
Nebu
934c82b8b8 Partially documented the readline module. 2011-04-21 11:42:40 -07:00
isaacs
efca5f8e78 docs for chown/chmod 2011-04-20 16:04:46 -07:00
isaacs
3935adced0 GH-853 fs.lchown and fs.lchmod 2011-04-20 16:04:39 -07:00
isaacs
5cfac21852 GH-853 fs.fchmod and fs.fchown 2011-04-20 16:04:33 -07:00
isaacs
90802d628d Close #954 URL parsing/formatting corrections
1. Allow single-quotes in urls, but escape them.
2. Add comments about which RFCs we're following for guidance.
3. Handle any invalid character in the hostname portion.
4. lcase protocol and hostname portions, since they are
case-insensitive.
2011-04-20 15:44:34 -07:00
Fedor Indutny
c9b40da368 OpenSSL NPN in node.js
closes #926.
2011-04-19 11:32:26 -07:00
Ryan Dahl
9e6498d5fa Merge branch 'v0.4'
Conflicts:
	src/node_version.h
2011-04-18 18:58:16 -07:00
Ryan Dahl
d3d35ec3ca add docs for console object 2011-04-18 16:52:53 -07:00
Ryan Dahl
cbdd92e184 Add community link on homepage 2011-04-16 13:55:03 -07:00
Ryan Dahl
da9b3340eb Add covhtml.js tool 2011-04-15 00:12:19 -07:00
Ryan Dahl
b4ff36a41b Add --cov code coverage option 2011-04-14 23:42:08 -07:00
Ryan Dahl
ed316ae350 Docs: some encodings contains multibyte chars.
fixes #888
2011-04-14 15:11:35 -07:00
koichik
74d94b0dd1 Fix docs - Move module's description to right position 2011-04-14 14:40:50 -07:00
Felix Geisendörfer
80711b0ff9 Feature: WriteStream#bytesWritten property
Implemented a new property for writable file streams that keeps track
of the bytes written (not queued). This helps when you are piping
another stream to a file, and would like to know how big the file is
without having to issue another stat call.

closes #930
2011-04-14 14:26:46 -07:00
Felix Geisendörfer
6c5b31bd80 Fix: Multiple pipes to the same stream were broken
When creating multiple .pipe()s to the same destination stream, the
first source to end would close the destination, breaking all remaining
pipes. This patch fixes the problem by keeping track of all open
pipes, so that we only call end on destinations that have no more
sources piping to them.

closes #929
2011-04-14 14:12:01 -07:00
Ryan Dahl
8417870f51 Don't emit error on ECONNRESET - just close
Fix #670
2011-04-14 10:42:57 -07:00
Ryan Dahl
61100788ad Now working on v0.4.7 2011-04-13 22:03:48 -07:00
Ryan Dahl
58002d56bc Bump to v0.4.6 2011-04-13 21:20:05 -07:00
Ryan Dahl
bb621f7c2e CryptoStream.write returns false when queue > 128kb
Previously the return value of write was dependent on if it was paused or
not which was causing a strange error demoed in the previous commit.

Fixes #892
2011-04-13 20:32:46 -07:00
Ryan Dahl
050bbf0bc4 TLS use RC4-SHA by default 2011-04-13 18:43:08 -07:00
Theo Schlossnagle
e2d9018535 SSL_OP_CRYPTOPRO_TLSEXT_BUG
fixes #873
2011-04-13 18:35:56 -07:00
Theo Schlossnagle
d6f5b8a2a6 allow setting of ciphers in credentials
fixes #873
2011-04-13 18:35:39 -07:00
Theo Schlossnagle
2a88dd3bc1 TLS: Add secureOptions flag
Also, secureOptions flag was added (and passed through) and allows
the context to have all supported SSL_OP_* set via createCredentials.
All SSL_OP_ flags (outside of ALL) have been added to constants.
2011-04-13 18:25:33 -07:00
Ryan Dahl
598792ba91 Merge branch 'v0.4'
Conflicts:
	src/platform_sunos.cc
	test/simple/test-os.js
2011-04-14 01:11:21 +00:00
Theo Schlossnagle
d0e84b0088 Pass secureProtocol through on tls.Server creation
The secureProtocol option to building the SSL context was not being properly
passed through in the credentials in the tls code. This is fixed.
2011-04-13 17:49:50 -07:00
Scott McWhirter
90348a616d Add os.cpus() and os.uptime() support for sunos 2011-04-13 17:42:54 -07:00
Ryan Dahl
2f98451561 Revert "Add os.cpus() and os.uptime() support for sunos"
Cherry-pick fail. Breaks linux. Will land again shortly.

This reverts commit e8cf98c841.
This reverts commit d953856d87.
This reverts commit 752bbd6b42.
2011-04-13 17:31:09 -07:00
Scott McWhirter
e8cf98c841 Add os.cpus() and os.uptime() support for sunos 2011-04-14 00:18:19 +00:00
Ryan Dahl
296ff04cdc Test to demonstrate #892 2011-04-13 12:49:13 -07:00
Brian White
ac1da4b407 Add remoteAddress and remotePort for client TCP connections
https://groups.google.com/d/topic/nodejs-dev/Asr87_YFSkg/discussion
2011-04-13 10:24:28 -07:00
koichik
9533e879f0 Fix Buffer.write() with UCS-2 should not be write partial char
closes #916.
2011-04-13 09:55:49 -07:00
Felix Geisendörfer
301f53c2aa Allow omission of end option for range reads
Problem: Sometimes it is useful to read a file from a certain position
to it's end. The current implementation was already perfectly capable
of this, but decided to throw an error when the user tried to omit
the end option. The only way to do this, was to pass {end: Infinity}.

Solution: Automatically assume {end: Infinity} when omitted, and remove
the previous exception thrown. Also updated the docs.

closes #801.
2011-04-13 09:46:28 -07:00
Ryan Dahl
af96447016 Modify text about buffer.write and partial chars
Fixes GH-913.
2011-04-13 01:27:00 -07:00
Nick Campbell
425b57bedc Lowercase protocol and hostname since casing isn't significant.
Signed-off-by: Nick Campbell <nicholas.j.campbell@gmail.com>
2011-04-13 01:10:47 -07:00
Jakub Lekstan
81cbd42cf5 Fixes the circular reference in vm modules.
Fixes the circular reference problem. Closes GH-822.
2011-04-12 15:51:57 -07:00
Ryan Dahl
9b3b37e498 Add docs about Buffer._charsWritten
Fixes GH-907.
2011-04-12 15:21:04 -07:00
Abe Fettig
83727a4c86 Fix bug where http response.readable was never set to false
Closes GH-867.
2011-04-12 14:55:18 -07:00
Felix Geisendörfer
bc8489580c Allow to remove all EventEmitter listeners at once
This patch adds support for calling EventEmitter#removeAllListeners
with no parameters in order to remove all listeners as once.

See discussion: https://groups.google.com/forum/#!topic/nodejs-dev/Mcyal1ThTHY

Closes GH-889.
2011-04-12 14:47:16 -07:00
Ryan Dahl
0f47f63746 Fix doc - no setBodyEnocoding anymore
Thanks Frederic. Closes GH-859.
2011-04-11 17:30:36 -07:00
koichik
682b66c0c1 Auto completion of built-in debugger suggests prefix match rather than partial match. 2011-04-11 17:28:28 -07:00
koichik
ca028f4b37 Fix docs: There were 2 descriptions of 'request' event. 2011-04-11 17:27:24 -07:00
Scott McWhirter
d953856d87 Remove extra kstat_open 2011-04-11 17:03:50 -07:00
Scott McWhirter
752bbd6b42 Add os.cpus() support for sunos 2011-04-11 17:03:50 -07:00
Ryan Dahl
d2298d225c Add documentation around module.exports and scope of global objects
Closes GH-852.
2011-04-11 17:01:25 -07:00
Ben Weaver
d63a551f86 Update how REPLServer uses contexts
* Always use `this.context` or `self.context`.
* Move `resetContext` to `REPLServer.createContext`.
* Add `REPLServer.resetContext`, memoize `context` here.
* Memoize `exports.repl` in `start`.

Closes GH-851.
2011-04-11 16:52:23 -07:00
Ryan Dahl
6b5a7033bb Merge branch 'v8-3.1' into v0.4 2011-04-11 16:08:10 -07:00
Ryan Dahl
0b1920b202 Upgrade v8 to 3.1.8.10 2011-04-11 16:07:54 -07:00
Ryan Dahl
9ccf0e527f Don't error on ENOTCONN from shutdown() 2011-04-11 15:33:24 -07:00
Ryan Dahl
bfa9db9dd6 Merge branch 'v0.4'
Conflicts:
	src/node_version.h
	test/simple/test-buffer.js
2011-04-03 23:42:56 -07:00
Ryan Dahl
dcc2dd5e1f Add example to sha1 docs 2011-04-03 01:09:00 -07:00
George Stagas
3002c01f40 Changed script to vm and corrected order to match index 2011-04-02 02:35:44 -07:00
George Stagas
21e3b668cb Added favicon.ico 2011-04-02 02:35:23 -07:00
Ryan Dahl
ffb3ee6084 Remove reference to CommonJS in documentation 2011-04-01 22:18:23 -07:00
Ryan Dahl
61d0b5af87 Now working on version v0.4.6 2011-04-01 19:06:41 -07:00
Ryan Dahl
787a343b58 Bump version to v0.4.5 2011-04-01 18:00:43 -07:00
isaacs
7ee8c5676b Modify futimes test to allow ENOSYS 2011-04-01 17:41:42 -07:00
isaacs
6d85da185c Closes GH-721 Set default host header properly
However, this test is failing for some quite unrelated issue.
Getting some odd "socket hangup" crashes, and only the first request
ever makes it to the server.
2011-04-01 17:40:41 -07:00
isaacs
e1a72f0e2e Closes GH-535 Immediate pause/resume race condition
Calling resume() immediately after calling pause() would trigger
a race condition where it would try to read() from a file
descriptor that was already being read from, causing an EBADF
2011-04-01 17:40:19 -07:00
isaacs
4d64f36338 Closes GH-310 Format slashes properly 2011-04-01 17:40:19 -07:00
Ryan Dahl
a7254f3df9 Revert "Disable compression with OpenSSL."
This reverts commit 362785f704.
2011-04-01 12:38:42 -07:00
Ryan Dahl
f2dd8dd2b9 Fix test/message/undefined_reference_in_new_context
Broke after 75db199.
2011-04-01 12:36:58 -07:00
Ryan Dahl
362785f704 Disable compression with OpenSSL.
This improves memory and speed. Users may apply compression in "userland"
above the CryptoStream layer if they desire.
2011-04-01 09:49:25 -07:00
Ryan Dahl
4877279efa Add timers to globals section
Closes GH-864.
2011-04-01 09:19:08 -07:00
Ryan Dahl
5c35dff419 Don't load root certs for each SSL context 2011-03-31 23:40:19 -07:00
Ryan Dahl
ad861e1354 Merge branch 'v8-3.1' into v0.4 2011-03-31 10:07:59 -07:00
Ryan Dahl
6631983dd1 Upgrade V8 to 3.1.8.8 2011-03-31 10:07:48 -07:00
Ryan Dahl
ed74db01f3 process.stderr.write should return true 2011-03-30 15:53:07 -07:00
Ryan Dahl
6394ba28c8 Add test for circular refs in deepEquals
Closes GH-207.
2011-03-30 10:18:58 -07:00
Ryan Dahl
75db1995b6 Don't conflict with V8's Script class
Closes GH-203.
2011-03-30 10:06:25 -07:00
Jorge Chamorro Bieling
e35b2d9617 docs: fs.read/write() cb()s now receive buffer 2011-03-29 12:23:42 -07:00
Ryan Dahl
038306a6c3 Closes GH-843. Fix SlowBuffer.prototype.slice 2011-03-29 10:47:14 -07:00
Ryan Dahl
1768c72135 Add doc note about STARTTLS 2011-03-29 09:58:50 -07:00
Ryan Dahl
c0b461d9a1 Increase TLS pool size for perf increase 2011-03-28 17:37:14 -07:00
Ryan Dahl
98b56636c0 Revert "Alphabetize the table of contents for the API docs"
This reverts commit a66e45693c.
2011-03-28 17:36:50 -07:00
Ryan Dahl
e9a1dd7930 Typo in docs
Thanks to Anatoliy Chakkaev for pointing it out.

Closes GH-841.
2011-03-28 15:59:43 -07:00
Brian White
a66e45693c Alphabetize the table of contents for the API docs 2011-03-28 15:56:39 -07:00
Ryan Dahl
2f2c9d47fd Remove strange unicode output in docs 2011-03-28 15:55:45 -07:00
David Trejo
6788ad413f See the <doc> section are now links to <doc>
Closes GH-839.
2011-03-28 15:53:17 -07:00
Ryan Dahl
978a50c500 Remove exterraneous line 2011-03-28 15:46:36 -07:00
Jorge Chamorro Bieling
e7604b1ea7 Retain buffers in fs.read/write()
Closes GH-814.
Closes GH-827.
2011-03-28 15:28:55 -07:00
Mikeal Rogers
2a65d29625 Fix listener leak in stream.pipe() 2011-03-28 11:19:44 -07:00
Ryan Dahl
73ebea7a4d Now working on v0.4.5 2011-03-26 02:00:11 -07:00
Ryan Dahl
25122b986a Bump version to v0.4.4 2011-03-26 01:48:02 -07:00
Ryan Dahl
77044ed5fa Turn off strictaliasing on solaris 2011-03-26 01:42:08 -07:00
Ryan Dahl
cbcb7fb019 Merge branch 'v8-3.1' into v0.4 2011-03-25 12:02:51 -07:00
Ryan Dahl
c8ee19a618 Upgrade V8 to 3.1.8.5 2011-03-25 12:02:38 -07:00
Arnout Kazemier
53bec1c862 Added support for removing .once listeners
Closes GH-806.
2011-03-25 11:51:29 -07:00
Ryan Dahl
0fb44a2f93 Add jobs.nodejs.org link 2011-03-23 19:24:09 -07:00
Ryan Dahl
69c3e1961b Remove asciiSlice from docs 2011-03-23 15:02:11 -07:00
Zachary Scott
2b2736153d clean up whitespace in examples 2011-03-22 14:39:30 -07:00
Zachary Scott
67913a0232 writable stream api has destroySoon() for exiting after data queue has been drained 2011-03-22 14:38:59 -07:00
Trevor Burnham
5e78f57087 Doc fix for fs.write
Closes GH-808
Closes GH-811
2011-03-22 14:34:25 -07:00
Trevor Burnham
f0d0fcc4aa Clarifying that writeFile replaces existing file 2011-03-22 14:33:23 -07:00
Trevor Burnham
3ec391ba36 Correcting typo in docs: 'deprecated', not 'depreciated' 2011-03-22 14:33:23 -07:00
Ryan Dahl
4cc0a0878f Better ifdef for futimes 2011-03-22 20:19:42 +00:00
isaacs
7bff70268a signage warning, and add v8::namespace 2011-03-22 13:16:45 -07:00
Ryan Dahl
7a8c729830 Merge branch 'v0.4'
Conflicts:
	src/node_version.h
2011-03-22 13:12:07 -07:00
Ryan Dahl
8b33a1d8e4 Guard failed buffer constructions.
Thanks to Jeremy Barnes for pointing it out.
2011-03-22 13:10:53 -07:00
Ryan Dahl
f63120be78 Fix solaris build 2011-03-22 20:07:18 +00:00
Ryan Dahl
391f087981 Fix setsid in tty.open
Thanks to Leen Besselink for pointing this out.
Closes GH-815.
2011-03-22 12:02:35 -07:00
Ryan Dahl
24f9bf4180 expose https.Agent 2011-03-22 11:24:00 -07:00
Ryan Dahl
d7a86ff05e Fix GH-819. Drop out if connection destroyed before connect() 2011-03-21 14:48:26 -07:00
Ryan Dahl
7e28630f5e Fix GH-820. CryptoStream.end shouldn't throw if not writable
This matches the behavior of net.Socket
2011-03-21 14:36:49 -07:00
Ryan Dahl
4198de280f Add video to index.html 2011-03-20 18:07:29 -07:00
Ryan Dahl
99068639d9 add demo to home page 2011-03-19 20:28:31 -07:00
Ryan Dahl
c8f5bf88e1 Use feedburner instead of wordpress 2011-03-18 15:49:26 -07:00
Ryan Dahl
4ae5e085ff Now working on v0.4.4 2011-03-18 15:19:12 -07:00
Ryan Dahl
c095ce1a1b bump version to v0.4.3 2011-03-18 14:25:20 -07:00
Ryan Dahl
5b161b09a3 Merge branch 'v8-3.1' into v0.4 2011-03-18 14:24:37 -07:00
Ryan Dahl
53dc74e12f Upgrade V8 to 3.1.8.3 2011-03-18 14:22:52 -07:00
Ryan Dahl
aeed966fe0 Don't call GetMemoryUsage every 5 seconds 2011-03-18 11:39:44 -07:00
koichik
5ccdff48f3 Document 'ucs2' encoding for Buffer 2011-03-18 11:23:37 -07:00
Aaron Heckmann
a4dad95be3 EventEmitter#once only takes instanceof function 2011-03-18 11:18:40 -07:00
Brian White
52b9ede6db Add helpful error message for setuid/setgid when user/group id does not exist 2011-03-18 11:15:02 -07:00
Ryan Dahl
602a4637bf Merge branch 'v0.4'
Conflicts:
	src/node_version.h
2011-03-18 11:11:43 -07:00
Dean McNamee
f67e8f243c Export more functions for initializing and starting node.
For greater flexibility in controlling node's initialization and startup, the
following new functions are exported.

  - node::Init()
  - node::SetupProcessObject()
  - node::Load()
  - node::EmitExit()

These are some of the major steps involved in node::Setup().  Exporting these
functions allows an embedding program to write a replacement for node::Start(),
and to have access to the node process object after it's created.
2011-03-18 11:11:25 -07:00
Dean McNamee
4a6f4511c8 Don't override explicit openssl paths with pkg-config results. 2011-03-18 11:11:10 -07:00
Ryan Dahl
66570c1964 Fix double free of parser on error in http.Agent.
Thanks to Stéphan Kochen for the fix and Maurice Fonk for reproducing the
bug.

Closes GH-784.
Closes GH-803.
2011-03-18 10:42:43 -07:00
Ryan Dahl
975d020286 Fix gcc version checking for aliasing features 2011-03-18 10:01:45 -07:00
Ryan Dahl
af923154e2 hello.txt should be stored in tmpdir 2011-03-18 09:14:15 -07:00
Ryan Dahl
f10150bc6a Don't use https for blog.nodejs.org 2011-03-17 13:49:32 -07:00
Ryan Dahl
c02db3229e Link to Node blog 2011-03-17 13:38:44 -07:00
Ryan Dahl
b368a3b438 Remove bad assert in GetInterfaceAddresses 2011-03-17 12:49:47 -07:00
Daniel Ennis
911cbd0cef Add support for file descriptor type detection.
setImplementationMethods checks the type of a socket and defines different
behavior based on the type, so auto detect it if type not implicitly
specified.
2011-03-17 10:35:47 -07:00
Ryan Dahl
19e53512b8 os.getNetworkInterfaces() 2011-03-16 16:34:12 -07:00
Ryan Dahl
6111c17a0e correct hexSlice end 2011-03-15 11:42:23 -07:00
isaacs
3c9fb3ec1a Fix invalid end handling for SlowBuffer#hexSlice 2011-03-15 11:39:11 -07:00
Ryan Dahl
4a9f2de956 Allow script to be read from stdin 2011-03-15 10:50:24 -07:00
Ryan Dahl
59f7232a30 Simplify startup function in src/node.js 2011-03-15 10:35:49 -07:00
Ryan Dahl
566c67b758 Working on v0.4.3-pre - oops 2011-03-15 02:53:59 +00:00
Ryan Dahl
61fdfcb137 Fix comment in node_provider.d 2011-03-15 02:50:52 +00:00
Ryan Dahl
ab190d38b7 Fix buffer.toString('hex') 2011-03-14 18:24:28 -07:00
Ryan Dahl
3c0dd8196a Fix test-process-uptime.js test 2011-03-14 17:50:24 -07:00
Ryan Dahl
247d880113 Merge branch 'v0.4'
Conflicts:
	src/node_version.h
2011-03-14 17:45:15 -07:00
Ryan Dahl
55048cdf79 Update copyright headers 2011-03-14 17:37:05 -07:00
Ryan Dahl
36e75b7351 Fix HTTP agent disconnection problem
https://groups.google.com/forum/#!topic/nodejs-dev/V5fB69hFa9o

Closes GH-787.
2011-03-14 14:47:41 -07:00
Felix Geisendörfer
9d4c5a12f4 Crypto update should only accept strings / buffers
I have seen a lot of people trying to pass objects to crypto's update
functions, assuming that it would somehow serialize the object before
hashing.

In reality, the object was converted to '[object Object]' which was
then hashed, without any error message showing.

This patch modifies the DecodeBytes function (used exclusively by
crypto at this point) to complain when receiving anything but a
string or buffer.

Overall this should be a less-suprising, more robust behavior.
2011-03-14 13:16:31 -07:00
Ryan Dahl
2a05fe784d Do not use defineGetter in src/node.js for better crankshaft perf
See: https://groups.google.com/d/topic/nodejs/xJqpp1_s6is/discussion
2011-03-14 12:48:37 -07:00
Theo Schlossnagle
e3925b741c TLS: Finer locks on _cycle.
Data being sent out of order.
2011-03-14 12:05:25 -07:00
Ryan Dahl
2e40328c82 Extend OpenSSL expiration dates 2011-03-14 11:30:21 -07:00
koichik
414fa4abae Better type checks for fd in net.js 2011-03-11 16:34:12 -08:00
koichik
113b1e6e0c Fix GH-746 process.stdin.destroy() breaks http server 2011-03-11 16:33:07 -08:00
Theo Schlossnagle
2a61e1cd49 without this the server will not advertise support for client certs
Closes GH-774.
2011-03-11 16:14:39 -08:00
Ryan Dahl
12c02b378d Use pthread_kill for V8/Solaris sampling 2011-03-11 03:08:42 +00:00
Ryan Dahl
6802c90d1f Sample correct registers on Solaris
http://codereview.chromium.org/6676019/
2011-03-11 03:06:43 +00:00
Ryan Dahl
97853e07de Use default backend for __sun (event ports) 2011-03-11 03:04:25 +00:00
Ben Noordhuis
594642b31d Buffer::Length(Buffer*) should not invoke itself recursively.
Closes GH-759.
2011-03-10 14:06:01 -08:00
Ryan Dahl
9a8e843ca3 Document options for https.request
Closes GH-768.
2011-03-10 13:34:50 -08:00
Ryan Dahl
e14aa64591 Fix V8 runtime profiler for solaris 2011-03-10 12:48:49 -08:00
koichik
4e047d32b0 Document net.Socket() constructor 2011-03-10 10:57:47 -08:00
Ryan Dahl
62f06fb885 CryptoStream.prototype.destroySoon shouldn't die if not writable 2011-03-09 10:53:06 -08:00
Ryan Dahl
161f7aacf7 Add missing v8:: namespace prefix 2011-03-09 10:07:25 -08:00
Tom Hughes
2c185a9dfd Use higher resolution clock for uptime on Linux (if available). 2011-03-09 09:16:11 -08:00
Tom Hughes
74954ce7d8 Add string class that uses ExternalAsciiStringResource.
Change the natives to use this class instead of creating completely new
strings. Reduces memory usage by about 1 MB.
2011-03-08 13:56:41 -08:00
Tony Huang
502900c0bc add path.relative 2011-03-08 11:03:21 -08:00
Ryan Dahl
81d3de7e6d setMaxListeners should initialize _events 2011-03-07 13:16:00 -08:00
Tom Hughes
7a272d92e3 cmake: explicitly disable fdatasync when building for OSX.
This ensures that the check_function_exists() for fdatasync in the
libeio CMakeLists.txt is not run, since that fails on some versions of
OSX (http://public.kitware.com/Bug/view.php?id=10044).
2011-03-07 10:47:29 -08:00
Tom Hughes
cf78ce59b3 Add process.uptime(). 2011-03-07 10:45:25 -08:00
koichik
db6ea10948 Correct some links 2011-03-07 10:17:54 -08:00
koichik
07426ef29c Document allowHalfOpen for net.createServer() 2011-03-07 10:17:22 -08:00
Andreas Reich
5e91042fcb Don't decrease server connection counter again if destroy() is called more than once
Test: Anders Conbere <aconbere@gmail.com>
Fix: Andreas Reich <andreas@reich.name>

Closes GH-431.
Closes GH-502.
2011-03-04 15:45:12 -08:00
Ryan Dahl
39280e1b57 Bump version to v0.4.2 2011-03-02 22:10:26 -08:00
Ryan Dahl
fbe36a7ca9 Revert "Closes GH-85 Emit error rather than throwing."
This reverts commit f3d364122d.

Landed in master instead.
2011-03-02 22:10:16 -08:00
isaacs
11a06fe1e4 Closes GH-85 Emit error rather than throwing.
Since "error" events will throw when unhandled anyhow, it makes no sense
to throw from an EventEmitter's method, especially for such a minor
misdemeanor as attempting to write to a non-writable stream.
2011-03-02 22:09:39 -08:00
Ryan Dahl
ca8be39b9e Disable test-http-agent2.js for the moment
Still broken.
2011-03-02 21:21:29 -08:00
Bert Belder
b3884c574b Autodetect no-strict-aliasing, propagate toolchain option to SCons
BUG=v8:884
2011-03-02 21:06:17 -08:00
Ryan Dahl
14475c77a6 Upgrade V8 to 3.1.8 2011-03-02 21:04:37 -08:00
Tom Hughes
cf7b680db9 newline should also be treated as "enter" key. 2011-03-02 21:00:06 -08:00
Ben Noordhuis
1d5ff15a46 fs.utimes() and fs.futimes() support. 2011-03-02 20:35:45 -08:00
koichik
452df69964 Correct net.createServer() API docs 2011-03-02 12:10:36 -08:00
koichik
4e7c37b87c Fix fs.WriteStream.end(data, [encoding]) throws TypeError 2011-03-01 10:49:20 -08:00
Ryan Dahl
4ab5476e89 SIGUSR1 should break the VM without delay 2011-03-01 09:59:17 -08:00
Ryan Dahl
5f95d9a75d Remove -Werror from V8 2011-02-28 12:58:15 -08:00
isaacs
bc8e9b340d Closes GH-734 Do the setuid() after chdir() 2011-02-28 12:37:59 -08:00
Bert Belder
4a34692903 Autodetect no-strict-aliasing, propagate toolchain option to SCons
BUG=v8:884
2011-02-28 11:30:07 -08:00
Ryan Dahl
6442cbef20 Upgrade V8 to 3.1.7 2011-02-28 11:29:33 -08:00
Ryan Dahl
a14bb04c05 tty.setWindowSize should use the correct function
Thanks to Matthew Woolman
2011-02-28 11:19:10 -08:00
Felix Geisendörfer
0304f1fc22 Expose errno with a string for dns/cares
This is to mirror the behavior introduced in
aa95e5708f.

Closes GH-727.
2011-02-28 09:54:16 -08:00
isaacs
d664bf376d Closes GH-711 URL parse more safely
This does 3 things:

1. Delimiters and "unwise" characters are never included in the
   hostname or path.
2. url.format will sanitize string URLs that are passed to it.
3. The parsed url's 'href' member will be the sanitized url, which may
   not match the argument to url.parse.
2011-02-27 17:17:40 -08:00
isaacs
3599c71dae Closes GH-690 node_modules folders should be highest priority 2011-02-27 17:14:16 -08:00
isaacs
a48f73d0d3 Closes GH-232 Make the repl's global the right thing 2011-02-27 17:13:52 -08:00
isaacs
f3d364122d Closes GH-85 Emit error rather than throwing.
Since "error" events will throw when unhandled anyhow, it makes no sense
to throw from an EventEmitter's method, especially for such a minor
misdemeanor as attempting to write to a non-writable stream.
2011-02-27 17:08:14 -08:00
isaacs
2cfe7b847d Closes GH-184 Clear require cache on repl .clear 2011-02-27 17:07:08 -08:00
koichik
0a51a6d3ac Fix process.stdout.end() throws ENOTSOCK error. 2011-02-27 13:06:08 -08:00
Ryan Dahl
8838e14ac0 Merge branch 'v0.4' 2011-02-25 16:48:48 -08:00
Ryan Dahl
f918e57f8b Support dtrace for debug build 2011-02-25 16:48:19 -08:00
Russell Haering
7276ff9822 http: fix missing 'drain' events 2011-02-24 17:39:59 -08:00
Ryan Dahl
ea9f5b110a Add 'close' and 'aborted' events to Agent responses
Closes GH-722.
2011-02-24 17:16:13 -08:00
Ryan Dahl
360885a7e9 deprecate http.cat 2011-02-24 17:06:46 -08:00
Ryan Dahl
839fb8e19b typos 2011-02-24 16:36:43 -08:00
Nathan Rajlich
a9a252fda9 Read up the prototype of the 'env' object.
Closes GH-713.
2011-02-24 16:36:23 -08:00
Aria Stewart
8a50f23fd3 Add support for specifying the libdir
Some OSes use "lib64" rather than "lib", and this lets them override
in waf to accomplish this.

Closes GH-712.
2011-02-24 16:28:45 -08:00
Aria Stewart
fd713e1dc7 libeio and http_parser build with PIC code
Fix building as a shared library

Closes GH-708.
2011-02-24 16:19:43 -08:00
Felix Geisendörfer
66601f13d9 Do not cache modules that throw exceptions
If a module throws an exception on load, it should not be cached.
This patch shows the problem in a test case and also fixes it.

See: https://groups.google.com/forum/#!topic/nodejs-dev/1cIrvJcADbY

Closes GH-707
Closes GH-710
2011-02-24 16:14:04 -08:00
Ryan Dahl
a2f498a5ef Revert "Add extra debug print statement to tls.js"
This reverts commit 340291c085.

sometimes circular. would break node_g tests.
2011-02-24 15:59:40 -08:00
Ryan Dahl
1f50d711b2 Fix memleak in vm.runInNewContext
Closes GH-704.
2011-02-24 15:46:55 -08:00
Bert Belder
df15472d34 Autodetect no-strict-aliasing, propagate toolchain option to SCons
BUG=v8:884
2011-02-24 13:47:14 -08:00
Ryan Dahl
e33e7d1a37 Upgrade V8 to 3.1.6 2011-02-24 13:14:59 -08:00
Felix Geisendörfer
2680522d3a Fix ReadStream bufferSize docs
The default is 64kb buffer, not 4kb.

Closes GH-702.
2011-02-24 12:46:17 -08:00
Felix Geisendörfer
06ac129903 Document existence of fd property for ReadStream
Closes GH-194.
Closes GH-701.
2011-02-24 12:44:21 -08:00
Felix Geisendörfer
f423ec90fc In addition to 'aborted' emit 'close' from incoming requests
Closes GH-160.
2011-02-24 12:41:51 -08:00
Ryan Dahl
5287703cce Pragma HTTP header comma separation
Closes GH-715, GH-716.
2011-02-24 12:02:22 -08:00
Ryan Dahl
b309192ffd Use default backend for __sun (event ports) 2011-02-23 17:04:21 -08:00
Ryan Dahl
45adc907c9 ry/node -> joyent/node 2011-02-23 16:38:34 -08:00
Ryan Dahl
340291c085 Add extra debug print statement to tls.js 2011-02-23 16:38:30 -08:00
cloudhead
a91b140963 fix process.on edge case with signal event
When adding a listener for a signal event, removing it, and
adding it back again, it triggers a condition with an
undefined variable.
2011-02-23 12:57:05 -08:00
Ryan Dahl
0248c87ec7 improve hello-world example on website 2011-02-23 12:56:50 -08:00
Ryan Dahl
ab144f4843 Add TODO item 2011-02-23 04:43:13 -08:00
Ryan Dahl
47f5fd01e1 Add example to TTY documentation 2011-02-20 13:53:40 -08:00
Ryan Dahl
df215a67d4 Document path.existsSync()
Closes GH-677.
2011-02-20 13:11:55 -08:00
Ryan Dahl
4ed6688010 Add V8 options to man page 2011-02-19 20:56:20 -08:00
Ryan Dahl
7dad30afe9 Merge branch 'v0.4'
Conflicts:
	src/node_version.h
2011-02-19 19:26:56 -08:00
isaacs
0aa1a8a005 Closes GH-695 Add 'hex' encoding to Buffer 2011-02-19 19:24:23 -08:00
Ryan Dahl
e5a472229b Now working on v0.4.2 2011-02-19 19:06:10 -08:00
Ryan Dahl
e8aef84191 Bump version to v0.4.1 2011-02-19 18:45:34 -08:00
Ryan Dahl
c2a62951f6 TLS sockets should not be writable after 'end'
Closes GH-694.
2011-02-19 18:25:15 -08:00
Ryan Dahl
c72ae27be1 test-tls-securepair-server: don't shutdown stdout 2011-02-19 16:56:56 -08:00
isaacs
8b9dbdad27 Closes GH-687 Don't read fs read stream if not open 2011-02-19 16:38:21 -08:00
Brian White
1efac74958 Fix os.cpus() on cygwin 2011-02-19 15:14:07 -08:00
Ryan Dahl
98515742b7 Merge branch 'v0.4' 2011-02-18 14:01:34 -08:00
Ryan Dahl
1fce3f0ef8 Add startup memory script to benchmarks 2011-02-18 14:01:04 -08:00
Ryan Dahl
ebfc90b505 Remove test-http-eof-before-eom - wasn't testing anything important 2011-02-18 11:30:52 -08:00
Ryan Dahl
26e580bbc4 Use console.error in test-timers
In attempt to understand buildbot failures.
2011-02-18 11:20:45 -08:00
Tom Hughes
3313ff1d1b cmake: dtrace support. 2011-02-18 10:45:25 -08:00
Tom Hughes
9d49c93cb5 cmake: Add gdbjit and oprofile options. 2011-02-18 10:45:17 -08:00
Tom Hughes
de2686c3e1 cmake: cleanup. 2011-02-18 10:45:04 -08:00
Tom Hughes
8bedde464f cmake: Fix mac snow leopard build. 2011-02-18 10:44:58 -08:00
Tom Hughes
6a594fed96 cmake: set pre and post memcheck commands.
We need to clear out and re-create the tmp directory when running
valgrind just like for the normal test run.
2011-02-18 10:44:36 -08:00
isaacs
f8defa3e09 package.json main as indexed subdir
Closes GH-686.
2011-02-18 10:43:06 -08:00
Ryan Dahl
aac5cbe025 HTTP Agent sockets should not reconnect on error
Closes GH-684.
2011-02-18 10:40:09 -08:00
Ryan Dahl
9b0c7618c5 HTTP Agent should not die on evil server
Closes GH-680.
2011-02-18 00:42:07 -08:00
Matt Ranney
ab969bfaf8 Add failing test for broken HTTP responses with extra bytes.
For GH-680.
2011-02-18 00:08:05 -08:00
Ryan Dahl
15a6aa7500 Add more broken tests 2011-02-17 21:06:16 -08:00
Ryan Dahl
7e4f755073 Install node.d in the correct place 2011-02-17 11:07:19 -08:00
Bert Belder
25ce5016f4 Fix test runner bug on windows 2011-02-17 10:52:28 -08:00
Bert Belder
874321298b Make libev work on MinGW again 2011-02-17 10:47:04 -08:00
Bert Belder
a5e67ad9e7 Autodetect no-strict-aliasing, propagate toolchain option to SCons
BUG=v8:884
2011-02-17 10:46:38 -08:00
Ryan Dahl
7f78e5857f Move test-tls-throttle to pummel 2011-02-16 18:12:08 -08:00
Ryan Dahl
19b4c27ebf TLS: Make _cycle reentrant. 2011-02-16 18:10:53 -08:00
Ryan Dahl
89bfa419a5 Make test-http-curl-chunk-problem more portable
Use 'openssl sha1' instead of 'shasum'
2011-02-16 13:17:19 -08:00
Ryan Dahl
e0e52f930e Remove artificial timeout from test-https-large-response 2011-02-16 12:22:48 -08:00
Ryan Dahl
470ebe249f Upgrade libev to 4.4 2011-02-16 12:07:58 -08:00
Bert Belder
b1664daeb9 V8 Cygwin support 2011-02-16 12:04:44 -08:00
Ryan Dahl
550f73ae3e Upgrade V8 to 3.1.5 2011-02-16 10:38:49 -08:00
Bert Belder
3ef6433255 MinGW: OpenSSL support 2011-02-15 20:15:46 -08:00
Ryan Dahl
c365f56061 https was missing 'end' event sometimes
Closes GH-671.
2011-02-15 17:13:53 -08:00
Tj Holowaychuk
42a369620f Fixed null signal preservation
Closes GH-674.
2011-02-15 16:35:50 -08:00
Ryan Dahl
60ad3aa917 Disable test-tls-large-push, taking too long 2011-02-15 14:06:23 -08:00
Felix Geisendörfer
e56ee67e13 Refactor fs.open parameter handling
Improvements:
* Removes an unnecessary variable
* Avoids having two variables with the same name
* Avoids re-declaring an existing parameter
* Removes an unnecessary ternary operator
* Avoid an inline short-circuit expression for greater clarity.
2011-02-15 13:57:54 -08:00
Felix Geisendörfer
aabdd5d045 Correct fs.open API documentation
The fact that the mode parameter is optional for fs.open and
fs.openSync was not documented.
2011-02-15 13:57:41 -08:00
Felix Geisendörfer
29b0dc4ec8 Fix: fs.open callback did not fire
Problem: Omitting the mode parameter causes the provided callback
parameter to never fire. This was originally fixed in 6078c37b and
later broken in 5f2e9093.

Solution: Overwriting the value of a parameter also overwrites the
reference in the arguments object. This patch works arround this
fact by not touching the mode parameter until a reference to the
callback has been established.
2011-02-15 13:50:59 -08:00
Bert Belder
a293f90db4 Improve V8 support for Cygwin
Should re-enable crankshaft; can build w/ snapshot again.
2011-02-15 12:29:59 -08:00
Ryan Dahl
77ae87d367 default to port 80 for http.request 2011-02-15 12:08:26 -08:00
Ryan Dahl
0474ce6790 Revert "buffer.toString() shouldn't include null values"
This reverts commit 909a5b39d2.

Will fix inside V8's String::New instead.
2011-02-15 12:07:43 -08:00
Ryan Dahl
ad7c2a8938 escape chars on man page 2011-02-14 18:37:43 -08:00
Ryan Dahl
daeb5c9e8f fix doc
thanks Toshihiro
2011-02-14 18:35:36 -08:00
Ryan Dahl
bd094103d7 Add script for running V8 benchmarks 2011-02-14 17:26:54 -08:00
Richard Rodger
b11d78b386 Fix for DNS fail in HTTP request
Closes GH-653.
2011-02-14 16:36:23 -08:00
Ryan Dahl
909a5b39d2 buffer.toString() shouldn't include null values 2011-02-14 14:27:02 -08:00
Ryan Dahl
f11e730444 Working on v0.5.0 2011-02-14 14:27:00 -08:00
isaacs
f07041e6cd Make the repl respect node_modules folders.
This is important so that in the future, this will work:

    $ cd ~/dev/js/some-project
    $ npm install redis
    $ node
    > require.resolve('redis')
    '/Users/isaacs/dev/js/some-project/node_modules/redis/index.js'
2011-02-14 13:43:22 -08:00
Tj Holowaychuk
fe838611f6 Fixed field merging with progressive fields on writeHead() 2011-02-14 13:40:31 -08:00
Ryan Dahl
c6712ced20 Add newline to platform-cygwin.cc 2011-02-14 09:36:28 -08:00
Ryan Dahl
5ceefec820 Add http client to v0.4 announcement 2011-02-14 09:36:08 -08:00
Ryan Dahl
485ce139fd Now working on v0.4.1 2011-02-14 09:36:02 -08:00
Ryan Dahl
eb155ea6f6 Bump version to v0.4.0 2011-02-10 02:40:11 -08:00
Tim Caswell
b09c5889be Add support for mutable/implicit headers for http.
This works for both ServerResponse and ClientRequest.
Adds three new methods as a couple properties to to OutgoingMessage objects.
Tests by Charlie Robbins.

Change-Id: Ib6f3829798e8f11dd2b6136e61df254f1564807e
2011-02-10 02:31:41 -08:00
Theo Schlossnagle
01a864a29d TLS: CRL support
Needs more tests.
2011-02-10 00:49:15 -08:00
Mikeal Rogers
634e7236f7 Add 'pipe' event 2011-02-09 23:04:35 -08:00
Bert Belder
583f2e5999 Follow-up fix for v8 cygwin build 2011-02-09 21:55:59 -08:00
Bert Belder
fd013d17a2 V8 cygwin support 2011-02-09 19:13:31 -08:00
Ryan Dahl
67e352e4b1 fix verifier.verify() docs
Thanks Sitelier. Closes GH-651.
2011-02-09 19:07:19 -08:00
Ryan Dahl
e9257b859d New DTrace probes from CA team 2011-02-09 18:50:26 -08:00
Ryan Dahl
778fb859c6 New keys, agent1-cert.pem was expired 2011-02-09 18:30:47 -08:00
Ryan Dahl
8cd07bb273 TLS: handle cert chains 2011-02-09 17:51:05 -08:00
Ryan Dahl
43bc1d7ec8 Edit module docs 2011-02-09 17:48:22 -08:00
isaacs
ff39d413a3 Document module loading 2011-02-09 17:34:21 -08:00
Bert Belder
35e32225d1 Workaround for V8 bug 884
See http://code.google.com/p/v8/issues/detail?id=884
2011-02-09 14:53:15 -08:00
isaacs
81b4d45354 Better assert in the node_modules tests 2011-02-09 14:35:08 -08:00
isaacs
46513483cd node_modules module lookup, +docs and test. 2011-02-09 14:24:22 -08:00
Ryan Dahl
dafd6d9137 TLS: Don't give up if you can't write 0 bytes 2011-02-09 13:27:23 -08:00
Ryan Dahl
a0702b54d1 Upgrade V8 to 3.1.2 2011-02-09 10:24:26 -08:00
Ryan Dahl
a48a075535 better debug messages in net and tls 2011-02-09 10:23:26 -08:00
Ryan Dahl
56ab929c55 Remove unused parameter from crypto::Handle*Error 2011-02-09 01:30:31 -08:00
Bert Belder
8d70294c31 Fix fs.realpathSync on windows 2011-02-08 21:24:30 -08:00
Bert Belder
36846f9b6b Windows: child process fixes 2011-02-08 21:21:39 -08:00
Ryan Dahl
519dc2c114 tls: split bio errors from ssl errors 2011-02-08 21:15:55 -08:00
isaacs
9bed5dcb2c Support caching for realpath, use in module load
This adds support for a cache object to be passed to the
fs.realpath and fs.realpathSync functions.  The Module loader keeps an
object around which caches the resulting realpaths that it looks up in
the process of loading modules.

This means that (at least as a result of loading modules) the same files
and folders are never lstat()ed more than once.  To reset the cache, set
require("module")._realpathCache to an empty object.  To disable the
caching behavior, set it to null.
2011-02-08 18:02:59 -08:00
Ryan Dahl
9de5043b50 tls: only emit data after 'secure' event 2011-02-08 17:29:33 -08:00
Bert Belder
38d8cd60ea Don't make unnecessary getcwd calls from path.resolve 2011-02-08 14:30:24 -08:00
Ryan Dahl
6b50a9f5f4 (won't) fix test-next-tick-ordering 2011-02-07 21:15:58 -08:00
Ryan Dahl
448e0f4394 tls fixes 2011-02-07 21:11:43 -08:00
Bert Belder
61af4207da Fix dns on windows 2011-02-07 15:30:17 -08:00
Ryan Dahl
3ec030535c stderr should be EventEmitter even if it doesn't emit anything 2011-02-07 15:14:21 -08:00
isaacs
2e6a263e29 Closes GH-609 Support array-ish args to Buffer ctor
Any array-ish thing (whether a Buffer, an Array, or just an object with
a numeric "length") is interpreted as a list of bytes.
2011-02-07 14:13:18 -08:00
isaacs
5f2e90934e Support octal strings for modes
This allows the various fs utilities and process.umask to be used in
ECMAScript 5 Strict Mode, where the octal literal format is verboten,
without requiring users to litter their code with a bunch of parseInt
calls.
2011-02-07 14:05:06 -08:00
Ryan Dahl
57fa247f53 Closes GH-645. Document tty.getWindowSize 2011-02-07 13:46:15 -08:00
Konstantin Käfer
9e101f2b01 UCS-2 support
Closes GH-644.
2011-02-07 13:35:06 -08:00
Ryan Dahl
bf8f4aa966 Impove fs.WatchFile doc 2011-02-07 13:11:03 -08:00
Russell Haering
e6ede31554 http: fix buffer writes to outgoing messages 2011-02-07 12:59:25 -08:00
Daniel Gröber
71a8a3b78c cmake fixes
Closes GH-640.
2011-02-07 12:52:20 -08:00
Ryan Dahl
a98d0717e8 Remove incorrect doc about node_modules 2011-02-07 12:50:05 -08:00
isaacs
da2f4b2dc4 support for package.json
This adds basic support for situations where there is a package.json
with a "main" field.  That "main" module is used as the code that is
loaded when the package folder is required.
2011-02-07 11:00:22 -08:00
koichik
45c0faf399 corrected small typos 2011-02-07 10:52:19 -08:00
Mikeal Rogers
2b03ba5917 http: agent takes options instead of host, port pair 2011-02-05 02:35:44 -08:00
Ryan Dahl
0da96cca59 typo 2011-02-04 23:05:25 -08:00
Ryan Dahl
30f24bb2df Now working on v0.4.0 2011-02-04 19:54:18 -08:00
Ryan Dahl
9493b7563b Bump version to v0.3.8 2011-02-04 19:35:43 -08:00
Ryan Dahl
4733d0b1f0 http: handle aborts 2011-02-04 18:07:00 -08:00
Ryan Dahl
c783aefb0f http-parser: Error on EOF errors 2011-02-04 18:07:00 -08:00
Ryan Dahl
e42c74e141 Upgrade http-parser 2011-02-04 18:03:26 -08:00
Bert Belder
f99fc29e62 Fix mingw build 2011-02-04 14:49:50 -08:00
Bert Belder
6329633a3e Windows: open files in binary mode 2011-02-04 14:43:41 -08:00
Ryan Dahl
aa95e5708f Expose errno with a string. 2011-02-04 14:41:51 -08:00
Ryan Dahl
1a7830a92a Fix debug flag in timers.js 2011-02-04 09:00:21 -08:00
Ryan Dahl
c10caca34c Style 2011-02-03 16:58:05 -08:00
isaacs
2f1f22ab26 module: define functions only once. 2011-02-03 14:23:28 -08:00
Bert Belder
8ee9c53c77 Fix problem with libev/select on windows.
Patch by Marc Lehmann.
This fix should be included in the next libev release.
2011-02-03 14:05:51 -08:00
Bert Belder
d8d627e2d4 Revert "Workaround for libev handle caching bug on windows"
This reverts commit 25d0e38048.
2011-02-03 14:05:40 -08:00
Ryan Dahl
bc23ec8d05 Add process.stderr stream 2011-02-03 14:03:44 -08:00
Ryan Dahl
f6e5b8986f Clean up 2011-02-03 12:28:20 -08:00
Ryan Dahl
97f7c06451 TLS: fix throttling
Re-enable test-https-large-response.js

Closes GH-614.
2011-02-03 12:20:19 -08:00
Ryan Dahl
3e58696c07 TLS: Simplify error handling 2011-02-02 15:39:03 -08:00
Ryan Dahl
41b4ec7952 TLS: flush buffer before destroy
Also disable test-https-large-response.js. Covered by
test/simple/test-tls-throttle.js
2011-02-02 15:34:21 -08:00
Ryan Dahl
e6f14d6df5 (suck, blow) -> (pull, push) 2011-02-02 14:51:53 -08:00
Ryan Dahl
ee092f62ca Upgrade V8 to 3.1.1 2011-02-02 11:44:25 -08:00
isaacs
f86ec1366f Closes GH-619 Make require.main be the main module 2011-02-02 11:18:34 -08:00
Ryan Dahl
807fca6803 TLS: Set ssl.receivedShutdown after each read
Closes GH-613.
2011-02-01 14:40:17 -08:00
Ryan Dahl
2ff593ad23 TLS: better error reporting at binding layer
Closes GH-612.
2011-02-01 14:14:50 -08:00
Jorge Chamorro Bieling
ff7fc093a1 Longer nexttick ordering test
Closes GH-604.
2011-02-01 10:23:03 -08:00
Joe Walnes
df6e497793 dgram: setMulticastTTL, setMulticastLoopback and addMembership.
These are options needed for real-world multicasting.

Implementation notes:
- POSIX only.
- IPv4 only (IPv6 multicast is a tricky beast).
- Didn't update tests, because it can't effectively be demonstrated on
  localhost only.
2011-02-01 10:16:48 -08:00
Ryan Dahl
3e5b568504 TLS: Add _pendingBytes() 2011-01-31 17:29:11 -08:00
Ryan Dahl
33e8e3d799 Add simpler failing tls throttle test 2011-01-31 16:38:05 -08:00
Ryan Dahl
45b30a879b tls: superficial clean up 2011-01-31 16:37:29 -08:00
Bert Belder
9526fef626 Workaround for V8 bug 884
See http://code.google.com/p/v8/issues/detail?id=884
2011-01-31 13:26:46 -08:00
Ryan Dahl
0634e3a8bc Upgrade V8 to 3.1.0 2011-01-31 13:19:50 -08:00
Ryan Dahl
c501785112 Make availability of UDP bindings more apparent 2011-01-31 11:20:05 -08:00
Ryan Dahl
9f3a20c76d net: Add hook for when writeQueue changes 2011-01-31 11:01:59 -08:00
Ryan Dahl
ef123600ce Add artificial timeout to broken test-https-large-response 2011-01-31 10:44:08 -08:00
Ryan Dahl
6ede26cb9c Add socket.bufferSize 2011-01-31 10:41:52 -08:00
Tim Caswell
845df3cd2e Slightly throttle https large body test 2011-01-28 14:35:20 -08:00
Ryan Dahl
fda70b8b90 getaddrinfo exists on windows 2011-01-28 13:40:41 -08:00
Ryan Dahl
43d818a19c Fix version 2011-01-28 13:09:01 -08:00
Ryan Dahl
192d2e0803 REPL: disable colors in windows for now 2011-01-28 12:58:19 -08:00
Bert Belder
88947dc4f0 Workaround for V8 bug 884
See http://code.google.com/p/v8/issues/detail?id=884
2011-01-28 12:53:09 -08:00
Ryan Dahl
7eaa956bae Upgrade V8 to 3.0.12 2011-01-28 01:57:00 -08:00
Ryan Dahl
97375c475e Now working on v0.3.8 2011-01-27 21:11:56 -08:00
Ryan Dahl
d8579c6afd Bump version to v0.3.7 2011-01-27 20:07:54 -08:00
Ryan Dahl
286389202f Fix pummel/text-exec 2011-01-27 20:07:53 -08:00
Ryan Dahl
b6c66f735b Revert "Use html5 spec stylesheet for docs"
This reverts commit 6dbf49110b.
2011-01-27 19:55:52 -08:00
Ryan Dahl
eb565e1ce2 Simplify website 2011-01-27 19:52:56 -08:00
Ryan Dahl
895968d8f8 Add test-https-large-response.js 2011-01-27 19:27:25 -08:00
Ryan Dahl
df5d5d6342 Fix option parsing in tls.connect() 2011-01-27 19:25:08 -08:00
Ryan Dahl
cb06abe1e5 Helpful error when child_process.exec hit maxBuffer 2011-01-27 17:45:17 -08:00
Ryan Dahl
1f041fe73e debugger: prevent crash when backtrace doesn't come back 2011-01-27 17:44:42 -08:00
Ryan Dahl
fbb74784b5 Remove more process.assert 2011-01-27 17:02:25 -08:00
Ryan Dahl
bfb6a67d60 Another fix for process.assert 2011-01-27 16:59:28 -08:00
Ryan Dahl
f71e4d8b43 Fix process.assert problem
Introduced in f9f0e5c75c
2011-01-27 16:55:54 -08:00
Ryan Dahl
f9f0e5c75c Pre-process out assert() 2011-01-27 16:38:49 -08:00
Ryan Dahl
6e53cf8b3f Fix links 2011-01-27 16:24:02 -08:00
David Trejo
3a05a6eaca newcomer resources in README
Closes GH-579.
2011-01-27 16:20:31 -08:00
Greg Hughes
1a5e513084 Fix style issues with ext_key_usage patch
Closes GH-586.
2011-01-27 16:16:22 -08:00
Ryan Dahl
4ea6916974 Correct process.kill doc
Thanks Kevin. Closes GH-518.
2011-01-27 14:37:45 -08:00
Ryan Dahl
97e13748fa Typos
Closes GH-557.
Closes GH-539.
2011-01-27 14:28:47 -08:00
Ryan Dahl
8f23583d10 A few spelling fixes.
Thanks Bjarki. Closes GH-561.
2011-01-27 14:24:10 -08:00
Ryan Dahl
3d4a0211b6 Fix arg order of fs.linkSync in docs
Thanks Pierre. Closes GH-571.
2011-01-27 14:22:17 -08:00
Greg Hughes
6c32e155d3 Add ext_key_usage to getPeerCertificate 2011-01-27 14:06:40 -08:00
isaacs
6cdeb3b3fd A module ID with a trailing slash must be a dir.
require('./foo/') should not try to load './foo.js'.  It should only
look for ./foo/index.js

Closes GH-588
2011-01-27 14:02:43 -08:00
Ali Farhadi
36ef5643c3 Fixing bug in http request default encoding. 2011-01-26 12:18:25 -08:00
Ali Farhadi
c70dd70301 Adding callback parameter to Socket's setTimeout method. 2011-01-26 12:13:03 -08:00
Ryan Dahl
129217a4e9 Increase timeout on test-repl to 5 seconds
Hopefully wont get failures on buildbot slaves.
2011-01-25 17:35:08 -08:00
Ali Farhadi
910a859b9c Adding test for many keep-alive connections 2011-01-25 17:20:25 -08:00
Ryan Dahl
5ad00f82c6 debugger: Don't crash when evaling buffer 2011-01-25 15:50:12 -08:00
Ryan Dahl
72bef516dc Revert "Preprocess out assert()"
This reverts commit 8bd7e4fad8.
2011-01-25 15:26:19 -08:00
Carter Allen
5ad93ab573 Fix tests when spaces are in path 2011-01-25 12:56:35 -08:00
Ryan Dahl
8bd7e4fad8 Preprocess out assert() 2011-01-25 12:53:44 -08:00
Ryan Dahl
39ff40e5a2 Use old http.Client
This is meant as a path for upgrading to the new http.request() API.
http.Client will be disappearing in the future.
2011-01-25 12:13:20 -08:00
Ryan Dahl
72dd8778b9 Fix undefined_reference_in_new_context 2011-01-24 22:40:06 -08:00
Daniel Ennis
52f93185c7 Adding support for require-like initialization of node,
so `node foo`
will load one of:
./foo.js
./foo.node
./foo/index.js
./foo/index.node

Test cases added.
Ensured no conflict with native names.
2011-01-24 21:33:30 -08:00
Ryan Dahl
4c5e570706 Upgrade V8 to 3.0.10 2011-01-24 20:55:18 -08:00
Bert Belder
07f3274ac4 Readline: fixes, more key bindings
- Made backward/forward more convenient
- More key bindings that windows users are used to
- Fix delete-word-right
- Duplicate code cleanup
2011-01-24 20:43:50 -08:00
isaacs
430a7f1bed Support pastes and meta-backspace 2011-01-24 20:42:52 -08:00
Bert Belder
f9fea12555 Fix windows build 2011-01-24 20:37:15 -08:00
Ryan Dahl
068b733583 Land Cantrill's DTrace patch
only works on solaris
2011-01-24 18:59:06 -08:00
Felix Geisendörfer
91cc2d8c4b Restructure src/node.js startup code
This patch introduces a logical structure and sequence for the
bootstrap code found src/node.js.
2011-01-24 14:52:25 -08:00
Ryan Dahl
cc5e9130bb fs.open should set FD_CLOEXEC 2011-01-24 11:57:21 -08:00
Ryan Dahl
9e976abad9 lint 2011-01-24 10:55:30 -08:00
Bert Belder
f263b29141 Windows: better net support 2011-01-24 10:35:41 -08:00
Bert Belder
25d0e38048 Workaround for libev handle caching bug on windows
The windows socket api uses handles, not fds. Libev caches the handle
associated with an fd, and uses this handle when updating the (also cached)
handle set that goes into select(). When an fd is closed and subsequently
re-used before the event loop returns to libev, libev fails to detect
properly that the handle changed. And even if it does, the cached handle of
the closed socket is overwritten by the new handle, so by the time libev
tries to update the select fdset it has forgotten which handle to remove
from it. This is solved by a simple hook ev_fd_closed that makes it clear
its caches before the fd is re-used.
2011-01-24 10:34:18 -08:00
Ryan Dahl
555184663a windows compat: undefined_reference_in_new_context test 2011-01-23 15:32:07 -08:00
Ali Farhadi
d81afcb3a6 Fixing bug in http request's end method. 2011-01-23 15:22:42 -08:00
Felix Geisendörfer
5a49f96505 Move commonjs module system into lib/module.js
This de-couples NativeModule from the module system and completes the
main objective of this refactoring.
2011-01-23 14:53:17 -08:00
Mikeal Rogers
8d37f80f4b Expose agent in http and https client. 2011-01-23 12:02:43 -08:00
Ryan Dahl
7892918353 Now working on v0.3.7 2011-01-21 18:26:05 -08:00
Ryan Dahl
bb3e71466e Bump version to v0.3.6 2011-01-21 18:18:37 -08:00
Ryan Dahl
6703a7f1e0 Add https docs to toc 2011-01-21 18:18:32 -08:00
Ryan Dahl
76afea90cf Fix test-http-exceptions
Agent: Each time an http req is sent to a socket, _cycle to try to dispatch
another. Problem became apparent in 4612b0 when we wait for connecting
sockets.
2011-01-21 17:49:01 -08:00
Ryan Dahl
4612b07604 Fix test-http-allow-req-after-204-res
Agent queue waits for connecting sockets.
2011-01-21 17:39:48 -08:00
Ryan Dahl
7dfbccf9bd Add test-https-agent 2011-01-21 15:56:27 -08:00
Ryan Dahl
68f2aa2715 http: agent should cycle on close 2011-01-21 14:55:29 -08:00
isaacs
49275524a5 Fix for meta keys in a weird iTerm state. 2011-01-21 13:51:59 -08:00
isaacs
d40af91b30 Windows line endings. s/\r//g 2011-01-21 13:51:49 -08:00
Bert Belder
8da7202d0b Fix meta+character keys on mac 2011-01-21 13:51:19 -08:00
Ryan Dahl
b9574b995f Expose http.getAgent 2011-01-21 13:47:27 -08:00
Ryan Dahl
db8736ad93 Add https.get() 2011-01-21 13:21:01 -08:00
Ryan Dahl
e65f6b4ce1 Initial pass at https client 2011-01-21 13:13:02 -08:00
Ryan Dahl
86e687086b waf: display oprofile and gdbjit options for all platforms
was breaking mac
2011-01-20 19:07:19 -08:00
Ryan Dahl
6eca6b1ec0 Merge branch 'http_agent' 2011-01-20 18:38:13 -08:00
Ryan Dahl
a86747603c Fix test-http-upload-timeout
Cannot just close the connection or client will error.
2011-01-20 18:24:00 -08:00
Ryan Dahl
7a16e2a2a0 test-http-client-reconnect-bug: hang up should be error. 2011-01-20 18:19:30 -08:00
Ryan Dahl
0866ecaf3f ... 2011-01-20 18:10:15 -08:00
Ryan Dahl
032f80efea Docs for new http API 2011-01-20 18:10:15 -08:00
Ryan Dahl
f465949516 hacky work around socket hangups on http requests 2011-01-20 18:10:15 -08:00
Ryan Dahl
d89454e5d4 Backport client 'upgrade' events 2011-01-20 18:10:15 -08:00
Ryan Dahl
4125822bed all errors go to req object 2011-01-20 18:10:15 -08:00
Ryan Dahl
105c35b9fd http.Client shims 2011-01-20 18:10:15 -08:00
Ryan Dahl
e576d4ec79 Add parser to agent 2011-01-20 18:10:15 -08:00
Ryan Dahl
60aea96f84 first pass at http refactor for TLS 2011-01-20 18:10:15 -08:00
Ryan Dahl
ae30af44cf Disable gdbjit by default 2011-01-20 18:04:09 -08:00
Bert Belder
a763a4f4d9 Fix memory corruption bug on Windows 2011-01-20 01:41:16 +01:00
Bert Belder
8ca0b9a3c5 Fix ev_async misuse in node_child_process_win32.cc 2011-01-20 01:40:55 +01:00
kmillikin@chromium.org
7c2869046e Fix an assertion failure in the full code generator.
We hit an assertion failure when we tried to record the AST ID of
the (shared) .arguments variable proxy more than once.  This was hit
when we had multiple calls to the same parameter in a function that
used the arguments object.  The fix is to not visit the subexpressions
of the (shared) property access expression.

BUG=1060

Review URL: http://codereview.chromium.org/6368007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@6404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-20 01:39:32 +01:00
Ryan Dahl
ba80d4d8a9 Transfer data gathering responsibility to readline
Fixes non-raw REPL/Debugger on Posix.
2011-01-19 11:46:16 -08:00
Ryan Dahl
d4127717ac Fix tab on posix tty 2011-01-19 11:33:42 -08:00
Ryan Dahl
6e9f746a46 wscript: style 2011-01-19 11:18:12 -08:00
Ryan Dahl
5895df4d0e Compile gdbjit in by default on linux 2011-01-19 11:17:25 -08:00
Bert Belder
a61066ea1b Workaround for V8 bug 884
See http://code.google.com/p/v8/issues/detail?id=884
2011-01-19 11:06:49 -08:00
Ryan Dahl
b8f006ef72 Upgrade V8 to 3.0.9 2011-01-19 11:06:13 -08:00
Bert Belder
e6e6e87463 Windows: fix window size getter bug 2011-01-18 23:22:38 -08:00
Bert Belder
f0bf325495 Update TODO.win32 2011-01-18 23:22:38 -08:00
Bert Belder
4475b76535 Readline: use symbolic key names instead of ascii control codes 2011-01-18 23:22:38 -08:00
Bert Belder
8c9b2d1066 Readline: use tty methods instead of control sequences 2011-01-18 23:22:38 -08:00
Bert Belder
0b5bf70bff Use tty.ReadStream and tty.WriteStream for stdio when appropriate 2011-01-18 23:22:38 -08:00
Bert Belder
87d898929f Implement tty.ReadStream and tty.WriteStream 2011-01-18 23:22:38 -08:00
Bert Belder
4fddca09f1 New stdio functions to aid new readline interface 2011-01-18 23:22:38 -08:00
Bert Belder
b0eed65584 Windows: watcher for tty events 2011-01-18 23:22:38 -08:00
Ryan Dahl
4f8dd28f7e wscript chooses win32 source files, not cpp 2011-01-18 23:22:38 -08:00
Ryan Dahl
cb14236bb4 Use common.PORT not 8000 2011-01-18 22:27:12 -08:00
Ryan Dahl
39535d74df move test-exec to pummel - too slow 2011-01-18 22:25:38 -08:00
Alexis Sellier
66b418d6f3 make 'readyState' available to CryptoStream 2011-01-18 22:22:50 -08:00
Ryan Dahl
2f6cb66009 Add setEncoding to CryptoStream 2011-01-18 18:30:12 -08:00
Ryan Dahl
4d0416caf6 Add setNoDelay to cryptostream 2011-01-18 17:56:52 -08:00
Ryan Dahl
b22b5e341b listen/bind errors should close net.Server 2011-01-18 16:22:43 -08:00
Ryan Dahl
2ec4cd5525 factor linklist code into own file 2011-01-18 14:26:32 -08:00
Bert Belder
b8879d64dd Remove completed TODO.win32 items 2011-01-18 04:58:33 +01:00
Bert Belder
6ad629895d Make child_process.kill always work on windows 2011-01-18 04:58:32 +01:00
Bert Belder
bb3bf091d4 Fix several child process bugs on windows 2011-01-18 04:58:32 +01:00
Bert Belder
5087c62f18 Fix detection of socket errors 2011-01-18 04:58:31 +01:00
Bert Belder
2ce0961de1 Improve error reporting on windows 2011-01-18 04:58:30 +01:00
Bert Belder
0eb4c2157d Define winsock error numbers 2011-01-18 04:58:30 +01:00
Bert Belder
c99962e4cd Misc. cleanups
casts, unused vars, function ordering, /* within comment, etc.
2011-01-18 04:58:29 +01:00
Bert Belder
e0f47be9d0 Clean up the way windows headers are included
Plus make inclusion order a little more consistent in general
2011-01-18 04:58:11 +01:00
Bert Belder
43d75952ff Windows: get rid of most NO_IMPL related macros 2011-01-18 04:49:54 +01:00
Bert Belder
dc99aa0c8c Windows: implement missing stdio methods 2011-01-18 04:49:54 +01:00
Bert Belder
b70f8aec84 Workaround for V8 bug 884
See http://code.google.com/p/v8/issues/detail?id=884
2011-01-18 04:49:42 +01:00
Ryan Dahl
86bf3309bf docs: style 2011-01-17 13:35:30 -08:00
Ryan Dahl
a51063c13c docs: Add note about global scope 2011-01-17 13:35:11 -08:00
Bert Belder
595509bb4c Fix v8 build on windows
reported to v8 in http://codereview.chromium.org/6056006/
2011-01-17 12:28:48 -08:00
Ryan Dahl
cf2e4f44af Upgrade V8 to 3.0.8 2011-01-17 11:32:56 -08:00
Ryan Dahl
082a4b6033 Now working on v0.3.6 2011-01-16 15:28:01 -08:00
3788 changed files with 848986 additions and 160422 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
test/fixtures/* -text

29
.gitignore vendored
View File

@@ -1,15 +1,36 @@
build
.waf*
tags
.lock-wscript
*.pyc
doc/api.xml
tools/nodejs.pc
test/fixtures/hello.txt
tmp/
node
node_g
*.swp
.benchmark_reports
/.project
/.cproject
/.cproject
/out
# various stuff that VC++ produces/uses
Debug/
Release/
*.sln
!nodemsi.sln
*.suo
*.vcproj
*.vcxproj
*.vcxproj.user
*.vcxproj.filters
UpgradeLog*.XML
_UpgradeReport_Files/
ipch/
*.sdf
*.opensdf
/options.gypi
*-nodegyp*
/gyp-mac-tool
/dist-osx

84
AUTHORS
View File

@@ -152,4 +152,86 @@ Theo Schlossnagle <jesus@omniti.com>
Kai Chen <kaichenxyz@gmail.com>
Daniel C <333222@gmail.com>
Mihai Călin Bazon <mihai@bazon.net>
Ali Farhadi <a.farhadi@gmail.com>
Daniel Ennis <aikar@aikar.co>
Carter Allen <CarterA@opt-6.com>
Greg Hughes <greg@ghughes.com>
David Trejo <david.daniel.trejo@gmail.com>
Joe Walnes <joe@walnes.com>
Koichi Kobayashi <koichik@improvement.jp>
Daniel Gröber <dxld@darkboxed.org>
Konstantin Käfer <github@kkaefer.com>
Richard Rodger <richard@ricebridge.com>
Andreas Reich <andreas@reich.name>
Dean McNamee <dean@gmail.com>
Trevor Burnham <trevor@databraid.com>
Zachary Scott <zachary@zacharyscott.net>
Arnout Kazemier <info@3rd-Eden.com>
George Stagas <gstagas@gmail.com>
Scott McWhirter <scott.mcwhirter@joyent.com>
Jakub Lekstan <jakub.lekstan@dreamlab.pl>
Tim Baumann <tim@timbaumann.info>
Robert Mustacchi <rm@joyent.com>
George Miroshnykov <george.miroshnykov@gmail.com>
Marcel Laverdet <marcel@laverdet.com>
Alexandre Marangone <a.marangone@gmail.com>
Mark Cavage <mark.cavage@joyent.com>
Ryan Petrello <lists@ryanpetrello.com>
Siddharth Mahendraker <siddharth_mahen@hotmail.com>
Mathias Buus <m@ge.tt>
Yoshihiro KIKUCHI <yknetg@gmail.com>
Brett Kiefer <kiefer@gmail.com>
Mariano Iglesias <mariano@cricava.com>
Jörn Horstmann <git@jhorstmann.net>
Joe Shaw <joeshaw@litl.com>
Alex Xu <alex_y_xu@yahoo.ca>
Kip Gebhardt <kip.gebhardt@voxer.com>
Stefan Rusu <saltwaterc@gmail.com>
Wojciech Wnętrzak <w.wnetrzak@gmail.com>
Reid Burke <me@reidburke.com>
Niklas Fiekas <niklas.fiekas@googlemail.com>
Adam Luikart <me@adamluikart.com>
avz <a.arepo@gmail.com>
Jeremy Selier <jeremy@jolicloud.com>
Igor Zinkovsky <igorzi@microsoft.com>
Shigeki Ohtsu <ohtsu@d.jp>
vegorov@chromium.org <vegorov@chromium.org>
Pierre-Alexandre St-Jean <pierrealexandre.stjean@gmail.com>
Vicente Jimenez Aguilar <googuy@gmail.com>
SAWADA Tadashi <cesare@mayverse.jp>
Logan Smyth <loganfsmyth@gmail.com>
Christopher Wright <christopherwright@gmail.com>
Mickaël Delahaye <mickael.delahaye@gmail.com>
Aku Kotkavuo <aku@hibana.net>
Peter Bright <drpizza@quiscalusmexicanus.org>
Glen Low <glen.low@pixelglow.com>
Thomas Shinnick <tshinnic@gmail.com>
Antranig Basman <antranig.basman@colorado.edu>
Maciej Małecki <maciej.malecki@notimplemented.org>
Evan Martin <martine@danga.com>
Peter Lyons <pete@peterlyons.com>
jkummerow@chromium.org <jkummerow@chromium.org>
Jann Horn <jannhorn@googlemail.com>
Abimanyu Raja <abimanyuraja@gmail.com>
Karl Skomski <karl@skomski.com>
Niclas Hoyer <niclas@verbugt.de>
Michael Jackson <mjijackson@gmail.com>
Ashok Mudukutore <ashok@lineratesystems.com>
Sean Cunningham <sean.cunningham@mandiant.com>
Ben Leslie <benno@benno.id.au>
Christian Tellnes <christian@tellnes.no>
Colton Baker <github@netrefuge.net>
Tyler Larson <talltyler@gmail.com>
Tomasz Janczuk <tomasz@janczuk.org>
Ilya Dmitrichenko <errordeveloper@gmail.com>
Simen Brekken <simen.brekken@gmail.com>
Guglielmo Ferri <44gatti@gmail.com>
Thomas Parslow <tom@almostobsolete.net>
Ryan Emery <seebees@gmail.com>
Zachary Scott <zachary@zacharyscott.net>
Jordan Sissel <jls@semicomplete.com>
Matt Robenolt <matt@ydekproductions.com>
Jacob H.C. Kragh <jhckragh@gmail.com>
Benjamin Pasero <benjamin.pasero@gmail.com>
Scott Anderson <sanderson7@gmail.com>
Yoji SHIDARA <dara@shidara.net>

2
BSDmakefile Normal file
View File

@@ -0,0 +1,2 @@
all:
@echo "I need GNU make. Please run \`gmake\` instead."

View File

@@ -1,94 +0,0 @@
cmake_minimum_required(VERSION 2.6)
project(node)
if(USE_GCOV)
set(CMAKE_BUILD_TYPE "Debug")
# Set global c and c++ flags
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
# Link flags used for creating executables
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov -fprofile-arcs")
# Link flags used for creating shared libraries
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -lgcov -profile-arcs")
endif()
#
# options
#
find_package(PythonInterp 2 REQUIRED)
option(SHARED_V8 "use system shared V8 library")
option(SHARED_LIBEV "use system shared libev library")
option(SHARED_CARES "use system shared c-ares library")
option(V8_SNAPSHOT "turn on snapshot when building stock v8")
# cmake policies to get rid of some warnings
cmake_policy(SET CMP0009 NEW) # GLOB_RECURSE should no follow symlinks
# generic cmake configuration
include("cmake/configure.cmake")
# find and configure libs
include("cmake/libs.cmake")
# setup node build targets
include("cmake/node_build.cmake")
# setup v8 build targets
include("cmake/v8_build.cmake")
# docs
## might want to move this to doc/CMakeLists.txt
include("cmake/docs.cmake")
# tests
enable_testing()
include(CTest)
add_subdirectory("test/")
# package
include("cmake/package.cmake")
#
# Final build configuration output
#
message("** Build Summary **")
message(" Version: ${node_version_string}")
message(" Prefix: ${PREFIX}")
message(" Build Type: ${CMAKE_BUILD_TYPE}")
message(" Architecture: ${CMAKE_SYSTEM_PROCESSOR}")
if(SHARED_V8)
message(" V8: ${V8_LIBRARY_PATH}")
#else()
#message(" V8 jobs: ${parallel_jobs}")
endif()
if(SHARED_libev)
message(" libev: ${LIBEV_LIBRARY}")
endif()
if(SHARED_CARES)
message(" libc-ares: ${LIBCARES_LIBRARY}")
endif()
message(" RT library: ${RT}")
message(" DL library: ${DL}")
if(${OPENSSL_FOUND} MATCHES TRUE)
message(" OpenSSL: ${OPENSSL_LIBRARIES}")
endif()
if(USE_GCOV)
message(" gcov: enabled")
endif()
message(" CCFLAGS: ${CCFLAGS}")
message(" CPPFLAGS: ${CPPFLAGS}")

View File

@@ -1,7 +0,0 @@
set(CTEST_PROJECT_NAME "node")
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=node")
set(CTEST_DROP_SITE_CDASH TRUE)

977
ChangeLog

File diff suppressed because it is too large Load Diff

107
LICENSE
View File

@@ -1,49 +1,8 @@
This license applies to all parts of Node that are not externally
maintained libraries. The externally maintained libraries used by Node
are:
- v8, located under deps/v8, which is copyrighted by the Google, Inc.
v8 has a BSD license.
- libev, located under deps/libev, and libeio, located at deps/libeio.
This code is copyrighted by Marc Alexander Lehmann. Both are dually
licensed under MIT and GPL2.
- WAF build system, located at tools/waf. Copyrighted Thomas Nagy.
Released under an MIT license.
- The SCONS build system, located at tools/scons. Copyrighted by the SCONS
Foundation. Released under an MIT license.
- C-Ares, an asynchronous DNS client, located at deps/c-ares. Copyright by
the Massachusetts Institute of Technology; authored by Greg Hudson,
Daniel Stenberg and others. Released under an MIT license.
- Node, optionally, dynmaically links to OpenSSL, cryptographic software
written by Eric Young (eay@cryptsoft.com) to provide SSL/TLS encryption.
OpenSSL is copyrighted by The OpenSSL Project. OpenSSL has a simple
Apache-style license. OpenSSL is not included in the Node distribution.
See http://openssl.org/ for more information.
- tools/doctool/markdown.js is Released under MIT license and
Copyright 2009-2010 Dominic Baggott and Ash Berli
- HTTP Parser, located at deps/http_parser, is a small C library
copyrighted by Ryan Lienhart Dahl and has a MIT license.
- src/platform_darwin_proctitle.cc, has code taken from the Chromium
project copyright Google Inc. and released with the BSD license.
- tools/closure_linter is copyrighted by The Closure Linter Authors and
Google Inc and is released under the Apache license.
- tools/cpplint.py is copyrighted by Google Inc and is released under the
BSD license.
Node's license follows:
Copyright 2009, 2010 Ryan Lienhart Dahl. All rights reserved.
====
Copyright Joyent, Inc. and other Node contributors. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
@@ -60,4 +19,62 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
IN THE SOFTWARE.
====
This license applies to all parts of Node that are not externally
maintained libraries.
The externally maintained libraries used by Node are:
- v8, located at deps/v8. v8 is copyright Google, Inc, and released
under a BSD license.
- libev, located at deps/libev, and libeio, located at deps/libeio. libev
and libeio are copyright Marc Alexander Lehmann, and dual-licensed
under the MIT license and GPL2.
- WAF build system, located at tools/waf. WAF is copyright Thomas Nagy,
and released under the MIT license.
- The SCONS build system, located at tools/scons. SCONS is copyright
the SCONS Foundation and released under the MIT license.
- C-Ares, an asynchronous DNS client, located at deps/c-ares. C-Ares is
copyright the Massachusetts Institute of Technology, authored by
Greg Hudson, Daniel Stenberg and others, and released under the MIT
license.
- Node, optionally, links to OpenSSL, it is located at deps/openssl.
OpenSSL is cryptographic software written by Eric Young
(eay@cryptsoft.com) to provide SSL/TLS encryption. OpenSSL is copyright
The OpenSSL Project and released under the OpenSSL license.
- tools/doctool/markdown.js is copyright 2009-2010 Dominic Baggott and Ash
Berli and released under the MIT license.
- HTTP Parser, located at deps/http_parser, is a small C library
copyright Ryan Lienhart Dahl and released under the MIT license.
- src/platform_darwin_proctitle.cc, has code taken from the Chromium
project copyright Google Inc. and released under a BSD license.
- tools/closure_linter is copyright The Closure Linter Authors and
Google Inc. and released under the Apache License, version 2.0.
- tools/cpplint.py is copyright Google Inc. and released under a
BSD license.
- lib/buffer_ieee754.js is copyright 2008 Fair Oaks Labs, Inc. and released
under the New BSD license.
- lib/punycode.js is copyright 2011 Mathias Bynens <http://mathiasbynens.be/>
and released under the MIT license.
- tools/gyp GYP is a meta-build system copyright 2009 Google Inc and
licensed under the three clause BSD license. See tools/gyp/LICENSE.
- deps/zlib copyright 1995-2010 Jean-loup Gailly and Mark Adler
licensed under a permissive free software license. See
deps/zlib/LICENSE.

View File

@@ -1,8 +1,17 @@
WAF=python tools/waf-light
web_root = ryan@nodejs.org:~/web/nodejs.org/
web_root = node@nodejs.org:~/web/nodejs.org/
#
# Because we recursively call make from waf we need to make sure that we are
# using the correct make. Not all makes are GNU Make, but this likely only
# works with gnu make. To deal with this we remember how the user invoked us
# via a make builtin variable and use that in all subsequent operations
#
export NODE_MAKE := $(MAKE)
all: program
@-[ -f out/Release/node ] && ls -lh out/Release/node
all-progress:
@$(WAF) -p build
@@ -25,12 +34,18 @@ uninstall:
test: all
python tools/test.py --mode=release simple message
test-http1: all
python tools/test.py --mode=release --use-http1 simple message
test-valgrind: all
python tools/test.py --mode=release --valgrind simple message
test-all: all
python tools/test.py --mode=debug,release
test-all-http1: all
python tools/test.py --mode=debug,release --use-http1
test-all-valgrind: all
python tools/test.py --mode=debug,release --valgrind
@@ -52,56 +67,55 @@ test-pummel: all
test-internet: all
python tools/test.py internet
build/default/node: all
out/Release/node: all
apidoc_sources = $(wildcard doc/api/*.markdown)
apidocs = $(addprefix build/,$(apidoc_sources:.markdown=.html))
apidocs = $(addprefix out/,$(apidoc_sources:.markdown=.html))
apidoc_dirs = build/doc build/doc/api/ build/doc/api/assets
apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets
apiassets = $(subst api_assets,api/assets,$(addprefix build/,$(wildcard doc/api_assets/*)))
apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*)))
website_files = \
build/doc/index.html \
build/doc/cla.html \
build/doc/sh_main.js \
build/doc/sh_javascript.min.js \
build/doc/sh_vim-dark.css \
build/doc/logo.png \
build/doc/sponsored.png \
build/doc/pipe.css
out/doc/index.html \
out/doc/v0.4_announcement.html \
out/doc/cla.html \
out/doc/sh_main.js \
out/doc/sh_javascript.min.js \
out/doc/sh_vim-dark.css \
out/doc/logo.png \
out/doc/sponsored.png \
out/doc/favicon.ico \
out/doc/pipe.css
doc: doc
out/doc: out/Release/node $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs)
doc: build/default/node $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs) build/doc/changelog.html
$(apidoc_dirs):
mkdir -p $@
build/doc/api/assets/%: doc/api_assets/% build/doc/api/assets/
out/doc/api/assets/%: doc/api_assets/% out/doc/api/assets/
cp $< $@
build/doc/%: doc/%
out/doc/%: doc/%
cp $< $@
build/doc/api/%.html: doc/api/%.markdown build/default/node $(apidoc_dirs) $(apiassets) tools/doctool/doctool.js
build/default/node tools/doctool/doctool.js doc/template.html $< > $@
out/doc/api/%.html: doc/api/%.markdown out/Release/node $(apidoc_dirs) $(apiassets) tools/doctool/doctool.js
out/Release/node tools/doctool/doctool.js doc/template.html $< > $@
build/doc/changelog.html: ChangeLog build/default/node build/doc/ $(apidoc_dirs) $(apiassets) tools/doctool/doctool.js
build/default/node tools/doctool/doctool.js doc/template.html $< \
| sed 's|assets/|api/assets/|g' \
| sed 's|<body>|<body id="changelog">|g' > $@
@echo $(apiassets)
build/doc/%:
out/doc/%:
website-upload: doc
scp -r build/doc/* $(web_root)
scp -r out/doc/* $(web_root)
docopen: build/doc/api/all.html
-google-chrome build/doc/api/all.html
docopen: out/doc/api/all.html
-google-chrome out/doc/api/all.html
docclean:
-rm -rf build/doc
-rm -rf out/doc
clean:
$(WAF) clean
@@ -109,25 +123,40 @@ clean:
distclean: docclean
-find tools -name "*.pyc" | xargs rm -f
-rm -rf build/ node node_g
-rm -rf dist-osx
-rm -rf out/ node node_g
check:
@tools/waf-light check
VERSION=$(shell git describe)
VERSION=v$(shell python tools/getnodeversion.py)
TARNAME=node-$(VERSION)
TARBALL=$(TARNAME).tar.gz
PKG=dist-osx/$(TARNAME).pkg
#dist: doc/node.1 doc/api
dist: doc
dist: $(TARBALL) $(PKG)
$(PKG):
-rm -rf dist-osx
tools/osx-dist.sh
$(TARBALL): out/doc
git archive --format=tar --prefix=$(TARNAME)/ HEAD | tar xf -
mkdir -p $(TARNAME)/doc
cp doc/node.1 $(TARNAME)/doc/node.1
cp -r build/doc/api $(TARNAME)/doc/api
cp -r out/doc/api $(TARNAME)/doc/api
rm -rf $(TARNAME)/deps/v8/test # too big
rm -rf $(TARNAME)/doc/logos # too big
tar -cf $(TARNAME).tar $(TARNAME)
rm -rf $(TARNAME)
gzip -f -9 $(TARNAME).tar
dist-upload: $(TARBALL) $(PKG)
ssh node@nodejs.org mkdir -p web/nodejs.org/dist/$(VERSION)
scp $(TARBALL) node@nodejs.org:~/web/nodejs.org/dist/$(VERSION)/$(TARBALL)
scp $(PKG) node@nodejs.org:~/web/nodejs.org/dist/$(VERSION)/$(TARNAME).pkg
bench:
benchmark/http_simple_bench.sh
@@ -144,4 +173,4 @@ cpplint:
lint: jslint cpplint
.PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean check uninstall install all program staticlib dynamiclib test test-all website-upload
.PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean dist-upload check uninstall install all program staticlib dynamiclib test test-all website-upload

319
Makefile-gyp Normal file
View File

@@ -0,0 +1,319 @@
BUILDTYPE ?= Release
all: out/Makefile
tools/gyp_node -f make
$(MAKE) -C out BUILDTYPE=$(BUILDTYPE)
-ln -fs out/Release/node node
-ln -fs out/Debug/node node_g
out/Release/node: all
out/Makefile: node.gyp deps/uv/uv.gyp
clean:
rm -rf out
distclean:
rm -rf out
test: all
python tools/test.py --mode=release simple message
test-http1: all
python tools/test.py --mode=release --use-http1 simple message
test-valgrind: all
python tools/test.py --mode=release --valgrind simple message
test-all: all
python tools/test.py --mode=debug,release
test-all-http1: all
python tools/test.py --mode=debug,release --use-http1
test-all-valgrind: all
python tools/test.py --mode=debug,release --valgrind
test-release: all
python tools/test.py --mode=release
test-debug: all
python tools/test.py --mode=debug
test-message: all
python tools/test.py message
test-simple: all
python tools/test.py simple
test-pummel: all
python tools/test.py pummel
test-internet: all
python tools/test.py internet
UVTEST += simple/test-assert
UVTEST += simple/test-buffer
UVTEST += simple/test-c-ares
UVTEST += simple/test-chdir
UVTEST += simple/test-delayed-require
UVTEST += simple/test-eio-race2
UVTEST += simple/test-eio-race4
UVTEST += simple/test-event-emitter-add-listeners
UVTEST += simple/test-event-emitter-modify-in-emit
UVTEST += simple/test-event-emitter-num-args
UVTEST += simple/test-event-emitter-once
UVTEST += simple/test-event-emitter-remove-all-listeners
UVTEST += simple/test-event-emitter-remove-listeners
UVTEST += simple/test-exception-handler
UVTEST += simple/test-exception-handler2
UVTEST += simple/test-exception-handler
UVTEST += simple/test-executable-path
UVTEST += simple/test-file-read-noexist
UVTEST += simple/test-file-write-stream
UVTEST += simple/test-fs-fsync
UVTEST += simple/test-fs-open
UVTEST += simple/test-fs-readfile-empty
UVTEST += simple/test-fs-read-file-sync
UVTEST += simple/test-fs-read-file-sync-hostname
UVTEST += simple/test-fs-sir-writes-alot
UVTEST += simple/test-fs-write
UVTEST += simple/test-fs-write-buffer
UVTEST += simple/test-fs-write-file
UVTEST += simple/test-fs-write-file-buffer
UVTEST += simple/test-fs-write-stream
UVTEST += simple/test-fs-write-stream-end
UVTEST += simple/test-fs-write-sync
UVTEST += simple/test-global
UVTEST += simple/test-http
UVTEST += simple/test-http-1.0
UVTEST += simple/test-http-abort-client
UVTEST += simple/test-http-allow-req-after-204-res
UVTEST += simple/test-http-blank-header
UVTEST += simple/test-http-buffer-sanity
UVTEST += simple/test-http-cat
UVTEST += simple/test-http-chunked
UVTEST += simple/test-http-client-abort
UVTEST += simple/test-http-client-parse-error
UVTEST += simple/test-http-client-race
UVTEST += simple/test-http-client-race-2
UVTEST += simple/test-http-client-upload
UVTEST += simple/test-http-client-upload-buf
UVTEST += simple/test-http-contentLength0
UVTEST += simple/test-http-default-encoding
UVTEST += simple/test-http-dns-fail
UVTEST += simple/test-http-eof-on-connect
UVTEST += simple/test-http-exceptions
UVTEST += simple/test-http-expect-continue
UVTEST += simple/test-http-extra-response
UVTEST += simple/test-http-head-request
UVTEST += simple/test-http-head-response-has-no-body
UVTEST += simple/test-http-keep-alive
UVTEST += simple/test-http-keep-alive-close-on-header
UVTEST += simple/test-http-malformed-request
UVTEST += simple/test-http-many-keep-alive-connections
UVTEST += simple/test-http-mutable-headers
UVTEST += simple/test-http-parser
UVTEST += simple/test-http-proxy
UVTEST += simple/test-http-request-end
UVTEST += simple/test-http-response-close
UVTEST += simple/test-http-response-readable
UVTEST += simple/test-http-unix-socket
UVTEST += simple/test-http-server
UVTEST += simple/test-http-server-multiheaders
UVTEST += simple/test-http-set-cookies
UVTEST += simple/test-http-set-timeout
UVTEST += simple/test-http-set-trailers
UVTEST += simple/test-http-upgrade-agent
UVTEST += simple/test-http-upgrade-client
UVTEST += simple/test-http-upgrade-client2
UVTEST += simple/test-http-upgrade-server
UVTEST += simple/test-http-upgrade-server2
UVTEST += simple/test-http-wget
UVTEST += simple/test-http-write-empty-string
UVTEST += simple/test-http-wget
UVTEST += simple/test-mkdir-rmdir
UVTEST += simple/test-net-binary
UVTEST += simple/test-net-pingpong
UVTEST += simple/test-net-can-reset-timeout
UVTEST += simple/test-net-connect-buffer
UVTEST += simple/test-net-connect-timeout
UVTEST += simple/test-net-create-connection
UVTEST += simple/test-net-eaddrinuse
UVTEST += simple/test-net-isip
UVTEST += simple/test-net-keepalive
UVTEST += simple/test-net-pingpong
UVTEST += simple/test-net-reconnect
UVTEST += simple/test-net-remote-address-port
UVTEST += simple/test-net-server-bind
UVTEST += simple/test-net-server-max-connections
UVTEST += simple/test-net-server-try-ports
UVTEST += simple/test-net-stream
UVTEST += simple/test-net-socket-timeout
UVTEST += simple/test-next-tick
UVTEST += simple/test-next-tick-doesnt-hang
UVTEST += simple/test-next-tick-errors
UVTEST += simple/test-next-tick-ordering
UVTEST += simple/test-next-tick-ordering2
UVTEST += simple/test-next-tick-starvation
UVTEST += simple/test-module-load-list
UVTEST += simple/test-path
UVTEST += simple/test-pipe-stream
UVTEST += simple/test-pump-file2tcp
UVTEST += simple/test-pump-file2tcp-noexist
UVTEST += simple/test-punycode
UVTEST += simple/test-querystring
UVTEST += simple/test-readdir
UVTEST += simple/test-readdouble
UVTEST += simple/test-readfloat
UVTEST += simple/test-readint
UVTEST += simple/test-readuint
UVTEST += simple/test-regress-GH-819
UVTEST += simple/test-regress-GH-897
UVTEST += simple/test-regression-object-prototype
UVTEST += simple/test-require-cache
UVTEST += simple/test-require-cache-without-stat
UVTEST += simple/test-require-exceptions
UVTEST += simple/test-require-resolve
UVTEST += simple/test-script-context
UVTEST += simple/test-script-new
UVTEST += simple/test-script-static-context
UVTEST += simple/test-script-static-new
UVTEST += simple/test-script-static-this
UVTEST += simple/test-script-this
UVTEST += simple/test-stream-pipe-cleanup
UVTEST += simple/test-stream-pipe-error-handling
UVTEST += simple/test-stream-pipe-event
UVTEST += simple/test-stream-pipe-multi
UVTEST += simple/test-string-decoder
UVTEST += simple/test-sys
UVTEST += simple/test-tcp-wrap
UVTEST += simple/test-tcp-wrap-connect
UVTEST += simple/test-tcp-wrap-listen
UVTEST += simple/test-timers-linked-list
UVTEST += simple/test-tty-stdout-end
UVTEST += simple/test-url
UVTEST += simple/test-utf8-scripts
UVTEST += simple/test-vm-create-context-circular-reference
UVTEST += simple/test-writedouble
UVTEST += simple/test-writefloat
UVTEST += simple/test-writeint
UVTEST += simple/test-writeuint
UVTEST += simple/test-zerolengthbufferbug
UVTEST += pummel/test-http-client-reconnect-bug
UVTEST += pummel/test-http-upload-timeout
UVTEST += pummel/test-net-many-clients
UVTEST += pummel/test-net-pause
UVTEST += pummel/test-net-pingpong-delay
UVTEST += pummel/test-net-timeout
UVTEST += pummel/test-timers
UVTEST += pummel/test-timer-wrap
UVTEST += pummel/test-timer-wrap2
UVTEST += pummel/test-vm-memleak
UVTEST += internet/test-dns
UVTEST += simple/test-tls-client-abort
UVTEST += simple/test-tls-client-verify
UVTEST += simple/test-tls-connect
#UVTEST += simple/test-tls-ext-key-usage # broken
UVTEST += simple/test-tls-junk-closes-server
UVTEST += simple/test-tls-npn-server-client
UVTEST += simple/test-tls-request-timeout
#UVTEST += simple/test-tls-securepair-client # broken
UVTEST += simple/test-tls-securepair-server
#UVTEST += simple/test-tls-server-verify # broken
UVTEST += simple/test-tls-set-encoding
# child_process
UVTEST += simple/test-child-process-exit-code
UVTEST += simple/test-child-process-buffering
UVTEST += simple/test-child-process-exec-cwd
UVTEST += simple/test-child-process-cwd
UVTEST += simple/test-child-process-env
UVTEST += simple/test-child-process-stdin
UVTEST += simple/test-child-process-ipc
UVTEST += simple/test-child-process-deprecated-api
test-uv: all
NODE_USE_UV=1 python tools/test.py $(UVTEST)
test-uv-debug: all
NODE_USE_UV=1 python tools/test.py --mode=debug $(UVTEST)
apidoc_sources = $(wildcard doc/api/*.markdown)
apidocs = $(addprefix out/,$(apidoc_sources:.markdown=.html))
apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets
apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*)))
website_files = \
out/doc/index.html \
out/doc/v0.4_announcement.html \
out/doc/cla.html \
out/doc/sh_main.js \
out/doc/sh_javascript.min.js \
out/doc/sh_vim-dark.css \
out/doc/logo.png \
out/doc/sponsored.png \
out/doc/favicon.ico \
out/doc/pipe.css
doc: out/Release/node $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs)
$(apidoc_dirs):
mkdir -p $@
out/doc/api/assets/%: doc/api_assets/% out/doc/api/assets/
cp $< $@
out/doc/%: doc/%
cp $< $@
out/doc/api/%.html: doc/api/%.markdown out/Release/node $(apidoc_dirs) $(apiassets) tools/doctool/doctool.js
out/Release/node tools/doctool/doctool.js doc/template.html $< > $@
out/doc/%:
website-upload: doc
scp -r out/doc/* $(web_root)
docopen: out/doc/api/all.html
-google-chrome out/doc/api/all.html
docclean:
-rm -rf out/doc
VERSION=$(shell git describe)
TARNAME=node-$(VERSION)
#dist: doc/node.1 doc/api
dist: doc
git archive --format=tar --prefix=$(TARNAME)/ HEAD | tar xf -
mkdir -p $(TARNAME)/doc
cp doc/node.1 $(TARNAME)/doc/node.1
cp -r out/doc/api $(TARNAME)/doc/api
rm -rf $(TARNAME)/deps/v8/test # too big
rm -rf $(TARNAME)/doc/logos # too big
tar -cf $(TARNAME).tar $(TARNAME)
rm -rf $(TARNAME)
gzip -f -9 $(TARNAME).tar
bench:
benchmark/http_simple_bench.sh
bench-idle:
./node benchmark/idle_server.js &
sleep 1
./node benchmark/idle_clients.js &
jslint:
PYTHONPATH=tools/closure_linter/ python tools/closure_linter/closure_linter/gjslint.py --unix_mode --strict --nojsdoc -r lib/ -r src/ -r test/
cpplint:
@python tools/cpplint.py $(wildcard src/*.cc src/*.h src/*.c)
lint: jslint cpplint
.PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean check uninstall install all program staticlib dynamiclib test test-all website-upload

View File

@@ -1,40 +0,0 @@
BUILD?=build
VERBOSE?=0
PARALLEL_JOBS?=1
CMAKE?=cmake
TOOLCHAIN_FILE=#./cmake/codesourcery-arm-toolchain.cmake
all: package
$(BUILD)/Makefile:
mkdir $(BUILD) || exit 0
cd $(BUILD) && $(CMAKE) -DCMAKE_VERBOSE_MAKEFILE=$(VERBOSE) -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN_FILE) ..
build: $(BUILD)/Makefile
cd $(BUILD) && make -j $(PARALLEL_JOBS)
install: build
cd $(BUILD) && sudo make install
clean:
rm -rf $(BUILD)
doc: $(BUILD)/Makefile
cd $(BUILD) && make doc
package: $(BUILD)/Makefile
cd $(BUILD) && make package
test: $(BUILD)/Makefile
cd $(BUILD) && make test
cdash: $(BUILD)/Makefile
cd $(BUILD) && make Experimental
cdash-cov: $(BUILD)/Makefile
cd $(BUILD) && $(CMAKE) -DUSE_GCOV=True .. && make Experimental
cdash-mem: $(BUILD)/Makefile
cd $(BUILD) && make NightlyMemoryCheck
.PHONY: build install clean doc package test cdash cdash-cov cdash-mem

24
README
View File

@@ -1,24 +0,0 @@
Evented I/O for V8 javascript.
To build:
./configure
make
make install
To run the tests:
make test
To build the documentation:
make doc
To read the documentation:
man doc/node.1
See http://nodejs.org/ for more information. For help and discussion
subscribe to the mailing list by visiting
http://groups.google.com/group/nodejs or by sending an email to
nodejs+subscribe@googlegroups.com.

View File

@@ -1,77 +0,0 @@
Instructions for building with cmake
Make sure you have cmake:
Ubuntu/Debian: sudo apt-get install cmake
Mac: http://www.cmake.org/files/v2.8/cmake-2.8.3-Darwin-universal.dmg
Other platforms: http://www.cmake.org/cmake/resources/software.html
To build:
make -f Makefile.cmake
make -f Makefile.cmake install
To run the tests:
make -f Makefile.cmake test
To build the documentation:
make -f Makefile.cmake doc
To read the documentation:
man doc/node.1
To build distro packages (tgz, deb, rpm, PackageMaker):
make -f Makefile.cmake package
To submit test results (see http://my.cdash.org/index.php?project=node):
make -f Makefile.cmake cdash
To submit coverage test results:
make -f Makefile.cmake cdash-cov
To submit valgrind test results:
make -f Makefile.cmake cdash-mem
Cross-compiling:
An example toolchain file for the CodeSourcery ARM toolchain is included in
the cmake directory: codesourcery-arm-toolchain.cmake.
Install the CodeSourcery toolchain, set the path to the toolchain in
cmake/codesourcery-arm-toolchain.cmake, and uncomment the TOOLCHAIN_FILE
variable in Makefile.cmake to use it.
If you are using cmake directly, just add the flag
"-DCMAKE_TOOLCHAIN_FILE=/path/to/toolchain-file" when
running cmake.
Using cmake directly:
cd ~/your-node-source-dir
mkdir name-of-build-dir (can be anything)
cd name-of-build-dir
cmake ..
At this point you have generated a set of Makefiles and can use the standard
make commands (make, make install, etc.). The Makefile.cmake file is just a
wrapper around these commands; take a look at it for more details.
Other build targets:
make Experimental
make Nightly
make NightlyMemoryCheck
make Continuous
Additional options:
In the CMakeLists.txt, you'll see things like
option(SHARED_V8, ...). If you want to enable any of those options you can
pass "-DOPTION=True" when running cmake (e.g., cmake -DSHARED_V8=True).
See http://nodejs.org/ for more information. For help and discussion
subscribe to the mailing list by visiting
http://groups.google.com/group/nodejs or by sending an email to
nodejs+subscribe@googlegroups.com.

46
README.md Normal file
View File

@@ -0,0 +1,46 @@
Evented I/O for V8 javascript.
===
### To build:
Unix/Macintosh (requires python >= 2.5.2):
./configure
make
make install
Windows:
vcbuild.bat
### To run the tests:
Unix/Macintosh:
make test
Windows:
vcbuild.bat test
### To build the documentation:
make doc
### To read the documentation:
man doc/node.1
Resources for Newcomers
---
- [The Wiki](https://github.com/joyent/node/wiki)
- [nodejs.org](http://nodejs.org/)
- [how to install node.js and npm (node package manager)](http://joyeur.com/2010/12/10/installing-node-and-npm/)
- [list of modules](https://github.com/joyent/node/wiki/modules)
- [searching the npm registry](http://search.npmjs.org/)
- [list of companies and projects using node](https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node)
- [node.js mailing list](http://groups.google.com/group/nodejs)
- irc chatroom, [#node.js on freenode.net](http://webchat.freenode.net?channels=node.js&uio=d4)
- [community](https://github.com/joyent/node/wiki/Community)
- [contributing](https://github.com/joyent/node/wiki/Contributing)
- [big list of all the helpful wiki pages](https://github.com/joyent/node/wiki/_pages)

33
TODO
View File

@@ -1,33 +0,0 @@
- fix tests for NODE_MODULE_CONTEXTS=1
- readline
- fix for two column glyphs. use Markus Kuhn's wcwidth.c
- fix for commands that extend beyond term width
- Erradicate all traces of 'binary' encoding. Only used, now, in OpenSSL
binding.
- EventSource branch merged
- Use C++ style casts everywhere.
- Ruby-like Process#detach (is that possible?)
- stderr isn't flushing on exit
- ReadStream should not use an offset in calls to fs.read
(so that it can pull in files larger than 2G)
- process object should be defined in src/node.js not in c++
- Test for EMFILE accept spin bug.
- Deprecate setEncoding() and instead add option to on('data').
Example:
stdin.on('data', { encoding: 'utf8' }, function (chunk) {
process.stdout.write('WRITE: ' + chunk);
});
Perhaps by assigning cb.opts.encoding and calling
EventEmitter.optHandlers.encoding() if it exists.
- DOCS
- anchor links next to each function, for easy linking.
EG <a href="#fs.stat">#</a>
- "node --raw-js script.js" should bipass all Node code and load a raw V8
interpreter
- Use http_parser_execute2() in node_http_parser.cc and make req.pause()
work correctly
https://github.com/ry/http-parser/blob/c95a5479596e95b7cdd88ca9d7b32fd3afb4379c/http_parser.h#L266

View File

@@ -1,99 +0,0 @@
- Implement setenv / unsetenv
- Implement other stuff missing in node.cc/process
Like getuid, getgid, setgid, kill etc.
- Implement missing `net` methods
Are unix sockets similar to windows named pipes? If so, should they be
supported? -> currently: no. Complication: they block.
- New libev backend
The current libev backend supports sockets only. This complicates stuff like
child processes, stdio. Best would be if node_net switched from exposing
readyness notifications to using completion notifications, so on windows we
could use IOCP for sockets. Experts tell me that is really the fastest way
to work with sockets on windows.
- Child process issues
* Communication between parent and child is slow; it uses a socketpair
where a pipe would be much faster. Replace it by a pipe when there
is a libev backend that supports waiting for a pipe.
* When a child process spawns the pid is not available straightaway.
On linux the pid is available immediately because fork() doesn't
block; on windows a libeio thread is used to call CreateProcess.
So this can't really be fixed, but it could be worked around by adding a
'spawn' or 'pid' event.
* kill() doesn't work when the pid is not available yet. All the plumbing
is there to make it work, but lib/child_process.js just doesn't call
ChildProcess::Kill() as long as the pid is not known.
* passing socket custom_fds is not supported
* child_process.exec() only works on systems with msys installed.
It's because it relies on the 'sh' shell. The default windows shell
is 'cmd' and it works a little differently. Maybe add an option to
specify the shell to exec()?
- Stdio (make TTY's / repl / readline work)
This will be hard: there is no ANSI escape code support in windows.
Select() doesn't work on TTYs -- use a dedicated `getchar()` thread
that relays everything to an internal socket?
Also verify writeError and isStdoutBlocking correctness.
- Think about exposing the platform through the process object
It sucks but it may be necessary to know which platfom you're running on, e.g.
you can't do spawn('grep') on windows (unless there's msys).
Something like process.os or process.platform?
- Skip/fix tests that can never pass on windows
- Find a solution for fs.symlink / fs.lstat / fs.chown
Windows has different symlink types: file symlinks (vista+),
directory symlinks (vista+), junction points (xp+)
- Handle _open_osfhandle failures
E.g. currently we're using the construct _open_osfhandle(socket/open/accept(...)).
Now socket() can fail by itself and _open_osfhandle can fail by itself too.
If socket() fails it returns -1 so _open_osfhandle fails as well, but and we'll always return/throw EBADF.
If _open_osfhandle fails but socket doesn't, a stray handle is left open. It should be fixed.
- Check error number mappings.
Winsock errnos are sometimes different. Subtracting WSABASEERR from errnos works in most cases.
- Think about `make install`
- Extensions
Should be DLLs on windows.
- Link pthreads-w32 statically by default
- Link Mingw libraries statically by default
Like libstdc++.dll, more maybe.
Microsoft libs are always there, no static linkage required (e.g. msvcrt, winsock2).
- Make (open?)SSL work
- Support using shared libs (libeio, v8, c-ares)
Need to link with with a stub library. Libraries should use `dllexport`,
headers must have `dllimport`.
- V8: push MINGW32 build fixes upstream
(mostly done, V8 3.0.0 introduces some new issues)
- Work with the V8 team to get the stack corruption bug fixed
(fixed in 3.0.0)
- Work around missing pread/pwrite more elegantly
Currently it's exported from libeio, while it wasn't intended to be exported.
The libeio workaround implementation sucks, it uses a global mutex.
It should be possible to implement pread and pwrite using winapi's ReadFile/Writefile
directly, passing an OVERLAPPED structure while not associating with an completion port.
- Work around missing inet_pton/inet_ntop more elegantly
Currently it's exported from from c-ares, while it wasn't intended to be exported.
It prevents linking c-ares dynamically.
- See what libev/libeio changes can be pushed upstream
- 64-bit build
Should be possible with MinGW-w64, it's pretty good.
- ... much more probably

View File

@@ -0,0 +1,15 @@
var types = 'Array Buffer Int8Array Uint8Array Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array'.split(' ');
var type = types[types.indexOf(process.argv[2])];
if (!type)
type = types[0];
console.error('Benchmarking', type);
var clazz = global[type];
var arr = new clazz(25 * 10e5);
for (var i = 0; i < 10; ++i) {
for (var j = 0, k = arr.length; j < k; ++j) {
arr[j] = (j ^ k) & 127;
}
}

View File

@@ -0,0 +1,15 @@
var types = 'Array Buffer Int8Array Uint8Array Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array'.split(' ');
var type = types[types.indexOf(process.argv[2])];
if (!type)
type = types[0];
console.error('Benchmarking', type);
var clazz = global[type];
var arr = new clazz(25 * 10e5);
for (var i = 0; i < 10; ++i) {
for (var j = 0, k = arr.length; j < k; ++j) {
arr[j] = 0.0;
}
}

View File

@@ -0,0 +1,15 @@
var types = 'Array Buffer Int8Array Uint8Array Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array'.split(' ');
var type = types[types.indexOf(process.argv[2])];
if (!type)
type = types[0];
console.error('Benchmarking', type);
var clazz = global[type];
var arr = new clazz(25 * 10e5);
for (var i = 0; i < 10; ++i) {
for (var j = 0, k = arr.length; j < k; ++j) {
arr[j] = 0;
}
}

View File

@@ -11,26 +11,6 @@ for (var i = 0; i < 20*1024; i++) {
fixed += "C";
}
var uname, rev;
exec('git rev-list -1 HEAD', function (e, stdout) {
if (e) {
console.error("Problem executing: 'git rev-list -1 HEAD'");
throw new Error(e);
}
rev = stdout.replace(/\s/g, '');
});
exec('uname -a', function (e, stdout) {
if (e) {
console.error("Problem executing: 'uname -a'");
throw new Error(e);
}
uname = stdout.replace(/[\r\n]/g, '');
});
stored = {};
storedBuffer = {};
@@ -39,6 +19,7 @@ var server = http.createServer(function (req, res) {
var command = commands[1];
var body = "";
var arg = commands[2];
var n_chunks = parseInt(commands[3], 10);
var status = 200;
if (command == "bytes") {
@@ -73,19 +54,32 @@ var server = http.createServer(function (req, res) {
} else if (command == "fixed") {
body = fixed;
} else if (command == "info") {
body = 'rev=' + rev + '\nuname="' + uname + '"\n';
} else {
status = 404;
body = "not found\n";
}
var content_length = body.length.toString();
// example: http://localhost:port/bytes/512/4
// sends a 512 byte body in 4 chunks of 128 bytes
if (n_chunks > 0) {
res.writeHead(status, { "Content-Type": "text/plain",
"Transfer-Encoding": "chunked" });
// send body in chunks
var len = body.length;
var step = ~~(len / n_chunks) || len;
res.writeHead(status, { "Content-Type": "text/plain",
"Content-Length": content_length });
res.end(body);
for (var i = 0; i < len; i += step) {
res.write(body.slice(i, i + step));
}
res.end();
} else {
var content_length = body.length.toString();
res.writeHead(status, { "Content-Type": "text/plain",
"Content-Length": content_length });
res.end(body);
}
});
@@ -93,3 +87,6 @@ server.listen(port, function () {
console.log('Listening at http://127.0.0.1:'+port+'/');
});
process.on('exit', function() {
console.error('libuv counters', process.uvCounters());
});

View File

@@ -0,0 +1,9 @@
var cluster = require('cluster');
var os = require('os');
if (cluster.isMaster) {
console.log('master running on pid %d', process.pid);
for (var i = 1, n = os.cpus().length; i < n; ++i) cluster.fork();
} else {
require(__dirname + '/http_simple.js');
}

View File

@@ -2,41 +2,47 @@
* gcc -o iotest io.c
*/
#include <assert.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <sys/time.h>
#include <assert.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdio.h>
int tsize = 1000 * 1048576;
const char *path = "/tmp/wt.dat";
static int c = 0;
static int tsize = 1000 * 1048576;
static const char path[] = "/tmp/wt.dat";
static char buf[65536];
int c = 0;
static uint64_t now(void) {
struct timeval tv;
char* bufit(size_t l)
{
char *p = malloc(l);
memset(p, '!', l);
return p;
if (gettimeofday(&tv, NULL))
abort();
return tv.tv_sec * 1000000ULL + tv.tv_usec;
}
void writetest(int size, size_t bsize)
static void writetest(int size, size_t bsize)
{
int i;
char *buf = bufit(bsize);
struct timeval start, end;
uint64_t start, end;
double elapsed;
double mbps;
assert(bsize <= sizeof buf);
int fd = open(path, O_CREAT|O_WRONLY, 0644);
if (fd < 0) {
perror("open failed");
exit(254);
}
assert(0 == gettimeofday(&start, NULL));
start = now();
for (i = 0; i < size; i += bsize) {
int rv = write(fd, buf, bsize);
if (c++ % 2000 == 0) fprintf(stderr, ".");
@@ -45,35 +51,40 @@ void writetest(int size, size_t bsize)
exit(254);
}
}
#ifdef __linux__
fdatasync(fd);
#else
fsync(fd);
#endif
close(fd);
assert(0 == gettimeofday(&end, NULL));
elapsed = (end.tv_sec - start.tv_sec) + ((double)(end.tv_usec - start.tv_usec))/100000.;
mbps = ((tsize/elapsed)) / 1048576;
fprintf(stderr, "\nWrote %d bytes in %03fs using %ld byte buffers: %03fmB/s\n", size, elapsed, bsize, mbps);
free(buf);
#ifndef NSYNC
# ifdef __linux__
fdatasync(fd);
# else
fsync(fd);
# endif
#endif /* SYNC */
end = now();
elapsed = (end - start) / 1e6;
mbps = ((tsize/elapsed)) / 1048576;
fprintf(stderr, "\nWrote %d bytes in %03fs using %ld byte buffers: %03fmB/s\n", size, elapsed, bsize, mbps);
}
void readtest(int size, size_t bsize)
{
int i;
char *buf = bufit(bsize);
struct timeval start, end;
uint64_t start, end;
double elapsed;
double mbps;
assert(bsize <= sizeof buf);
int fd = open(path, O_RDONLY, 0644);
if (fd < 0) {
perror("open failed");
exit(254);
}
assert(0 == gettimeofday(&start, NULL));
start = now();
for (i = 0; i < size; i += bsize) {
int rv = read(fd, buf, bsize);
if (rv < 0) {
@@ -82,12 +93,12 @@ void readtest(int size, size_t bsize)
}
}
close(fd);
assert(0 == gettimeofday(&end, NULL));
elapsed = (end.tv_sec - start.tv_sec) + ((double)(end.tv_usec - start.tv_usec))/100000.;
mbps = ((tsize/elapsed)) / 1048576;
fprintf(stderr, "Read %d bytes in %03fs using %ld byte buffers: %03fmB/s\n", size, elapsed, bsize, mbps);
free(buf);
end = now();
elapsed = (end - start) / 1e6;
mbps = ((tsize/elapsed)) / 1048576;
fprintf(stderr, "Read %d bytes in %03fs using %ld byte buffers: %03fmB/s\n", size, elapsed, bsize, mbps);
}
void cleanup() {

17
benchmark/next-tick.js Normal file
View File

@@ -0,0 +1,17 @@
// run with `time node benchmark/next-tick.js`
var assert = require('assert');
var N = 1e7;
var n = 0;
process.on('exit', function() {
assert.equal(n, N);
});
function cb() {
n++;
}
for (var i = 0; i < N; ++i) {
process.nextTick(cb);
}

View File

@@ -0,0 +1 @@
console.log(process.memoryUsage().rss);

View File

@@ -1,48 +1,43 @@
var http = require("http");
var http = require('http');
var concurrency = 30;
var port = 12346;
var n = 7; // several orders of magnitude slower
var n = 700;
var bytes = 1024*5;
var requests = 0;
var responses = 0;
var body = "";
var body = '';
for (var i = 0; i < bytes; i++) {
body += "C";
body += 'C';
}
var server = http.createServer(function (req, res) {
var server = http.createServer(function(req, res) {
res.writeHead(200, {
"Content-Type": "text/plain",
"Content-Length": body.length
'Content-Type': 'text/plain',
'Content-Length': body.length
});
res.write(body);
res.close();
res.end(body);
})
server.listen(port);
function responseListener (res) {
res.addListener("end", function () {
if (requests < n) {
var req = res.client.request("/");
req.addListener('response', responseListener);
req.close();
requests++;
}
server.listen(port, function() {
var agent = new http.Agent();
agent.maxSockets = concurrency;
if (++responses == n) {
server.close();
}
});
}
for (var i = 0; i < concurrency; i++) {
var client = http.createClient(port);
client.id = i;
var req = client.request("/");
req.addListener('response', responseListener);
req.close();
requests++;
}
for (var i = 0; i < n; i++) {
var req = http.get({
port: port,
path: '/',
agent: agent
}, function(res) {
res.on('end', function() {
if (++responses === n) {
server.close();
}
});
});
req.id = i;
requests++;
}
});

View File

@@ -0,0 +1,25 @@
var net = require('net');
var received = 0;
var start = new Date();
var socket = net.connect(8000);
socket.on('data', function(d) {
received += d.length;
});
var interval = setInterval(function() {
// After 1 gigabyte shutdown.
if (received > 10 * 1024 * 1024 * 1024) {
socket.destroy();
clearInterval(interval);
process.exit(0);
} else {
// Otherwise print some stats.
var now = new Date();
var gigabytes = received / (1024 * 1024 * 1024);
var gigabits = gigabytes * 8.0;
var millisec = now - start;
var sec = millisec / 1000;
console.log((gigabits / sec) + " gbit/sec")
}
}, 1000);

21
benchmark/throughput.js Normal file
View File

@@ -0,0 +1,21 @@
var fork = require('child_process').fork;
var net = require('net');
var buffer = new Buffer(1024 * 1024);
function write(socket) {
if (!socket.writable) return;
socket.write(buffer, function() {
write(socket);
});
}
var server = net.createServer(function(socket) {
server.close();
write(socket);
});
server.listen(8000, function() {
fork(__dirname + '/throughput-child.js');
});

15
benchmark/v8_bench.js Normal file
View File

@@ -0,0 +1,15 @@
// compare with "google-chrome deps/v8/benchmarks/run.html"
var fs = require('fs');
var path = require('path');
var vm = require('vm');
var dir = path.join(__dirname, '..', 'deps', 'v8', 'benchmarks');
global.print = console.log;
global.load = function (x) {
var source = fs.readFileSync(path.join(dir, x), 'utf8');
vm.runInThisContext(source, x);
}
load('run.js');

View File

@@ -1,2 +0,0 @@
set(CTEST_CUSTOM_PRE_TEST "sh -c \"rm -rf ../test/tmp && mkdir ../test/tmp\"")
set(CTEST_CUSTOM_POST_TEST ${CTEST_CUSTOM_PRE_TEST})

View File

@@ -1,22 +0,0 @@
set(toolchain_dir #SET THIS TO YOUR TOOLCHAIN PATH)
set(toolchain_bin_dir ${toolchain_dir}/bin)
set(toolchain_libc_dir ${toolchain_dir}/arm-none-linux-gnueabi/libc)
set(toolchain_inc_dir ${toolchain_libc_dir}/include)
set(toolchain_lib_dir ${toolchain_libc_dir}/usr/lib)
set(CMAKE_SYSTEM_NAME Linux CACHE INTERNAL "system name")
set(CMAKE_SYSTEM_PROCESSOR arm CACHE INTERNAL "processor")
set(CMAKE_C_COMPILER ${toolchain_bin_dir}/arm-none-linux-gnueabi-gcc)
set(CMAKE_CXX_COMPILER ${toolchain_bin_dir}/arm-none-linux-gnueabi-g++)
set(CMAKE_C_FLAGS "-isystem ${toolchain_inc_dir}" CACHE INTERNAL "c compiler flags")
set(CMAKE_CXX_FLAGS "-isystem ${toolchain_inc_dir}" CACHE INTERNAL "cxx compiler flags")
set(link_flags -L${toolchain_lib_dir})
set(CMAKE_EXE_LINKER_FLAGS ${link_flags} CACHE INTERNAL "exe link flags")
set(CMAKE_MODULE_LINKER_FLAGS ${link_flags} CACHE INTERNAL "module link flags")
set(CMAKE_SHARED_LINKER_FLAGS ${link_flags} CACHE INTERNAL "shared lnk flags")
set(CMAKE_FIND_ROOT_PATH ${toolchain_libc_dir} CACHE INTERNAL "cross root directory")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH CACHE INTERNAL "")
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY CACHE INTERNAL "")
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY CACHE INTERNAL "")

View File

@@ -1,82 +0,0 @@
#
# configure node for building
#
include(CheckFunctionExists)
if(NOT "v${CMAKE_BUILD_TYPE}" MATCHES vDebug)
set(CMAKE_BUILD_TYPE "Release")
endif()
string(TOLOWER ${CMAKE_SYSTEM_NAME} node_platform)
# Get system architecture
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i686*)
set(node_arch x86)
elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES i386*)
set(node_arch x86)
else()
set(node_arch ${CMAKE_SYSTEM_PROCESSOR})
endif()
if(${node_arch} MATCHES unknown)
set(node_arch x86)
endif()
# Copy tools directory for out-of-source build
string(COMPARE EQUAL $(PROJECT_BINARY_DIR) ${PROJECT_SOURCE_DIR} in_source_build)
if(NOT ${in_source_build})
execute_process(COMMAND cmake -E copy_directory ${PROJECT_SOURCE_DIR}/tools ${PROJECT_BINARY_DIR}/tools)
endif()
# Set some compiler/linker flags..
set(CMAKE_C_FLAGS_DEBUG "-O0 -Wall -g -Wextra -DDEBUG $ENV{CFLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -Wall -g -Wextra -DDEBUG $ENV{CXXFLAGS}")
set(CMAKE_C_FLAGS_RELEASE "-g -O3 -DNDEBUG $ENV{CFLAGS}")
set(CMAKE_CXX_FLAGS_RELEASE "-g -O3 -DNDEBUG $ENV{CXXFLAGS}")
if(${node_platform} MATCHES sunos)
add_definitions(-threads)
elseif(NOT ${node_platform} MATCHES cygwin*)
add_definitions(-pthread)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -rdynamic")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -rdynamic")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pthread")
endif()
if(${node_platform} MATCHES darwin)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Carbon")
endif()
check_function_exists(fdatasync HAVE_FDATASYNC)
if(HAVE_FDATASYNC)
add_definitions(-DHAVE_FDATASYNC=1)
else()
add_definitions(-DHAVE_FDATASYNC=0)
endif()
add_definitions(
-DPLATFORM=${node_platform}
-DX_STACKSIZE=65536
-D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64
-DEV_MULTIPLICITY=0
)
# set the exec output path to be compatible with the current waf build system
if(${CMAKE_BUILD_TYPE} MATCHES Debug)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/debug/)
else()
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/default/)
endif()
#
## ---------------------------------------------------------
#
file(GLOB js2c_files ${PROJECT_SOURCE_DIR}/lib/*.js)
set(js2c_files ${PROJECT_SOURCE_DIR}/src/node.js ${js2c_files})
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/src)

View File

@@ -1,80 +0,0 @@
#
# docs
#
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/doc)
set(node_binary ${PROJECT_BINARY_DIR}/default/node)
set(doctool tools/doctool/doctool.js)
set(changelog_html ${PROJECT_BINARY_DIR}/doc/changelog.html)
file(GLOB_RECURSE doc_sources RELATIVE ${PROJECT_SOURCE_DIR} doc/*)
foreach(FILE ${doc_sources})
string(REGEX REPLACE "(.*)api_assets(.*)" "\\1api/assets\\2" OUT_FILE ${FILE})
add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/${OUT_FILE}
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_SOURCE_DIR}/${FILE} ${PROJECT_BINARY_DIR}/${OUT_FILE}
DEPENDS ${PROJECT_SOURCE_DIR}/${FILE}
)
list(APPEND doc_sources_copy ${PROJECT_BINARY_DIR}/${OUT_FILE})
endforeach()
file(GLOB_RECURSE api_markdown RELATIVE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/doc/api/*)
foreach(file ${api_markdown})
string(REGEX REPLACE "(.*)\\.markdown" "\\1" tmp ${file})
set(api_basenames ${api_basenames} ${tmp})
endforeach()
foreach(api ${api_basenames})
set(api_html ${api_html} ${PROJECT_BINARY_DIR}/${api}.html)
add_custom_command(
OUTPUT "${PROJECT_BINARY_DIR}/${api}.html"
COMMAND ${node_binary} ${doctool} ${PROJECT_BINARY_DIR}/doc/template.html "${PROJECT_BINARY_DIR}/${api}.markdown" > "${PROJECT_BINARY_DIR}/${api}.html"
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
DEPENDS node ${doctool} ${doc_sources_copy}
VERBATIM
)
endforeach()
add_custom_target(
doc
DEPENDS node ${doc_sources_copy} ${api_html} ${changelog_html}
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
#add_custom_command(
# OUTPUT ${PROJECT_BINARY_DIR}/doc/api.html
# COMMAND ${PROJECT_BINARY_DIR}/default/node tools/ronnjs/bin/ronn.js --fragment doc/api.markdown
# | sed "s/<h2>\\\(.*\\\)<\\/h2>/<h2 id=\"\\1\">\\1<\\/h2>/g"
# | cat doc/api_header.html - doc/api_footer.html > ${PROJECT_BINARY_DIR}/doc/api.html
# WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
# DEPENDS node doc/api.markdown doc/api_header.html doc/api_footer.html
# VERBATIM
# )
add_custom_command(
OUTPUT ${changelog_html}
COMMAND ${node_binary} ${doctool} doc/template.html ChangeLog
| sed "s|assets/|api/assets/|g"
| sed "s|<body>|<body id=\"changelog\">|g" > ${changelog_html}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
DEPENDS ChangeLog node ${doctool} ${doc_sources_copy}
VERBATIM
)
#add_custom_command(
# OUTPUT ${PROJECT_BINARY_DIR}/doc/changelog.html
# COMMAND cat doc/changelog_header.html ChangeLog doc/changelog_footer.html > ${PROJECT_BINARY_DIR}/doc/changelog.html
# WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
# DEPENDS ChangeLog doc/changelog_header.html doc/changelog_footer.html
# VERBATIM
# )
#add_custom_command(
# OUTPUT ${PROJECT_BINARY_DIR}/doc/node.1
# COMMAND ${PROJECT_BINARY_DIR}/default/node tools/ronnjs/bin/ronn.js --roff doc/api.markdown > ${PROJECT_BINARY_DIR}/doc/node.1
# WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
# DEPENDS node doc/api.markdown tools/ronnjs/bin/ronn.js
# VERBATIM
# )

View File

@@ -1,18 +0,0 @@
if(SHARED_CARES)
find_library(LIBCARES_LIBRARY NAMES cares)
find_path(LIBCARES_INCLUDE_DIR ares.h
PATH_SUFFIXES include
) # Find header
find_package_handle_standard_args(libcares DEFAULT_MSG LIBCARES_LIBRARY LIBCARES_INCLUDE_DIR)
else()
set(cares_arch ${node_arch})
if(${node_arch} MATCHES x86_64)
set(cares_arch x64)
elseif(${node_arch} MATCHES x86)
set(cares_arch ia32)
endif()
add_subdirectory(deps/c-ares)
set(LIBCARES_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/deps/c-ares ${CMAKE_SOURCE_DIR}/deps/c-ares/${node_platform}-${cares_arch})
endif()

View File

@@ -1,10 +0,0 @@
if(SHARED_LIBEV)
find_library(LIBEV_LIBRARY NAMES ev)
find_path(LIBEV_INCLUDE_DIR ev.h
PATH_SUFFIXES include/ev include
) # Find header
find_package_handle_standard_args(libev DEFAULT_MSG LIBEV_LIBRARY LIBEV_INCLUDE_DIR)
else()
add_subdirectory(deps/libev)
set(LIBEV_INCLUDE_DIR deps/libev)
endif()

View File

@@ -1,55 +0,0 @@
#
# libraries
#
include(CheckLibraryExists)
include(FindPackageHandleStandardArgs)
set(HAVE_CONFIG_H True)
add_definitions(-DHAVE_CONFIG_H=1)
find_package(OpenSSL QUIET)
find_package(Threads)
find_library(RT rt)
find_library(DL dl)
check_library_exists(socket socket "" HAVE_SOCKET_LIB)
check_library_exists(nsl gethostbyname "" HAVE_NSL_LIB)
check_library_exists(util openpty "" HAVE_UTIL_LIB)
if(RT)
set(extra_libs ${extra_libs} ${RT})
endif()
if(DL)
set(extra_libs ${extra_libs} ${DL})
endif()
if(${node_platform} MATCHES freebsd)
find_library(KVM NAMES kvm)
set(extra_libs ${extra_libs} KVM)
endif()
if(${HAVE_SOCKET_LIB})
set(extra_libs ${extra_libs} socket)
endif()
if(${HAVE_NSL_LIB})
set(extra_libs ${extra_libs} nsl)
endif()
if(HAVE_UTIL_LIB)
set(extra_libs ${extra_libs} util)
endif()
if(OPENSSL_FOUND)
add_definitions(-DHAVE_OPENSSL=1)
set(HAVE_OPENSSL True)
set(node_extra_src ${node_extra_src} src/node_crypto.cc)
set(extra_libs ${extra_libs} ${OPENSSL_LIBRARIES})
endif()
include("cmake/libc-ares.cmake")
include("cmake/libev.cmake")
include("cmake/libv8.cmake")
add_subdirectory(deps/libeio)
add_subdirectory(deps/http_parser)

View File

@@ -1,25 +0,0 @@
set(V8_INCLUDE_NAMES v8.h v8-debug.h v8-profiler.h v8stdint.h)
set(V8_LIBRARY_NAMES v8)
if(SHARED_V8)
find_path(V8_INCLUDE_DIR NAMES ${V8_INCLUDE_NAMES})
find_library(V8_LIBRARY_PATH NAMES ${V8_LIBRARY_NAMES} NO_CMAKE_PATH)
else()
set(V8_INCLUDE_DIR "${PROJECT_BINARY_DIR}/deps/v8/include")
if(${CMAKE_BUILD_TYPE} MATCHES Debug)
set(v8_fn "libv8_g.a")
else()
set(v8_fn "libv8.a")
endif()
set(V8_LIBRARY_PATH "${PROJECT_BINARY_DIR}/deps/v8/${v8_fn}")
install(DIRECTORY
## Do NOT remove the trailing slash
## it is required so that v8 headers are
## copied directly into include/node
## rather than in a subdirectory
## See CMake's install(DIRECTORY) manual for details
${V8_INCLUDE_DIR}/
DESTINATION include/node
)
endif()

View File

@@ -1,91 +0,0 @@
#
# node build stuff
#
add_custom_command(
OUTPUT ${PROJECT_BINARY_DIR}/src/node_natives.h
COMMAND ${PYTHON_EXECUTABLE} tools/js2c.py ${PROJECT_BINARY_DIR}/src/node_natives.h ${js2c_files}
DEPENDS ${js2c_files})
set(node_platform_src "src/platform_${node_platform}.cc")
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/${node_platform_src})
set(node_extra_src ${node_extra_src} "src/platform_none.cc")
else()
set(node_extra_src ${node_extra_src} ${node_platform_src})
endif()
set(node_sources
src/node_main.cc
src/node.cc
src/node_buffer.cc
src/node_javascript.cc
src/node_extensions.cc
src/node_http_parser.cc
src/node_net.cc
src/node_io_watcher.cc
src/node_child_process.cc
src/node_constants.cc
src/node_cares.cc
src/node_events.cc
src/node_file.cc
src/node_signal_watcher.cc
src/node_stat_watcher.cc
src/node_stdio.cc
src/node_timer.cc
src/node_script.cc
src/node_os.cc
src/node_natives.h
${node_extra_src})
# Set up PREFIX, CCFLAGS, and CPPFLAGS for node_config.h
set(PREFIX ${CMAKE_INSTALL_PREFIX})
if(${CMAKE_BUILD_TYPE} MATCHES Debug)
set(CCFLAGS "${CMAKE_C_FLAGS_DEBUG} ${CMAKE_C_FLAGS}")
else()
set(CCFLAGS "${CMAKE_C_FLAGS_RELEASE} ${CMAKE_C_FLAGS}")
endif()
get_directory_property(compile_defs COMPILE_DEFINITIONS)
foreach(def ${compile_defs})
set(CPPFLAGS "${CPPFLAGS} -D${def}")
endforeach()
configure_file(src/node_config.h.in ${PROJECT_BINARY_DIR}/src/node_config.h)
configure_file(config.h.cmake ${PROJECT_BINARY_DIR}/config.h)
include_directories(
src
deps/libeio
deps/http_parser
${V8_INCLUDE_DIR}
${LIBEV_INCLUDE_DIR}
${LIBCARES_INCLUDE_DIR}
${PROJECT_BINARY_DIR}
${PROJECT_BINARY_DIR}/src
)
add_executable(node ${node_sources})
set_target_properties(node PROPERTIES DEBUG_POSTFIX "_g")
target_link_libraries(node
ev
eio
cares
http_parser
${V8_LIBRARY_PATH}
${CMAKE_THREAD_LIBS_INIT}
${extra_libs})
install(TARGETS node RUNTIME DESTINATION bin)
install(FILES
${PROJECT_BINARY_DIR}/config.h
src/node.h
src/node_object_wrap.h
src/node_buffer.h
src/node_events.h
src/node_version.h
${PROJECT_BINARY_DIR}/src/node_config.h
DESTINATION include/node
)

View File

@@ -1,35 +0,0 @@
#
# package
#
if(${node_platform} MATCHES darwin)
set(CPACK_GENERATOR "TGZ;PackageMaker")
# CPack requires the files to end in .txt
configure_file(LICENSE ${PROJECT_BINARY_DIR}/LICENSE.txt COPYONLY)
configure_file(ChangeLog ${PROJECT_BINARY_DIR}/ChangeLog.txt COPYONLY)
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_BINARY_DIR}/LICENSE.txt")
set(CPACK_RESOURCE_FILE_README "${PROJECT_BINARY_DIR}/ChangeLog.txt")
#set(CPACK_RESOURCE_FILE_WELCOME "")
elseif(${node_platform} MATCHES linux)
set(CPACK_GENERATOR "TGZ;DEB;RPM")
else()
set(CPACK_GENERATOR "TGZ")
endif()
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Tom Hughes <tom.hughes@palm.com>")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Evented I/O for V8 JavaScript.")
set(CPACK_PACKAGE_DESCRIPTION "Evented I/O for V8 JavaScript.
Node's goal is to provide an easy way to build scalable network programs.
Node is similar in design to and influenced by systems like Ruby's Event
Machine or Python's Twisted. Node takes the event model a bit further—it
presents the event loop as a language construct instead of as a library.")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION}")
set(CPACK_DEBIAN_PACKAGE_SECTION "web")
file(READ ${PROJECT_SOURCE_DIR}/src/node_version.h node_version_h LIMIT 1024 OFFSET 0)
string(REGEX REPLACE ".*NODE_MAJOR_VERSION[ ]*([0-9]+).*" "\\1" CPACK_PACKAGE_VERSION_MAJOR "${node_version_h}")
string(REGEX REPLACE ".*NODE_MINOR_VERSION[ ]*([0-9]+).*" "\\1" CPACK_PACKAGE_VERSION_MINOR "${node_version_h}")
string(REGEX REPLACE ".*NODE_PATCH_VERSION[ ]*([0-9]+).*" "\\1" CPACK_PACKAGE_VERSION_PATCH "${node_version_h}")
set(node_version_string "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
# Note: this is intentionally at the bottom so that the above CPACK variables
# are used by CPack.
include(CPack)

View File

@@ -1,92 +0,0 @@
#
# v8 build stuff
#
string(TOLOWER ${CMAKE_BUILD_TYPE} v8mode)
set(v8arch ${node_arch})
if(${node_arch} MATCHES x86_64)
set(v8arch x64)
elseif(${node_arch} MATCHES x86)
set(v8arch ia32)
endif()
if(NOT SHARED_V8)
if(V8_SNAPSHOT)
set(v8snapshot snapshot=on)
endif()
if(${node_platform} MATCHES darwin)
execute_process(COMMAND hwprefs cpu_count OUTPUT_VARIABLE cpu_count)
elseif(${node_platform} MATCHES linux)
execute_process(COMMAND sh -c "cat /proc/cpuinfo | grep processor | sort | uniq | wc -l"
OUTPUT_VARIABLE cpu_count)
elseif(${node_platform} MATCHES sunos)
execute_process(COMMAND sh -c "psrinfo | wc -l" OUTPUT_VARIABLE cpu_count)
else()
set(cpu_count 1)
endif()
if(${cpu_count} GREATER 1)
math(EXPR parallel_jobs ${cpu_count}*2)
else()
set(parallel_jobs 1)
endif()
add_library(v8 STATIC IMPORTED)
set_property(TARGET v8
PROPERTY IMPORTED_LOCATION ${PROJECT_BINARY_DIR}/deps/v8/${v8_fn})
set(compile_env_vars "CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} AR=${CMAKE_AR} RANLIB=${CMAKE_RANLIB} CFLAGS=\"${CMAKE_C_FLAGS}\" CXXFLAGS=\"${CMAKE_CXX_FLAGS}\" LDFLAGS=\"${CMAKE_EXE_LINKER_FLAGS}\"")
if(CMAKE_VERSION VERSION_GREATER 2.8 OR CMAKE_VERSION VERSION_EQUAL 2.8)
# use ExternalProject for CMake >2.8
include(ExternalProject)
ExternalProject_Add(v8_extprj
URL ${PROJECT_SOURCE_DIR}/deps/v8
BUILD_IN_SOURCE True
BUILD_COMMAND sh -c "${compile_env_vars} ${PYTHON_EXECUTABLE} ${PROJECT_BINARY_DIR}/tools/scons/scons.py library=static visibility=default ${v8snapshot} mode=${v8mode} verbose=on arch=${v8arch} -j ${parallel_jobs}"
SOURCE_DIR ${PROJECT_BINARY_DIR}/deps/v8
# ignore this stuff, it's not needed for building v8 but ExternalProject
# demands these steps
CONFIGURE_COMMAND "true" # fake configure
INSTALL_COMMAND "true" # fake install
)
add_dependencies(node v8_extprj)
else()
# copy v8 sources inefficiently with CMake versions <2.8
file(GLOB_RECURSE v8_sources RELATIVE ${PROJECT_SOURCE_DIR} deps/v8/*)
if(NOT ${in_source_build})
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/deps/v8)
foreach(FILE ${v8_sources})
add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/${FILE}
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_SOURCE_DIR}/${FILE} ${PROJECT_BINARY_DIR}/${FILE}
DEPENDS ${PROJECT_SOURCE_DIR}/${FILE}
)
list(APPEND v8_sources_dest ${PROJECT_BINARY_DIR}/${FILE})
endforeach()
else()
set(v8_sources_dest ${v8_sources})
endif()
add_custom_command(
OUTPUT ${PROJECT_BINARY_DIR}/deps/v8/${v8_fn}
COMMAND sh -c "${compile_env_vars} ${PYTHON_EXECUTABLE} ${PROJECT_BINARY_DIR}/tools/scons/scons.py library=static visibility=default ${v8snapshot} mode=${v8mode} verbose=on arch=${v8arch} -j ${parallel_jobs}"
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/deps/v8/
DEPENDS ${v8_sources_dest}
)
add_custom_target(v8_stock ALL DEPENDS ${PROJECT_BINARY_DIR}/deps/v8/${v8_fn})
set_property(TARGET v8 PROPERTY
IMPORTED_LOCATION ${PROJECT_BINARY_DIR}/deps/v8/${v8_fn})
add_dependencies(node v8_stock)
endif()
endif()

166
common.gypi Normal file
View File

@@ -0,0 +1,166 @@
{
'variables': {
'visibility%': 'hidden', # V8's visibility setting
'target_arch%': 'ia32', # set v8's target architecture
'host_arch%': 'ia32', # set v8's host architecture
'library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds
'component%': 'static_library', # NB. these names match with what V8 expects
'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way
},
'target_defaults': {
'default_configuration': 'Debug',
'configurations': {
'Debug': {
'defines': [ 'DEBUG', '_DEBUG' ],
'cflags': [ '-g', '-O0' ],
'msvs_settings': {
'VCCLCompilerTool': {
'target_conditions': [
['library=="static_library"', {
'RuntimeLibrary': 1, # static debug
}, {
'RuntimeLibrary': 3, # DLL debug
}],
],
'Optimization': 0, # /Od, no optimization
'MinimalRebuild': 'true',
'OmitFramePointers': 'false',
'BasicRuntimeChecks': 3, # /RTC1
},
'VCLinkerTool': {
'LinkIncremental': 2, # enable incremental linking
},
},
},
'Release': {
'defines': [ 'NDEBUG' ],
'cflags': [ '-O3', '-fomit-frame-pointer', '-fdata-sections', '-ffunction-sections' ],
'msvs_settings': {
'VCCLCompilerTool': {
'target_conditions': [
['library=="static_library"', {
'RuntimeLibrary': 0, # static release
}, {
'RuntimeLibrary': 2, # debug release
}],
],
'Optimization': 3, # /Ox, full optimization
'FavorSizeOrSpeed': 1, # /Ot, favour speed over size
'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible
'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG
'OmitFramePointers': 'true',
'EnableFunctionLevelLinking': 'true',
'EnableIntrinsicFunctions': 'true',
'AdditionalOptions': [
'/MP', # compile across multiple CPUs
],
},
'VCLibrarianTool': {
'AdditionalOptions': [
'/LTCG', # link time code generation
],
},
'VCLinkerTool': {
'LinkTimeCodeGeneration': 1, # link-time code generation
'OptimizeReferences': 2, # /OPT:REF
'EnableCOMDATFolding': 2, # /OPT:ICF
'LinkIncremental': 1, # disable incremental linking
},
},
}
},
'msvs_settings': {
'VCCLCompilerTool': {
'StringPooling': 'true', # pool string literals
'DebugInformationFormat': 3, # Generate a PDB
'WarningLevel': 3,
'BufferSecurityCheck': 'true',
'ExceptionHandling': 1, # /EHsc
'SuppressStartupBanner': 'true',
'WarnAsError': 'false',
},
'VCLibrarianTool': {
},
'VCLinkerTool': {
'GenerateDebugInformation': 'true',
'RandomizedBaseAddress': 2, # enable ASLR
'DataExecutionPrevention': 2, # enable DEP
'AllowIsolation': 'true',
'SuppressStartupBanner': 'true',
'target_conditions': [
['_type=="executable"', {
'SubSystem': 1, # console executable
}],
],
},
},
'conditions': [
['OS == "win"', {
'msvs_cygwin_shell': 0, # prevent actions from trying to use cygwin
'defines': [
'WIN32',
# we don't really want VC++ warning us about
# how dangerous C functions are...
'_CRT_SECURE_NO_DEPRECATE',
# ... or that C implementations shouldn't use
# POSIX names
'_CRT_NONSTDC_NO_DEPRECATE',
'BUILDING_V8_SHARED=1',
'BUILDING_UV_SHARED=1',
],
}],
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
'cflags': [ '-Wall', '-pthread', ],
'cflags_cc': [ '-fno-rtti', '-fno-exceptions' ],
'ldflags': [ '-pthread', ],
'conditions': [
[ 'target_arch=="ia32"', {
'cflags': [ '-m32' ],
'ldflags': [ '-m32' ],
}],
[ 'OS=="linux"', {
'cflags': [ '-ansi' ],
}],
[ 'visibility=="hidden"', {
'cflags': [ '-fvisibility=hidden' ],
}],
],
}],
['OS=="mac"', {
'xcode_settings': {
'ALWAYS_SEARCH_USER_PATHS': 'NO',
'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks
'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic
# (Equivalent to -fPIC)
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
# GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
'GCC_VERSION': '4.2',
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
'MACOSX_DEPLOYMENT_TARGET': '10.4', # -mmacosx-version-min=10.4
'PREBINDING': 'NO', # No -Wl,-prebind
'USE_HEADERMAP': 'NO',
'OTHER_CFLAGS': [
'-fno-strict-aliasing',
],
'WARNING_CFLAGS': [
'-Wall',
'-Wendif-labels',
'-W',
'-Wno-unused-parameter',
],
},
'target_conditions': [
['_type!="static_library"', {
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
}],
],
}],
],
}
}

View File

@@ -1,2 +0,0 @@
#cmakedefine HAVE_OPENSSL 1
#cmakedefine HAVE_CONFIG_H 1

2
configure vendored
View File

@@ -2,7 +2,7 @@
# v8 doesn't like ccache
if [ ! -z "`echo $CC | grep ccache`" ]; then
echo "Error: V8 doesn't like cache. Please set your CC env var to 'gcc'"
echo "Error: V8 doesn't like ccache. Please set your CC env var to 'gcc'"
echo " (ba)sh: export CC=gcc"
exit 1
fi

247
configure-gyp Executable file
View File

@@ -0,0 +1,247 @@
#!/usr/bin/env python
import optparse
import os
import json
import sys
root_dir = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(root_dir, 'deps', 'v8', 'tools'))
import utils # GuessArchitecture
# parse our options
parser = optparse.OptionParser()
parser.add_option("--debug",
action="store_true",
dest="debug",
help="Also build debug build")
parser.add_option("--prefix",
action="store",
dest="prefix",
help="Select the install prefix (defaults to /usr/local)")
parser.add_option("--without-ssl",
action="store_true",
dest="without_ssl",
help="Build without SSL")
parser.add_option("--without-snapshot",
action="store_true",
dest="without_snapshot",
help="Build without snapshotting V8 libraries. You might want to set"
" this for cross-compiling. [Default: False]")
parser.add_option("--shared-v8",
action="store_true",
dest="shared_v8",
help="Link to a shared V8 DLL instead of static linking")
parser.add_option("--shared-v8-includes",
action="store",
dest="shared_v8_includes",
help="Directory containing V8 header files")
parser.add_option("--shared-v8-libpath",
action="store",
dest="shared_v8_libpath",
help="A directory to search for the shared V8 DLL")
parser.add_option("--shared-v8-libname",
action="store",
dest="shared_v8_libname",
help="Alternative lib name to link to (default: 'v8')")
parser.add_option("--openssl-includes",
action="store",
dest="openssl_includes",
help="A directory to search for the OpenSSL includes")
parser.add_option("--openssl-libpath",
action="store",
dest="openssl_libpath",
help="A directory to search for the OpenSSL libraries")
parser.add_option("--no-ssl2",
action="store_true",
dest="no_ssl2",
help="Disable OpenSSL v2")
parser.add_option("--shared-cares",
action="store_true",
dest="shared_cares",
help="Link to a shared C-Ares DLL instead of static linking")
parser.add_option("--shared-cares-includes",
action="store",
dest="shared_cares_includes",
help="Directory containing C-Ares header files")
parser.add_option("--shared-cares-libpath",
action="store",
dest="shared_cares_libpath",
help="A directory to search for the shared C-Ares DLL")
parser.add_option("--with-dtrace",
action="store_true",
dest="with_dtrace",
help="Build with DTrace (experimental)")
# CHECKME does this still work with recent releases of V8?
parser.add_option("--gdb",
action="store_true",
dest="gdb",
help="add gdb support")
parser.add_option("--dest-cpu",
action="store",
dest="dest_cpu",
help="CPU architecture to build for. Valid values are: arm, ia32, x64")
(options, args) = parser.parse_args()
def pkg_config(pkg):
cmd = os.popen('pkg-config --libs %s' % pkg, 'r')
libs = cmd.readline().strip()
ret = cmd.close()
if (ret): return None
cmd = os.popen('pkg-config --cflags %s' % pkg, 'r')
cflags = cmd.readline().strip()
ret = cmd.close()
if (ret): return None
return (libs, cflags)
def uname(switch):
f = os.popen('uname %s' % switch)
s = f.read().strip()
f.close()
return s
def host_arch():
"""Host architecture. One of arm, ia32 or x64."""
arch = uname('-p')
if arch == 'unknown':
arch = uname('-m')
return {
'arm': 'arm',
'x86': 'ia32',
'i386': 'ia32',
'x86_64': 'x64',
}.get(arch, 'ia32')
def target_arch():
# TODO act on options.dest_cpu
return host_arch()
def configure_node(o):
# TODO add gdb and dest_cpu
o['variables']['node_debug'] = 'true' if options.debug else 'false'
o['variables']['node_prefix'] = options.prefix if options.prefix else ''
o['variables']['node_use_dtrace'] = 'true' if options.with_dtrace else 'false'
o['variables']['host_arch'] = host_arch()
o['variables']['target_arch'] = target_arch()
# TODO move to node.gyp
if sys.platform == 'sunos5':
o['variables']['visibility'] = '' # FIXME -fvisibility=hidden, should be a gcc check
def configure_libz(o):
o['libraries'] += ['-lz']
def configure_v8(o):
o['variables']['v8_use_snapshot'] = 'true' if not options.without_snapshot else 'false'
o['variables']['node_shared_v8'] = 'true' if options.shared_v8 else 'false'
# assume shared_v8 if one of these is set?
if options.shared_v8_libpath:
o['libraries'] += ['-L%s' % options.shared_v8_libpath]
if options.shared_v8_libname:
o['libraries'] += ['-l%s' % options.shared_v8_libname]
if options.shared_v8_includes:
o['include_dirs'] += [options.shared_v8_includes]
def configure_cares(o):
o['variables']['node_shared_cares'] = 'true' if options.shared_cares else 'false'
# assume shared_cares if one of these is set?
if options.shared_cares_libpath:
o['libraries'] += ['-L%s' % options.shared_cares_libpath]
if options.shared_cares_includes:
o['include_dirs'] += [options.shared_cares_includes]
def configure_openssl(o):
o['variables']['node_use_openssl'] = 'false' if options.without_ssl else 'true'
if options.without_ssl:
return
if options.no_ssl2:
o['defines'] += ['OPENSSL_NO_SSL2=1']
out = pkg_config('openssl')
(libs, cflags) = out if out else ('', '')
if options.openssl_libpath:
o['libraries'] += ['-L%s' % options.openssl_libpath, '-lssl', '-lcrypto']
else:
o['libraries'] += libs.split()
if options.openssl_includes:
o['include_dirs'] += [options.openssl_includes]
else:
o['cflags'] += cflags.split()
if libs or cflags or options.openssl_libpath or options.openssl_includes:
o['variables']['node_use_system_openssl'] = 'true'
else:
o['variables']['node_use_system_openssl'] = 'false'
print "configure options:", options
output = {
'variables': {},
'include_dirs': [],
'libraries': [],
'defines': [],
'cflags': [],
}
configure_node(output)
configure_libz(output)
configure_v8(output)
configure_cares(output)
configure_openssl(output)
# variables should be a root level element,
# move everything else to target_defaults
variables = output['variables']
del output['variables']
output = {
'variables': variables,
'target_defaults': output
}
fn = os.path.join(root_dir, 'options.gypi')
print "creating ", fn
f = open(fn, 'w+')
f.write("# Do not edit. Generated by the configure script.\n")
json.dump(output, f, indent=2, skipkeys=True)
f.write("\n")
f.close()

View File

@@ -1,25 +0,0 @@
c-ares version 1.7.4
Changed:
o local-bind: Support binding to local interface/IPs, see
ares_set_local_ip4, ares_set_local_ip6, ares_set_local_dev
Fixed:
o memory leak in ares_getnameinfo
o add missing break that caused get_ares_servers to fail
o ares_parse_a_reply: fix CNAME response parsing
o init_by_options: don't copy an empty sortlist
o Replaced uint32_t with unsigned int to fix broken builds
on a couple of platforms
o Fix lookup with HOSTALIASES set
o adig: fix NAPTR parsing
o compiler warning cleanups
Thanks go to these friendly people for their efforts and contributions:
Andrew C. Morrow, Ben Greear, Ben Noordhuis, Daniel Stenberg,
Guenter Knauf, Mike Crowe, Patrik Thunstrom, Yang Tse
Have fun!

View File

@@ -1,70 +0,0 @@
/* Copyright (C) 2010 by Daniel Stenberg
*
* Permission to use, copy, modify, and distribute this
* software and its documentation for any purpose and without
* fee is hereby granted, provided that the above copyright
* notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in
* advertising or publicity pertaining to distribution of the
* software without specific, written prior permission.
* M.I.T. makes no representations about the suitability of
* this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
#include "ares_setup.h"
#include "ares_nowarn.h"
#if (SIZEOF_INT == 2)
# define CARES_MASK_SINT 0x7FFF
# define CARES_MASK_UINT 0xFFFF
#elif (SIZEOF_INT == 4)
# define CARES_MASK_SINT 0x7FFFFFFF
# define CARES_MASK_UINT 0xFFFFFFFF
#elif (SIZEOF_INT == 8)
# define CARES_MASK_SINT 0x7FFFFFFFFFFFFFFF
# define CARES_MASK_UINT 0xFFFFFFFFFFFFFFFF
#elif (SIZEOF_INT == 16)
# define CARES_MASK_SINT 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
# define CARES_MASK_UINT 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
#endif
/*
** size_t to signed int
*/
int aresx_uztosi(size_t uznum)
{
#ifdef __INTEL_COMPILER
# pragma warning(push)
# pragma warning(disable:810) /* conversion may lose significant bits */
#endif
return (int)(uznum & (size_t) CARES_MASK_SINT);
#ifdef __INTEL_COMPILER
# pragma warning(pop)
#endif
}
/*
** signed long to signed int
*/
int aresx_sltosi(long slnum)
{
#ifdef __INTEL_COMPILER
# pragma warning(push)
# pragma warning(disable:810) /* conversion may lose significant bits */
#endif
return (int)(slnum & (long) CARES_MASK_SINT);
#ifdef __INTEL_COMPILER
# pragma warning(pop)
#endif
}

View File

@@ -1,112 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* $Id$ */
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
/* #undef CARES_PULL_WS2TCPIP_H */
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CARES_PULL_SYS_TYPES_H 1
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#define CARES_PULL_SYS_SOCKET_H 1
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 4
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,198 +0,0 @@
#ifndef HEADER_CARES_SETUP_H
#define HEADER_CARES_SETUP_H
/* $Id$ */
/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/*
* Define WIN32 when build target is Win32 API
*/
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
#define WIN32
#endif
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
*/
#ifdef HAVE_CONFIG_H
#include "ares_config.h"
#else
#ifdef WIN32
#include "config-win32.h"
#endif
#endif /* HAVE_CONFIG_H */
/* ================================================================ */
/* Definition of preprocessor macros/symbols which modify compiler */
/* behaviour or generated code characteristics must be done here, */
/* as appropriate, before any system header file is included. It is */
/* also possible to have them defined in the config file included */
/* before this point. As a result of all this we frown inclusion of */
/* system header files in our config files, avoid this at any cost. */
/* ================================================================ */
/*
* AIX 4.3 and newer needs _THREAD_SAFE defined to build
* proper reentrant code. Others may also need it.
*/
#ifdef NEED_THREAD_SAFE
# ifndef _THREAD_SAFE
# define _THREAD_SAFE
# endif
#endif
/*
* Tru64 needs _REENTRANT set for a few function prototypes and
* things to appear in the system header files. Unixware needs it
* to build proper reentrant code. Others may also need it.
*/
#ifdef NEED_REENTRANT
# ifndef _REENTRANT
# define _REENTRANT
# endif
#endif
/* ================================================================ */
/* If you need to include a system header file for your platform, */
/* please, do it beyond the point further indicated in this file. */
/* ================================================================ */
/*
* c-ares external interface definitions are also used internally,
* and might also include required system header files to define them.
*/
#include <ares_build.h>
/*
* Compile time sanity checks must also be done when building the library.
*/
#include <ares_rules.h>
/* ================================================================= */
/* No system header file shall be included in this file before this */
/* point. The only allowed ones are those included from ares_build.h */
/* ================================================================= */
/*
* Include header files for windows builds before redefining anything.
* Use this preproessor block only to include or exclude windows.h,
* winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
* to any other further and independent block. Under Cygwin things work
* just as under linux (e.g. <sys/socket.h>) and the winsock headers should
* never be included when __CYGWIN__ is defined. configure script takes
* care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
* neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
*/
#ifdef HAVE_WINDOWS_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
# else
# ifdef HAVE_WINSOCK_H
# include <winsock.h>
# endif
# endif
#endif
/*
* Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
* define USE_WINSOCK to 1 if we have and use WINSOCK API, else
* undefine USE_WINSOCK.
*/
#undef USE_WINSOCK
#ifdef HAVE_WINSOCK2_H
# define USE_WINSOCK 2
#else
# ifdef HAVE_WINSOCK_H
# define USE_WINSOCK 1
# endif
#endif
/*
* Work-arounds for systems without configure support
*/
#ifndef HAVE_CONFIG_H
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#endif /* HAVE_CONFIG_H */
#ifdef __POCC__
# include <sys/types.h>
# include <unistd.h>
# define ESRCH 3
#endif
/*
* Recent autoconf versions define these symbols in ares_config.h. We don't
* want them (since they collide with the libcurl ones when we build
* --enable-debug) so we undef them again here.
*/
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
/*
* Include macros and defines that should only be processed once.
*/
#ifndef __SETUP_ONCE_H
#include "setup_once.h"
#endif
#endif /* HEADER_CARES_SETUP_H */

View File

@@ -1,112 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* $Id$ */
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
/* #undef CARES_PULL_WS2TCPIP_H */
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CARES_PULL_SYS_TYPES_H 1
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#define CARES_PULL_SYS_SOCKET_H 1
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 4
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,112 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* $Id$ */
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
/* #undef CARES_PULL_WS2TCPIP_H */
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CARES_PULL_SYS_TYPES_H 1
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#define CARES_PULL_SYS_SOCKET_H 1
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 8
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,513 +0,0 @@
/* ares_config.h. Generated from ares_config.h.in by configure. */
/* ares_config.h.in. Generated from configure.ac by autoheader. */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* define this if ares is built for a big endian system */
/* #undef ARES_BIG_ENDIAN */
/* when building as static part of libcurl */
/* #undef BUILDING_LIBCURL */
/* when building c-ares library */
/* #undef CARES_BUILDING_LIBRARY */
/* when not building a shared library */
/* #undef CARES_STATICLIB */
/* Define to 1 to enable hiding of library internal symbols. */
#define CARES_SYMBOL_HIDING 1
/* Definition to make a library symbol externally visible. */
#define CARES_SYMBOL_SCOPE_EXTERN __attribute__ ((visibility ("default")))
/* if a /etc/inet dir is being used */
/* #undef ETC_INET */
/* Define to the type qualifier of arg 1 for getnameinfo. */
#define GETNAMEINFO_QUAL_ARG1 const
/* Define to the type of arg 1 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
/* Define to the type of arg 2 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG2 socklen_t
/* Define to the type of args 4 and 6 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG46 socklen_t
/* Define to the type of arg 7 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG7 int
/* Specifies the number of arguments to getservbyport_r */
/* #undef GETSERVBYPORT_R_ARGS */
/* Specifies the size of the buffer to pass to getservbyport_r */
/* #undef GETSERVBYPORT_R_BUFSIZE */
/* Define to 1 if you have AF_INET6. */
#define HAVE_AF_INET6 1
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the <arpa/nameser_compat.h> header file. */
#define HAVE_ARPA_NAMESER_COMPAT_H 1
/* Define to 1 if you have the <arpa/nameser.h> header file. */
#define HAVE_ARPA_NAMESER_H 1
/* Define to 1 if you have the <assert.h> header file. */
#define HAVE_ASSERT_H 1
/* Define to 1 if you have the `bitncmp' function. */
/* #undef HAVE_BITNCMP */
/* Define to 1 if bool is an available type. */
#define HAVE_BOOL_T 1
/* Define to 1 if you have the clock_gettime function and monotonic timer. */
/* #undef HAVE_CLOCK_GETTIME_MONOTONIC */
/* Define to 1 if you have the closesocket function. */
/* #undef HAVE_CLOSESOCKET */
/* Define to 1 if you have the CloseSocket camel case function. */
/* #undef HAVE_CLOSESOCKET_CAMEL */
/* Define to 1 if you have the connect function. */
#define HAVE_CONNECT 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the fcntl function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have a working fcntl O_NONBLOCK function. */
#define HAVE_FCNTL_O_NONBLOCK 1
/* Define to 1 if you have the freeaddrinfo function. */
#define HAVE_FREEADDRINFO 1
/* Define to 1 if you have a working getaddrinfo function. */
#define HAVE_GETADDRINFO 1
/* Define to 1 if the getaddrinfo function is threadsafe. */
#define HAVE_GETADDRINFO_THREADSAFE 1
/* Define to 1 if you have the gethostbyaddr function. */
#define HAVE_GETHOSTBYADDR 1
/* Define to 1 if you have the gethostbyname function. */
#define HAVE_GETHOSTBYNAME 1
/* Define to 1 if you have the gethostname function. */
#define HAVE_GETHOSTNAME 1
/* Define to 1 if you have the getnameinfo function. */
#define HAVE_GETNAMEINFO 1
/* Define to 1 if you have the getservbyport_r function. */
/* #undef HAVE_GETSERVBYPORT_R */
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `if_indextoname' function. */
#define HAVE_IF_INDEXTONAME 1
/* Define to 1 if you have the `inet_net_pton' function. */
#define HAVE_INET_NET_PTON 1
/* Define to 1 if inet_net_pton supports IPv6. */
#define HAVE_INET_NET_PTON_IPV6 1
/* Define to 1 if you have a IPv6 capable working inet_ntop function. */
#define HAVE_INET_NTOP 1
/* Define to 1 if you have a IPv6 capable working inet_pton function. */
#define HAVE_INET_PTON 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the ioctl function. */
#define HAVE_IOCTL 1
/* Define to 1 if you have the ioctlsocket function. */
/* #undef HAVE_IOCTLSOCKET */
/* Define to 1 if you have the IoctlSocket camel case function. */
/* #undef HAVE_IOCTLSOCKET_CAMEL */
/* Define to 1 if you have a working IoctlSocket camel case FIONBIO function.
*/
/* #undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO */
/* Define to 1 if you have a working ioctlsocket FIONBIO function. */
/* #undef HAVE_IOCTLSOCKET_FIONBIO */
/* Define to 1 if you have a working ioctl FIONBIO function. */
#define HAVE_IOCTL_FIONBIO 1
/* Define to 1 if you have a working ioctl SIOCGIFADDR function. */
#define HAVE_IOCTL_SIOCGIFADDR 1
/* Define to 1 if you have the `resolve' library (-lresolve). */
/* #undef HAVE_LIBRESOLVE */
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* if your compiler supports LL */
#define HAVE_LL 1
/* Define to 1 if the compiler supports the 'long long' data type. */
#define HAVE_LONGLONG 1
/* Define to 1 if you have the malloc.h header file. */
/* #undef HAVE_MALLOC_H */
/* Define to 1 if you have the memory.h header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the MSG_NOSIGNAL flag. */
/* #undef HAVE_MSG_NOSIGNAL */
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the <netinet/tcp.h> header file. */
#define HAVE_NETINET_TCP_H 1
/* Define to 1 if you have the <net/if.h> header file. */
#define HAVE_NET_IF_H 1
/* Define to 1 if you have PF_INET6. */
#define HAVE_PF_INET6 1
/* Define to 1 if you have the recv function. */
#define HAVE_RECV 1
/* Define to 1 if you have the recvfrom function. */
#define HAVE_RECVFROM 1
/* Define to 1 if you have the send function. */
#define HAVE_SEND 1
/* Define to 1 if you have the setsockopt function. */
#define HAVE_SETSOCKOPT 1
/* Define to 1 if you have a working setsockopt SO_NONBLOCK function. */
/* #undef HAVE_SETSOCKOPT_SO_NONBLOCK */
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if sig_atomic_t is an available typedef. */
#define HAVE_SIG_ATOMIC_T 1
/* Define to 1 if sig_atomic_t is already defined as volatile. */
/* #undef HAVE_SIG_ATOMIC_T_VOLATILE */
/* Define to 1 if your struct sockaddr_in6 has sin6_scope_id. */
#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
/* Define to 1 if you have the socket function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <socket.h> header file. */
/* #undef HAVE_SOCKET_H */
/* Define to 1 if you have the <stdbool.h> header file. */
#define HAVE_STDBOOL_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the strcasecmp function. */
#define HAVE_STRCASECMP 1
/* Define to 1 if you have the strcmpi function. */
/* #undef HAVE_STRCMPI */
/* Define to 1 if you have the strdup function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the stricmp function. */
/* #undef HAVE_STRICMP */
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the strncasecmp function. */
#define HAVE_STRNCASECMP 1
/* Define to 1 if you have the strncmpi function. */
/* #undef HAVE_STRNCMPI */
/* Define to 1 if you have the strnicmp function. */
/* #undef HAVE_STRNICMP */
/* Define to 1 if you have the <stropts.h> header file. */
/* #undef HAVE_STROPTS_H */
/* Define to 1 if you have struct addrinfo. */
#define HAVE_STRUCT_ADDRINFO 1
/* Define to 1 if you have struct in6_addr. */
#define HAVE_STRUCT_IN6_ADDR 1
/* Define to 1 if you have struct sockaddr_in6. */
#define HAVE_STRUCT_SOCKADDR_IN6 1
/* if struct sockaddr_storage is defined */
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
/* Define to 1 if you have the timeval struct. */
#define HAVE_STRUCT_TIMEVAL 1
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/uio.h> header file. */
#define HAVE_SYS_UIO_H 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the windows.h header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the winsock2.h header file. */
/* #undef HAVE_WINSOCK2_H */
/* Define to 1 if you have the winsock.h header file. */
/* #undef HAVE_WINSOCK_H */
/* Define to 1 if you have the writev function. */
#define HAVE_WRITEV 1
/* Define to 1 if you have the ws2tcpip.h header file. */
/* #undef HAVE_WS2TCPIP_H */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Define to 1 if you are building a native Windows target. */
/* #undef NATIVE_WINDOWS */
/* Define to 1 if you need the malloc.h header file even with stdlib.h */
/* #undef NEED_MALLOC_H */
/* Define to 1 if you need the memory.h header file even with stdlib.h */
/* #undef NEED_MEMORY_H */
/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */
/* #undef NEED_REENTRANT */
/* Define to 1 if _THREAD_SAFE preprocessor symbol must be defined. */
/* #undef NEED_THREAD_SAFE */
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* cpu-machine-OS */
#define OS "x86_64-apple-darwin10.3.0"
/* Name of package */
#define PACKAGE "c-ares"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "c-ares mailing list => http://cool.haxx.se/mailman/listinfo/c-ares"
/* Define to the full name of this package. */
#define PACKAGE_NAME "c-ares"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "c-ares 1.7.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "c-ares"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.7.1"
/* a suitable file/device to read random data from */
#define RANDOM_FILE "/dev/urandom"
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 int
/* Define to the type pointed by arg 2 for recvfrom. */
#define RECVFROM_TYPE_ARG2 void
/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
#define RECVFROM_TYPE_ARG2_IS_VOID 1
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 size_t
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
/* Define to the type pointed by arg 5 for recvfrom. */
#define RECVFROM_TYPE_ARG5 struct sockaddr
/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */
/* #undef RECVFROM_TYPE_ARG5_IS_VOID */
/* Define to the type pointed by arg 6 for recvfrom. */
#define RECVFROM_TYPE_ARG6 socklen_t
/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */
/* #undef RECVFROM_TYPE_ARG6_IS_VOID */
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV ssize_t
/* Define to the type of arg 1 for recv. */
#define RECV_TYPE_ARG1 int
/* Define to the type of arg 2 for recv. */
#define RECV_TYPE_ARG2 void *
/* Define to the type of arg 3 for recv. */
#define RECV_TYPE_ARG3 size_t
/* Define to the type of arg 4 for recv. */
#define RECV_TYPE_ARG4 int
/* Define to the function return type for recv. */
#define RECV_TYPE_RETV ssize_t
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* Define to the type qualifier of arg 2 for send. */
#define SEND_QUAL_ARG2 const
/* Define to the type of arg 1 for send. */
#define SEND_TYPE_ARG1 int
/* Define to the type of arg 2 for send. */
#define SEND_TYPE_ARG2 void *
/* Define to the type of arg 3 for send. */
#define SEND_TYPE_ARG3 size_t
/* Define to the type of arg 4 for send. */
#define SEND_TYPE_ARG4 int
/* Define to the function return type for send. */
#define SEND_TYPE_RETV ssize_t
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 8
/* The size of `size_t', as computed by sizeof. */
#define SIZEOF_SIZE_T 8
/* The size of `struct in6_addr', as computed by sizeof. */
#define SIZEOF_STRUCT_IN6_ADDR 16
/* The size of `struct in_addr', as computed by sizeof. */
#define SIZEOF_STRUCT_IN_ADDR 4
/* The size of `time_t', as computed by sizeof. */
#define SIZEOF_TIME_T 8
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Define to disable non-blocking sockets. */
/* #undef USE_BLOCKING_SOCKETS */
/* Version number of package */
#define VERSION "1.7.1"
/* Define to avoid automatic inclusion of winsock.h */
/* #undef WIN32_LEAN_AND_MEAN */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Define to 1 if OS is AIX. */
#ifndef _ALL_SOURCE
/* # undef _ALL_SOURCE */
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Type to use in place of in_addr_t when system does not provide it. */
/* #undef in_addr_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* the signed version of size_t */
/* #undef ssize_t */

View File

@@ -1,198 +0,0 @@
#ifndef HEADER_CARES_SETUP_H
#define HEADER_CARES_SETUP_H
/* $Id$ */
/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/*
* Define WIN32 when build target is Win32 API
*/
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
#define WIN32
#endif
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
*/
#ifdef HAVE_CONFIG_H
#include "ares_config.h"
#else
#ifdef WIN32
#include "config-win32.h"
#endif
#endif /* HAVE_CONFIG_H */
/* ================================================================ */
/* Definition of preprocessor macros/symbols which modify compiler */
/* behaviour or generated code characteristics must be done here, */
/* as appropriate, before any system header file is included. It is */
/* also possible to have them defined in the config file included */
/* before this point. As a result of all this we frown inclusion of */
/* system header files in our config files, avoid this at any cost. */
/* ================================================================ */
/*
* AIX 4.3 and newer needs _THREAD_SAFE defined to build
* proper reentrant code. Others may also need it.
*/
#ifdef NEED_THREAD_SAFE
# ifndef _THREAD_SAFE
# define _THREAD_SAFE
# endif
#endif
/*
* Tru64 needs _REENTRANT set for a few function prototypes and
* things to appear in the system header files. Unixware needs it
* to build proper reentrant code. Others may also need it.
*/
#ifdef NEED_REENTRANT
# ifndef _REENTRANT
# define _REENTRANT
# endif
#endif
/* ================================================================ */
/* If you need to include a system header file for your platform, */
/* please, do it beyond the point further indicated in this file. */
/* ================================================================ */
/*
* c-ares external interface definitions are also used internally,
* and might also include required system header files to define them.
*/
#include <ares_build.h>
/*
* Compile time sanity checks must also be done when building the library.
*/
#include <ares_rules.h>
/* ================================================================= */
/* No system header file shall be included in this file before this */
/* point. The only allowed ones are those included from ares_build.h */
/* ================================================================= */
/*
* Include header files for windows builds before redefining anything.
* Use this preproessor block only to include or exclude windows.h,
* winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
* to any other further and independent block. Under Cygwin things work
* just as under linux (e.g. <sys/socket.h>) and the winsock headers should
* never be included when __CYGWIN__ is defined. configure script takes
* care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
* neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
*/
#ifdef HAVE_WINDOWS_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
# else
# ifdef HAVE_WINSOCK_H
# include <winsock.h>
# endif
# endif
#endif
/*
* Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
* define USE_WINSOCK to 1 if we have and use WINSOCK API, else
* undefine USE_WINSOCK.
*/
#undef USE_WINSOCK
#ifdef HAVE_WINSOCK2_H
# define USE_WINSOCK 2
#else
# ifdef HAVE_WINSOCK_H
# define USE_WINSOCK 1
# endif
#endif
/*
* Work-arounds for systems without configure support
*/
#ifndef HAVE_CONFIG_H
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#endif /* HAVE_CONFIG_H */
#ifdef __POCC__
# include <sys/types.h>
# include <unistd.h>
# define ESRCH 3
#endif
/*
* Recent autoconf versions define these symbols in ares_config.h. We don't
* want them (since they collide with the libcurl ones when we build
* --enable-debug) so we undef them again here.
*/
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
/*
* Include macros and defines that should only be processed once.
*/
#ifndef __SETUP_ONCE_H
#include "setup_once.h"
#endif
#endif /* HEADER_CARES_SETUP_H */

View File

@@ -1,112 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* $Id$ */
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
/* #undef CARES_PULL_WS2TCPIP_H */
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CARES_PULL_SYS_TYPES_H 1
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#define CARES_PULL_SYS_SOCKET_H 1
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 4
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,198 +0,0 @@
#ifndef HEADER_CARES_SETUP_H
#define HEADER_CARES_SETUP_H
/* $Id$ */
/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/*
* Define WIN32 when build target is Win32 API
*/
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
#define WIN32
#endif
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
*/
#ifdef HAVE_CONFIG_H
#include "ares_config.h"
#else
#ifdef WIN32
#include "config-win32.h"
#endif
#endif /* HAVE_CONFIG_H */
/* ================================================================ */
/* Definition of preprocessor macros/symbols which modify compiler */
/* behaviour or generated code characteristics must be done here, */
/* as appropriate, before any system header file is included. It is */
/* also possible to have them defined in the config file included */
/* before this point. As a result of all this we frown inclusion of */
/* system header files in our config files, avoid this at any cost. */
/* ================================================================ */
/*
* AIX 4.3 and newer needs _THREAD_SAFE defined to build
* proper reentrant code. Others may also need it.
*/
#ifdef NEED_THREAD_SAFE
# ifndef _THREAD_SAFE
# define _THREAD_SAFE
# endif
#endif
/*
* Tru64 needs _REENTRANT set for a few function prototypes and
* things to appear in the system header files. Unixware needs it
* to build proper reentrant code. Others may also need it.
*/
#ifdef NEED_REENTRANT
# ifndef _REENTRANT
# define _REENTRANT
# endif
#endif
/* ================================================================ */
/* If you need to include a system header file for your platform, */
/* please, do it beyond the point further indicated in this file. */
/* ================================================================ */
/*
* c-ares external interface definitions are also used internally,
* and might also include required system header files to define them.
*/
#include <ares_build.h>
/*
* Compile time sanity checks must also be done when building the library.
*/
#include <ares_rules.h>
/* ================================================================= */
/* No system header file shall be included in this file before this */
/* point. The only allowed ones are those included from ares_build.h */
/* ================================================================= */
/*
* Include header files for windows builds before redefining anything.
* Use this preproessor block only to include or exclude windows.h,
* winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
* to any other further and independent block. Under Cygwin things work
* just as under linux (e.g. <sys/socket.h>) and the winsock headers should
* never be included when __CYGWIN__ is defined. configure script takes
* care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
* neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
*/
#ifdef HAVE_WINDOWS_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
# else
# ifdef HAVE_WINSOCK_H
# include <winsock.h>
# endif
# endif
#endif
/*
* Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
* define USE_WINSOCK to 1 if we have and use WINSOCK API, else
* undefine USE_WINSOCK.
*/
#undef USE_WINSOCK
#ifdef HAVE_WINSOCK2_H
# define USE_WINSOCK 2
#else
# ifdef HAVE_WINSOCK_H
# define USE_WINSOCK 1
# endif
#endif
/*
* Work-arounds for systems without configure support
*/
#ifndef HAVE_CONFIG_H
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#endif /* HAVE_CONFIG_H */
#ifdef __POCC__
# include <sys/types.h>
# include <unistd.h>
# define ESRCH 3
#endif
/*
* Recent autoconf versions define these symbols in ares_config.h. We don't
* want them (since they collide with the libcurl ones when we build
* --enable-debug) so we undef them again here.
*/
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
/*
* Include macros and defines that should only be processed once.
*/
#ifndef __SETUP_ONCE_H
#include "setup_once.h"
#endif
#endif /* HEADER_CARES_SETUP_H */

View File

@@ -1,112 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* $Id$ */
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
/* #undef CARES_PULL_WS2TCPIP_H */
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CARES_PULL_SYS_TYPES_H 1
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#define CARES_PULL_SYS_SOCKET_H 1
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 8
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,513 +0,0 @@
/* ares_config.h. Generated from ares_config.h.in by configure. */
/* ares_config.h.in. Generated from configure.ac by autoheader. */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* define this if ares is built for a big endian system */
/* #undef ARES_BIG_ENDIAN */
/* when building as static part of libcurl */
/* #undef BUILDING_LIBCURL */
/* when building c-ares library */
/* #undef CARES_BUILDING_LIBRARY */
/* when not building a shared library */
/* #undef CARES_STATICLIB */
/* Define to 1 to enable hiding of library internal symbols. */
#define CARES_SYMBOL_HIDING 1
/* Definition to make a library symbol externally visible. */
#define CARES_SYMBOL_SCOPE_EXTERN __attribute__ ((visibility ("default")))
/* if a /etc/inet dir is being used */
/* #undef ETC_INET */
/* Define to the type qualifier of arg 1 for getnameinfo. */
#define GETNAMEINFO_QUAL_ARG1 const
/* Define to the type of arg 1 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
/* Define to the type of arg 2 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG2 socklen_t
/* Define to the type of args 4 and 6 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG46 size_t
/* Define to the type of arg 7 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG7 int
/* Specifies the number of arguments to getservbyport_r */
#define GETSERVBYPORT_R_ARGS 6
/* Specifies the size of the buffer to pass to getservbyport_r */
#define GETSERVBYPORT_R_BUFSIZE 4096
/* Define to 1 if you have AF_INET6. */
#define HAVE_AF_INET6 1
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the <arpa/nameser_compat.h> header file. */
#define HAVE_ARPA_NAMESER_COMPAT_H 1
/* Define to 1 if you have the <arpa/nameser.h> header file. */
#define HAVE_ARPA_NAMESER_H 1
/* Define to 1 if you have the <assert.h> header file. */
#define HAVE_ASSERT_H 1
/* Define to 1 if you have the `bitncmp' function. */
/* #undef HAVE_BITNCMP */
/* Define to 1 if bool is an available type. */
#define HAVE_BOOL_T 1
/* Define to 1 if you have the clock_gettime function and monotonic timer. */
#define HAVE_CLOCK_GETTIME_MONOTONIC 1
/* Define to 1 if you have the closesocket function. */
/* #undef HAVE_CLOSESOCKET */
/* Define to 1 if you have the CloseSocket camel case function. */
/* #undef HAVE_CLOSESOCKET_CAMEL */
/* Define to 1 if you have the connect function. */
#define HAVE_CONNECT 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the fcntl function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have a working fcntl O_NONBLOCK function. */
#define HAVE_FCNTL_O_NONBLOCK 1
/* Define to 1 if you have the freeaddrinfo function. */
#define HAVE_FREEADDRINFO 1
/* Define to 1 if you have a working getaddrinfo function. */
#define HAVE_GETADDRINFO 1
/* Define to 1 if the getaddrinfo function is threadsafe. */
#define HAVE_GETADDRINFO_THREADSAFE 1
/* Define to 1 if you have the gethostbyaddr function. */
#define HAVE_GETHOSTBYADDR 1
/* Define to 1 if you have the gethostbyname function. */
#define HAVE_GETHOSTBYNAME 1
/* Define to 1 if you have the gethostname function. */
#define HAVE_GETHOSTNAME 1
/* Define to 1 if you have the getnameinfo function. */
#define HAVE_GETNAMEINFO 1
/* Define to 1 if you have the getservbyport_r function. */
#define HAVE_GETSERVBYPORT_R 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `if_indextoname' function. */
#define HAVE_IF_INDEXTONAME 1
/* Define to 1 if you have the `inet_net_pton' function. */
#define HAVE_INET_NET_PTON 1
/* Define to 1 if inet_net_pton supports IPv6. */
/* #undef HAVE_INET_NET_PTON_IPV6 */
/* Define to 1 if you have a IPv6 capable working inet_ntop function. */
#define HAVE_INET_NTOP 1
/* Define to 1 if you have a IPv6 capable working inet_pton function. */
#define HAVE_INET_PTON 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the ioctl function. */
#define HAVE_IOCTL 1
/* Define to 1 if you have the ioctlsocket function. */
/* #undef HAVE_IOCTLSOCKET */
/* Define to 1 if you have the IoctlSocket camel case function. */
/* #undef HAVE_IOCTLSOCKET_CAMEL */
/* Define to 1 if you have a working IoctlSocket camel case FIONBIO function.
*/
/* #undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO */
/* Define to 1 if you have a working ioctlsocket FIONBIO function. */
/* #undef HAVE_IOCTLSOCKET_FIONBIO */
/* Define to 1 if you have a working ioctl FIONBIO function. */
#define HAVE_IOCTL_FIONBIO 1
/* Define to 1 if you have a working ioctl SIOCGIFADDR function. */
#define HAVE_IOCTL_SIOCGIFADDR 1
/* Define to 1 if you have the `resolve' library (-lresolve). */
/* #undef HAVE_LIBRESOLVE */
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* if your compiler supports LL */
#define HAVE_LL 1
/* Define to 1 if the compiler supports the 'long long' data type. */
#define HAVE_LONGLONG 1
/* Define to 1 if you have the malloc.h header file. */
/* #undef HAVE_MALLOC_H */
/* Define to 1 if you have the memory.h header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the MSG_NOSIGNAL flag. */
#define HAVE_MSG_NOSIGNAL 1
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the <netinet/tcp.h> header file. */
#define HAVE_NETINET_TCP_H 1
/* Define to 1 if you have the <net/if.h> header file. */
#define HAVE_NET_IF_H 1
/* Define to 1 if you have PF_INET6. */
#define HAVE_PF_INET6 1
/* Define to 1 if you have the recv function. */
#define HAVE_RECV 1
/* Define to 1 if you have the recvfrom function. */
#define HAVE_RECVFROM 1
/* Define to 1 if you have the send function. */
#define HAVE_SEND 1
/* Define to 1 if you have the setsockopt function. */
#define HAVE_SETSOCKOPT 1
/* Define to 1 if you have a working setsockopt SO_NONBLOCK function. */
/* #undef HAVE_SETSOCKOPT_SO_NONBLOCK */
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if sig_atomic_t is an available typedef. */
#define HAVE_SIG_ATOMIC_T 1
/* Define to 1 if sig_atomic_t is already defined as volatile. */
/* #undef HAVE_SIG_ATOMIC_T_VOLATILE */
/* Define to 1 if your struct sockaddr_in6 has sin6_scope_id. */
#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
/* Define to 1 if you have the socket function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <socket.h> header file. */
/* #undef HAVE_SOCKET_H */
/* Define to 1 if you have the <stdbool.h> header file. */
#define HAVE_STDBOOL_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the strcasecmp function. */
#define HAVE_STRCASECMP 1
/* Define to 1 if you have the strcmpi function. */
/* #undef HAVE_STRCMPI */
/* Define to 1 if you have the strdup function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the stricmp function. */
/* #undef HAVE_STRICMP */
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the strncasecmp function. */
#define HAVE_STRNCASECMP 1
/* Define to 1 if you have the strncmpi function. */
/* #undef HAVE_STRNCMPI */
/* Define to 1 if you have the strnicmp function. */
/* #undef HAVE_STRNICMP */
/* Define to 1 if you have the <stropts.h> header file. */
/* #undef HAVE_STROPTS_H */
/* Define to 1 if you have struct addrinfo. */
#define HAVE_STRUCT_ADDRINFO 1
/* Define to 1 if you have struct in6_addr. */
#define HAVE_STRUCT_IN6_ADDR 1
/* Define to 1 if you have struct sockaddr_in6. */
#define HAVE_STRUCT_SOCKADDR_IN6 1
/* if struct sockaddr_storage is defined */
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
/* Define to 1 if you have the timeval struct. */
#define HAVE_STRUCT_TIMEVAL 1
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/uio.h> header file. */
#define HAVE_SYS_UIO_H 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the windows.h header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the winsock2.h header file. */
/* #undef HAVE_WINSOCK2_H */
/* Define to 1 if you have the winsock.h header file. */
/* #undef HAVE_WINSOCK_H */
/* Define to 1 if you have the writev function. */
#define HAVE_WRITEV 1
/* Define to 1 if you have the ws2tcpip.h header file. */
/* #undef HAVE_WS2TCPIP_H */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Define to 1 if you are building a native Windows target. */
/* #undef NATIVE_WINDOWS */
/* Define to 1 if you need the malloc.h header file even with stdlib.h */
/* #undef NEED_MALLOC_H */
/* Define to 1 if you need the memory.h header file even with stdlib.h */
/* #undef NEED_MEMORY_H */
/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */
/* #undef NEED_REENTRANT */
/* Define to 1 if _THREAD_SAFE preprocessor symbol must be defined. */
/* #undef NEED_THREAD_SAFE */
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* cpu-machine-OS */
#define OS "amd64-portbld-freebsd8.0"
/* Name of package */
#define PACKAGE "c-ares"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "c-ares mailing list => http://cool.haxx.se/mailman/listinfo/c-ares"
/* Define to the full name of this package. */
#define PACKAGE_NAME "c-ares"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "c-ares 1.7.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "c-ares"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.7.1"
/* a suitable file/device to read random data from */
#define RANDOM_FILE "/dev/urandom"
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 int
/* Define to the type pointed by arg 2 for recvfrom. */
#define RECVFROM_TYPE_ARG2 void
/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
#define RECVFROM_TYPE_ARG2_IS_VOID 1
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 size_t
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
/* Define to the type pointed by arg 5 for recvfrom. */
#define RECVFROM_TYPE_ARG5 struct sockaddr
/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */
/* #undef RECVFROM_TYPE_ARG5_IS_VOID */
/* Define to the type pointed by arg 6 for recvfrom. */
#define RECVFROM_TYPE_ARG6 socklen_t
/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */
/* #undef RECVFROM_TYPE_ARG6_IS_VOID */
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV ssize_t
/* Define to the type of arg 1 for recv. */
#define RECV_TYPE_ARG1 int
/* Define to the type of arg 2 for recv. */
#define RECV_TYPE_ARG2 void *
/* Define to the type of arg 3 for recv. */
#define RECV_TYPE_ARG3 size_t
/* Define to the type of arg 4 for recv. */
#define RECV_TYPE_ARG4 int
/* Define to the function return type for recv. */
#define RECV_TYPE_RETV ssize_t
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* Define to the type qualifier of arg 2 for send. */
#define SEND_QUAL_ARG2 const
/* Define to the type of arg 1 for send. */
#define SEND_TYPE_ARG1 int
/* Define to the type of arg 2 for send. */
#define SEND_TYPE_ARG2 void *
/* Define to the type of arg 3 for send. */
#define SEND_TYPE_ARG3 size_t
/* Define to the type of arg 4 for send. */
#define SEND_TYPE_ARG4 int
/* Define to the function return type for send. */
#define SEND_TYPE_RETV ssize_t
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 8
/* The size of `size_t', as computed by sizeof. */
#define SIZEOF_SIZE_T 8
/* The size of `struct in6_addr', as computed by sizeof. */
#define SIZEOF_STRUCT_IN6_ADDR 16
/* The size of `struct in_addr', as computed by sizeof. */
#define SIZEOF_STRUCT_IN_ADDR 4
/* The size of `time_t', as computed by sizeof. */
#define SIZEOF_TIME_T 8
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Define to disable non-blocking sockets. */
/* #undef USE_BLOCKING_SOCKETS */
/* Version number of package */
#define VERSION "1.7.1"
/* Define to avoid automatic inclusion of winsock.h */
/* #undef WIN32_LEAN_AND_MEAN */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Define to 1 if OS is AIX. */
#ifndef _ALL_SOURCE
/* # undef _ALL_SOURCE */
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Type to use in place of in_addr_t when system does not provide it. */
/* #undef in_addr_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* the signed version of size_t */
/* #undef ssize_t */

View File

@@ -1,198 +0,0 @@
#ifndef HEADER_CARES_SETUP_H
#define HEADER_CARES_SETUP_H
/* $Id$ */
/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/*
* Define WIN32 when build target is Win32 API
*/
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
#define WIN32
#endif
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
*/
#ifdef HAVE_CONFIG_H
#include "ares_config.h"
#else
#ifdef WIN32
#include "config-win32.h"
#endif
#endif /* HAVE_CONFIG_H */
/* ================================================================ */
/* Definition of preprocessor macros/symbols which modify compiler */
/* behaviour or generated code characteristics must be done here, */
/* as appropriate, before any system header file is included. It is */
/* also possible to have them defined in the config file included */
/* before this point. As a result of all this we frown inclusion of */
/* system header files in our config files, avoid this at any cost. */
/* ================================================================ */
/*
* AIX 4.3 and newer needs _THREAD_SAFE defined to build
* proper reentrant code. Others may also need it.
*/
#ifdef NEED_THREAD_SAFE
# ifndef _THREAD_SAFE
# define _THREAD_SAFE
# endif
#endif
/*
* Tru64 needs _REENTRANT set for a few function prototypes and
* things to appear in the system header files. Unixware needs it
* to build proper reentrant code. Others may also need it.
*/
#ifdef NEED_REENTRANT
# ifndef _REENTRANT
# define _REENTRANT
# endif
#endif
/* ================================================================ */
/* If you need to include a system header file for your platform, */
/* please, do it beyond the point further indicated in this file. */
/* ================================================================ */
/*
* c-ares external interface definitions are also used internally,
* and might also include required system header files to define them.
*/
#include <ares_build.h>
/*
* Compile time sanity checks must also be done when building the library.
*/
#include <ares_rules.h>
/* ================================================================= */
/* No system header file shall be included in this file before this */
/* point. The only allowed ones are those included from ares_build.h */
/* ================================================================= */
/*
* Include header files for windows builds before redefining anything.
* Use this preproessor block only to include or exclude windows.h,
* winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
* to any other further and independent block. Under Cygwin things work
* just as under linux (e.g. <sys/socket.h>) and the winsock headers should
* never be included when __CYGWIN__ is defined. configure script takes
* care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
* neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
*/
#ifdef HAVE_WINDOWS_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
# else
# ifdef HAVE_WINSOCK_H
# include <winsock.h>
# endif
# endif
#endif
/*
* Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
* define USE_WINSOCK to 1 if we have and use WINSOCK API, else
* undefine USE_WINSOCK.
*/
#undef USE_WINSOCK
#ifdef HAVE_WINSOCK2_H
# define USE_WINSOCK 2
#else
# ifdef HAVE_WINSOCK_H
# define USE_WINSOCK 1
# endif
#endif
/*
* Work-arounds for systems without configure support
*/
#ifndef HAVE_CONFIG_H
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#endif /* HAVE_CONFIG_H */
#ifdef __POCC__
# include <sys/types.h>
# include <unistd.h>
# define ESRCH 3
#endif
/*
* Recent autoconf versions define these symbols in ares_config.h. We don't
* want them (since they collide with the libcurl ones when we build
* --enable-debug) so we undef them again here.
*/
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
/*
* Include macros and defines that should only be processed once.
*/
#ifndef __SETUP_ONCE_H
#include "setup_once.h"
#endif
#endif /* HEADER_CARES_SETUP_H */

View File

@@ -1,232 +0,0 @@
/* Copyright (c) 1996 by Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
* SOFTWARE.
*/
#include "ares_setup.h"
#ifdef HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
#ifdef HAVE_NETINET_IN_H
# include <netinet/in.h>
#endif
#ifdef HAVE_ARPA_INET_H
# include <arpa/inet.h>
#endif
#ifdef HAVE_ARPA_NAMESER_H
# include <arpa/nameser.h>
#else
# include "nameser.h"
#endif
#ifdef HAVE_ARPA_NAMESER_COMPAT_H
# include <arpa/nameser_compat.h>
#endif
#include <ctype.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "ares.h"
#include "ares_ipv6.h"
#include "inet_ntop.h"
#ifndef HAVE_INET_NTOP
#ifdef SPRINTF_CHAR
# define SPRINTF(x) strlen(sprintf/**/x)
#else
# define SPRINTF(x) ((size_t)sprintf x)
#endif
/*
* WARNING: Don't even consider trying to compile this on a system where
* sizeof(int) < 4. sizeof(int) > 4 is fine; all the world's not a VAX.
*/
static const char *inet_ntop4(const unsigned char *src, char *dst, size_t size);
static const char *inet_ntop6(const unsigned char *src, char *dst, size_t size);
/* char *
* inet_ntop(af, src, dst, size)
* convert a network format address to presentation format.
* return:
* pointer to presentation format address (`dst'), or NULL (see errno).
* note:
* On Windows we store the error in the thread errno, not
* in the winsock error code. This is to avoid loosing the
* actual last winsock error. So use macro ERRNO to fetch the
* errno this funtion sets when returning NULL, not SOCKERRNO.
* author:
* Paul Vixie, 1996.
*/
const char *
ares_inet_ntop(int af, const void *src, char *dst, size_t size)
{
switch (af)
{
case AF_INET:
return (inet_ntop4(src, dst, size));
case AF_INET6:
return (inet_ntop6(src, dst, size));
default:
SET_ERRNO(EAFNOSUPPORT);
return (NULL);
}
/* NOTREACHED */
}
/* const char *
* inet_ntop4(src, dst, size)
* format an IPv4 address, more or less like inet_ntoa()
* return:
* `dst' (as a const)
* notes:
* (1) uses no statics
* (2) takes a unsigned char* not an in_addr as input
* author:
* Paul Vixie, 1996.
*/
static const char *
inet_ntop4(const unsigned char *src, char *dst, size_t size)
{
static const char fmt[] = "%u.%u.%u.%u";
char tmp[sizeof "255.255.255.255"];
if (SPRINTF((tmp, fmt, src[0], src[1], src[2], src[3])) > size)
{
SET_ERRNO(ENOSPC);
return (NULL);
}
strcpy(dst, tmp);
return (dst);
}
/* const char *
* inet_ntop6(src, dst, size)
* convert IPv6 binary address into presentation (printable) format
* author:
* Paul Vixie, 1996.
*/
static const char *
inet_ntop6(const unsigned char *src, char *dst, size_t size)
{
/*
* Note that int32_t and int16_t need only be "at least" large enough
* to contain a value of the specified size. On some systems, like
* Crays, there is no such thing as an integer variable with 16 bits.
* Keep this in mind if you think this function should have been coded
* to use pointer overlays. All the world's not a VAX.
*/
char tmp[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
char *tp;
struct {
long base;
long len;
} best, cur;
unsigned long words[NS_IN6ADDRSZ / NS_INT16SZ];
int i;
/*
* Preprocess:
* Copy the input (bytewise) array into a wordwise array.
* Find the longest run of 0x00's in src[] for :: shorthanding.
*/
memset(words, '\0', sizeof(words));
for (i = 0; i < NS_IN6ADDRSZ; i++)
words[i / 2] |= (src[i] << ((1 - (i % 2)) << 3));
best.base = -1;
cur.base = -1;
best.len = 0;
cur.len = 0;
for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++)
{
if (words[i] == 0)
{
if (cur.base == -1)
cur.base = i, cur.len = 1;
else
cur.len++;
}
else
{
if (cur.base != -1)
{
if (best.base == -1 || cur.len > best.len)
best = cur;
cur.base = -1;
}
}
}
if (cur.base != -1)
{
if (best.base == -1 || cur.len > best.len)
best = cur;
}
if (best.base != -1 && best.len < 2)
best.base = -1;
/*
* Format the result.
*/
tp = tmp;
for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++)
{
/* Are we inside the best run of 0x00's? */
if (best.base != -1 && i >= best.base &&
i < (best.base + best.len))
{
if (i == best.base)
*tp++ = ':';
continue;
}
/* Are we following an initial run of 0x00s or any real hex? */
if (i != 0)
*tp++ = ':';
/* Is this address an encapsulated IPv4? */
if (i == 6 && best.base == 0 &&
(best.len == 6 || (best.len == 5 && words[5] == 0xffff)))
{
if (!inet_ntop4(src+12, tp, sizeof(tmp) - (tp - tmp)))
return (NULL);
tp += strlen(tp);
break;
}
tp += SPRINTF((tp, "%lx", words[i]));
}
/* Was it a trailing run of 0x00's? */
if (best.base != -1 && (best.base + best.len) == (NS_IN6ADDRSZ / NS_INT16SZ))
*tp++ = ':';
*tp++ = '\0';
/*
* Check for overflow, copy, and we're done.
*/
if ((size_t)(tp - tmp) > size)
{
SET_ERRNO(ENOSPC);
return (NULL);
}
strcpy(dst, tmp);
return (dst);
}
#endif

View File

@@ -1,112 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* $Id$ */
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
/* #undef CARES_PULL_WS2TCPIP_H */
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CARES_PULL_SYS_TYPES_H 1
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#define CARES_PULL_SYS_SOCKET_H 1
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 4
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,513 +0,0 @@
/* ares_config.h. Generated from ares_config.h.in by configure. */
/* ares_config.h.in. Generated from configure.ac by autoheader. */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* define this if ares is built for a big endian system */
/* #undef ARES_BIG_ENDIAN */
/* when building as static part of libcurl */
/* #undef BUILDING_LIBCURL */
/* when building c-ares library */
/* #undef CARES_BUILDING_LIBRARY */
/* when not building a shared library */
/* #undef CARES_STATICLIB */
/* Define to 1 to enable hiding of library internal symbols. */
#define CARES_SYMBOL_HIDING 1
/* Definition to make a library symbol externally visible. */
#define CARES_SYMBOL_SCOPE_EXTERN __attribute__ ((visibility ("default")))
/* if a /etc/inet dir is being used */
/* #undef ETC_INET */
/* Define to the type qualifier of arg 1 for getnameinfo. */
#define GETNAMEINFO_QUAL_ARG1 const
/* Define to the type of arg 1 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
/* Define to the type of arg 2 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG2 socklen_t
/* Define to the type of args 4 and 6 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG46 size_t
/* Define to the type of arg 7 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG7 unsigned int
/* Specifies the number of arguments to getservbyport_r */
#define GETSERVBYPORT_R_ARGS 6
/* Specifies the size of the buffer to pass to getservbyport_r */
#define GETSERVBYPORT_R_BUFSIZE 4096
/* Define to 1 if you have AF_INET6. */
#define HAVE_AF_INET6 1
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the <arpa/nameser_compat.h> header file. */
#define HAVE_ARPA_NAMESER_COMPAT_H 1
/* Define to 1 if you have the <arpa/nameser.h> header file. */
#define HAVE_ARPA_NAMESER_H 1
/* Define to 1 if you have the <assert.h> header file. */
#define HAVE_ASSERT_H 1
/* Define to 1 if you have the `bitncmp' function. */
/* #undef HAVE_BITNCMP */
/* Define to 1 if bool is an available type. */
#define HAVE_BOOL_T 1
/* Define to 1 if you have the clock_gettime function and monotonic timer. */
#define HAVE_CLOCK_GETTIME_MONOTONIC 1
/* Define to 1 if you have the closesocket function. */
/* #undef HAVE_CLOSESOCKET */
/* Define to 1 if you have the CloseSocket camel case function. */
/* #undef HAVE_CLOSESOCKET_CAMEL */
/* Define to 1 if you have the connect function. */
#define HAVE_CONNECT 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the fcntl function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have a working fcntl O_NONBLOCK function. */
#define HAVE_FCNTL_O_NONBLOCK 1
/* Define to 1 if you have the freeaddrinfo function. */
#define HAVE_FREEADDRINFO 1
/* Define to 1 if you have a working getaddrinfo function. */
#define HAVE_GETADDRINFO 1
/* Define to 1 if the getaddrinfo function is threadsafe. */
#define HAVE_GETADDRINFO_THREADSAFE 1
/* Define to 1 if you have the gethostbyaddr function. */
#define HAVE_GETHOSTBYADDR 1
/* Define to 1 if you have the gethostbyname function. */
#define HAVE_GETHOSTBYNAME 1
/* Define to 1 if you have the gethostname function. */
#define HAVE_GETHOSTNAME 1
/* Define to 1 if you have the getnameinfo function. */
#define HAVE_GETNAMEINFO 1
/* Define to 1 if you have the getservbyport_r function. */
#define HAVE_GETSERVBYPORT_R 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `if_indextoname' function. */
#define HAVE_IF_INDEXTONAME 1
/* Define to 1 if you have the `inet_net_pton' function. */
/* #undef HAVE_INET_NET_PTON */
/* Define to 1 if inet_net_pton supports IPv6. */
/* #undef HAVE_INET_NET_PTON_IPV6 */
/* Define to 1 if you have a IPv6 capable working inet_ntop function. */
#define HAVE_INET_NTOP 1
/* Define to 1 if you have a IPv6 capable working inet_pton function. */
#define HAVE_INET_PTON 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the ioctl function. */
#define HAVE_IOCTL 1
/* Define to 1 if you have the ioctlsocket function. */
/* #undef HAVE_IOCTLSOCKET */
/* Define to 1 if you have the IoctlSocket camel case function. */
/* #undef HAVE_IOCTLSOCKET_CAMEL */
/* Define to 1 if you have a working IoctlSocket camel case FIONBIO function.
*/
/* #undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO */
/* Define to 1 if you have a working ioctlsocket FIONBIO function. */
/* #undef HAVE_IOCTLSOCKET_FIONBIO */
/* Define to 1 if you have a working ioctl FIONBIO function. */
#define HAVE_IOCTL_FIONBIO 1
/* Define to 1 if you have a working ioctl SIOCGIFADDR function. */
#define HAVE_IOCTL_SIOCGIFADDR 1
/* Define to 1 if you have the `resolve' library (-lresolve). */
/* #undef HAVE_LIBRESOLVE */
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* if your compiler supports LL */
#define HAVE_LL 1
/* Define to 1 if the compiler supports the 'long long' data type. */
#define HAVE_LONGLONG 1
/* Define to 1 if you have the malloc.h header file. */
#define HAVE_MALLOC_H 1
/* Define to 1 if you have the memory.h header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the MSG_NOSIGNAL flag. */
#define HAVE_MSG_NOSIGNAL 1
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the <netinet/tcp.h> header file. */
#define HAVE_NETINET_TCP_H 1
/* Define to 1 if you have the <net/if.h> header file. */
#define HAVE_NET_IF_H 1
/* Define to 1 if you have PF_INET6. */
#define HAVE_PF_INET6 1
/* Define to 1 if you have the recv function. */
#define HAVE_RECV 1
/* Define to 1 if you have the recvfrom function. */
#define HAVE_RECVFROM 1
/* Define to 1 if you have the send function. */
#define HAVE_SEND 1
/* Define to 1 if you have the setsockopt function. */
#define HAVE_SETSOCKOPT 1
/* Define to 1 if you have a working setsockopt SO_NONBLOCK function. */
/* #undef HAVE_SETSOCKOPT_SO_NONBLOCK */
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if sig_atomic_t is an available typedef. */
#define HAVE_SIG_ATOMIC_T 1
/* Define to 1 if sig_atomic_t is already defined as volatile. */
/* #undef HAVE_SIG_ATOMIC_T_VOLATILE */
/* Define to 1 if your struct sockaddr_in6 has sin6_scope_id. */
#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
/* Define to 1 if you have the socket function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <socket.h> header file. */
/* #undef HAVE_SOCKET_H */
/* Define to 1 if you have the <stdbool.h> header file. */
#define HAVE_STDBOOL_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the strcasecmp function. */
#define HAVE_STRCASECMP 1
/* Define to 1 if you have the strcmpi function. */
/* #undef HAVE_STRCMPI */
/* Define to 1 if you have the strdup function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the stricmp function. */
/* #undef HAVE_STRICMP */
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the strncasecmp function. */
#define HAVE_STRNCASECMP 1
/* Define to 1 if you have the strncmpi function. */
/* #undef HAVE_STRNCMPI */
/* Define to 1 if you have the strnicmp function. */
/* #undef HAVE_STRNICMP */
/* Define to 1 if you have the <stropts.h> header file. */
#define HAVE_STROPTS_H 1
/* Define to 1 if you have struct addrinfo. */
#define HAVE_STRUCT_ADDRINFO 1
/* Define to 1 if you have struct in6_addr. */
#define HAVE_STRUCT_IN6_ADDR 1
/* Define to 1 if you have struct sockaddr_in6. */
#define HAVE_STRUCT_SOCKADDR_IN6 1
/* if struct sockaddr_storage is defined */
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
/* Define to 1 if you have the timeval struct. */
#define HAVE_STRUCT_TIMEVAL 1
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/uio.h> header file. */
#define HAVE_SYS_UIO_H 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the windows.h header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the winsock2.h header file. */
/* #undef HAVE_WINSOCK2_H */
/* Define to 1 if you have the winsock.h header file. */
/* #undef HAVE_WINSOCK_H */
/* Define to 1 if you have the writev function. */
#define HAVE_WRITEV 1
/* Define to 1 if you have the ws2tcpip.h header file. */
/* #undef HAVE_WS2TCPIP_H */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Define to 1 if you are building a native Windows target. */
/* #undef NATIVE_WINDOWS */
/* Define to 1 if you need the malloc.h header file even with stdlib.h */
/* #undef NEED_MALLOC_H */
/* Define to 1 if you need the memory.h header file even with stdlib.h */
/* #undef NEED_MEMORY_H */
/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */
/* #undef NEED_REENTRANT */
/* Define to 1 if _THREAD_SAFE preprocessor symbol must be defined. */
/* #undef NEED_THREAD_SAFE */
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* cpu-machine-OS */
#define OS "armv5tel-unknown-linux-gnueabi"
/* Name of package */
#define PACKAGE "c-ares"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "c-ares mailing list => http://cool.haxx.se/mailman/listinfo/c-ares"
/* Define to the full name of this package. */
#define PACKAGE_NAME "c-ares"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "c-ares 1.7.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "c-ares"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.7.1"
/* a suitable file/device to read random data from */
#define RANDOM_FILE "/dev/urandom"
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 int
/* Define to the type pointed by arg 2 for recvfrom. */
#define RECVFROM_TYPE_ARG2 void
/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
#define RECVFROM_TYPE_ARG2_IS_VOID 1
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 size_t
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
/* Define to the type pointed by arg 5 for recvfrom. */
#define RECVFROM_TYPE_ARG5 struct sockaddr
/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */
/* #undef RECVFROM_TYPE_ARG5_IS_VOID */
/* Define to the type pointed by arg 6 for recvfrom. */
#define RECVFROM_TYPE_ARG6 socklen_t
/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */
/* #undef RECVFROM_TYPE_ARG6_IS_VOID */
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV int
/* Define to the type of arg 1 for recv. */
#define RECV_TYPE_ARG1 int
/* Define to the type of arg 2 for recv. */
#define RECV_TYPE_ARG2 void *
/* Define to the type of arg 3 for recv. */
#define RECV_TYPE_ARG3 size_t
/* Define to the type of arg 4 for recv. */
#define RECV_TYPE_ARG4 int
/* Define to the function return type for recv. */
#define RECV_TYPE_RETV int
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* Define to the type qualifier of arg 2 for send. */
#define SEND_QUAL_ARG2 const
/* Define to the type of arg 1 for send. */
#define SEND_TYPE_ARG1 int
/* Define to the type of arg 2 for send. */
#define SEND_TYPE_ARG2 void *
/* Define to the type of arg 3 for send. */
#define SEND_TYPE_ARG3 size_t
/* Define to the type of arg 4 for send. */
#define SEND_TYPE_ARG4 int
/* Define to the function return type for send. */
#define SEND_TYPE_RETV int
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 4
/* The size of `size_t', as computed by sizeof. */
#define SIZEOF_SIZE_T 4
/* The size of `struct in6_addr', as computed by sizeof. */
#define SIZEOF_STRUCT_IN6_ADDR 16
/* The size of `struct in_addr', as computed by sizeof. */
#define SIZEOF_STRUCT_IN_ADDR 4
/* The size of `time_t', as computed by sizeof. */
#define SIZEOF_TIME_T 4
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Define to disable non-blocking sockets. */
/* #undef USE_BLOCKING_SOCKETS */
/* Version number of package */
#define VERSION "1.7.1"
/* Define to avoid automatic inclusion of winsock.h */
/* #undef WIN32_LEAN_AND_MEAN */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Define to 1 if OS is AIX. */
#ifndef _ALL_SOURCE
/* # undef _ALL_SOURCE */
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
#define _FILE_OFFSET_BITS 64
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Type to use in place of in_addr_t when system does not provide it. */
/* #undef in_addr_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* the signed version of size_t */
/* #undef ssize_t */

View File

@@ -1,198 +0,0 @@
#ifndef HEADER_CARES_SETUP_H
#define HEADER_CARES_SETUP_H
/* $Id$ */
/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/*
* Define WIN32 when build target is Win32 API
*/
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
#define WIN32
#endif
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
*/
#ifdef HAVE_CONFIG_H
#include "ares_config.h"
#else
#ifdef WIN32
#include "config-win32.h"
#endif
#endif /* HAVE_CONFIG_H */
/* ================================================================ */
/* Definition of preprocessor macros/symbols which modify compiler */
/* behaviour or generated code characteristics must be done here, */
/* as appropriate, before any system header file is included. It is */
/* also possible to have them defined in the config file included */
/* before this point. As a result of all this we frown inclusion of */
/* system header files in our config files, avoid this at any cost. */
/* ================================================================ */
/*
* AIX 4.3 and newer needs _THREAD_SAFE defined to build
* proper reentrant code. Others may also need it.
*/
#ifdef NEED_THREAD_SAFE
# ifndef _THREAD_SAFE
# define _THREAD_SAFE
# endif
#endif
/*
* Tru64 needs _REENTRANT set for a few function prototypes and
* things to appear in the system header files. Unixware needs it
* to build proper reentrant code. Others may also need it.
*/
#ifdef NEED_REENTRANT
# ifndef _REENTRANT
# define _REENTRANT
# endif
#endif
/* ================================================================ */
/* If you need to include a system header file for your platform, */
/* please, do it beyond the point further indicated in this file. */
/* ================================================================ */
/*
* c-ares external interface definitions are also used internally,
* and might also include required system header files to define them.
*/
#include <ares_build.h>
/*
* Compile time sanity checks must also be done when building the library.
*/
#include <ares_rules.h>
/* ================================================================= */
/* No system header file shall be included in this file before this */
/* point. The only allowed ones are those included from ares_build.h */
/* ================================================================= */
/*
* Include header files for windows builds before redefining anything.
* Use this preproessor block only to include or exclude windows.h,
* winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
* to any other further and independent block. Under Cygwin things work
* just as under linux (e.g. <sys/socket.h>) and the winsock headers should
* never be included when __CYGWIN__ is defined. configure script takes
* care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
* neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
*/
#ifdef HAVE_WINDOWS_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
# else
# ifdef HAVE_WINSOCK_H
# include <winsock.h>
# endif
# endif
#endif
/*
* Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
* define USE_WINSOCK to 1 if we have and use WINSOCK API, else
* undefine USE_WINSOCK.
*/
#undef USE_WINSOCK
#ifdef HAVE_WINSOCK2_H
# define USE_WINSOCK 2
#else
# ifdef HAVE_WINSOCK_H
# define USE_WINSOCK 1
# endif
#endif
/*
* Work-arounds for systems without configure support
*/
#ifndef HAVE_CONFIG_H
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#endif /* HAVE_CONFIG_H */
#ifdef __POCC__
# include <sys/types.h>
# include <unistd.h>
# define ESRCH 3
#endif
/*
* Recent autoconf versions define these symbols in ares_config.h. We don't
* want them (since they collide with the libcurl ones when we build
* --enable-debug) so we undef them again here.
*/
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
/*
* Include macros and defines that should only be processed once.
*/
#ifndef __SETUP_ONCE_H
#include "setup_once.h"
#endif
#endif /* HEADER_CARES_SETUP_H */

View File

@@ -1,112 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* $Id$ */
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
/* #undef CARES_PULL_WS2TCPIP_H */
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CARES_PULL_SYS_TYPES_H 1
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#define CARES_PULL_SYS_SOCKET_H 1
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 4
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,198 +0,0 @@
#ifndef HEADER_CARES_SETUP_H
#define HEADER_CARES_SETUP_H
/* $Id$ */
/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/*
* Define WIN32 when build target is Win32 API
*/
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
#define WIN32
#endif
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
*/
#ifdef HAVE_CONFIG_H
#include "ares_config.h"
#else
#ifdef WIN32
#include "config-win32.h"
#endif
#endif /* HAVE_CONFIG_H */
/* ================================================================ */
/* Definition of preprocessor macros/symbols which modify compiler */
/* behaviour or generated code characteristics must be done here, */
/* as appropriate, before any system header file is included. It is */
/* also possible to have them defined in the config file included */
/* before this point. As a result of all this we frown inclusion of */
/* system header files in our config files, avoid this at any cost. */
/* ================================================================ */
/*
* AIX 4.3 and newer needs _THREAD_SAFE defined to build
* proper reentrant code. Others may also need it.
*/
#ifdef NEED_THREAD_SAFE
# ifndef _THREAD_SAFE
# define _THREAD_SAFE
# endif
#endif
/*
* Tru64 needs _REENTRANT set for a few function prototypes and
* things to appear in the system header files. Unixware needs it
* to build proper reentrant code. Others may also need it.
*/
#ifdef NEED_REENTRANT
# ifndef _REENTRANT
# define _REENTRANT
# endif
#endif
/* ================================================================ */
/* If you need to include a system header file for your platform, */
/* please, do it beyond the point further indicated in this file. */
/* ================================================================ */
/*
* c-ares external interface definitions are also used internally,
* and might also include required system header files to define them.
*/
#include <ares_build.h>
/*
* Compile time sanity checks must also be done when building the library.
*/
#include <ares_rules.h>
/* ================================================================= */
/* No system header file shall be included in this file before this */
/* point. The only allowed ones are those included from ares_build.h */
/* ================================================================= */
/*
* Include header files for windows builds before redefining anything.
* Use this preproessor block only to include or exclude windows.h,
* winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
* to any other further and independent block. Under Cygwin things work
* just as under linux (e.g. <sys/socket.h>) and the winsock headers should
* never be included when __CYGWIN__ is defined. configure script takes
* care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
* neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
*/
#ifdef HAVE_WINDOWS_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
# else
# ifdef HAVE_WINSOCK_H
# include <winsock.h>
# endif
# endif
#endif
/*
* Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
* define USE_WINSOCK to 1 if we have and use WINSOCK API, else
* undefine USE_WINSOCK.
*/
#undef USE_WINSOCK
#ifdef HAVE_WINSOCK2_H
# define USE_WINSOCK 2
#else
# ifdef HAVE_WINSOCK_H
# define USE_WINSOCK 1
# endif
#endif
/*
* Work-arounds for systems without configure support
*/
#ifndef HAVE_CONFIG_H
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#endif /* HAVE_CONFIG_H */
#ifdef __POCC__
# include <sys/types.h>
# include <unistd.h>
# define ESRCH 3
#endif
/*
* Recent autoconf versions define these symbols in ares_config.h. We don't
* want them (since they collide with the libcurl ones when we build
* --enable-debug) so we undef them again here.
*/
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
/*
* Include macros and defines that should only be processed once.
*/
#ifndef __SETUP_ONCE_H
#include "setup_once.h"
#endif
#endif /* HEADER_CARES_SETUP_H */

View File

@@ -1,112 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* $Id$ */
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
/* #undef CARES_PULL_WS2TCPIP_H */
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CARES_PULL_SYS_TYPES_H 1
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#define CARES_PULL_SYS_SOCKET_H 1
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 8
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,513 +0,0 @@
/* ares_config.h. Generated from ares_config.h.in by configure. */
/* ares_config.h.in. Generated from configure.ac by autoheader. */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* define this if ares is built for a big endian system */
/* #undef ARES_BIG_ENDIAN */
/* when building as static part of libcurl */
/* #undef BUILDING_LIBCURL */
/* when building c-ares library */
/* #undef CARES_BUILDING_LIBRARY */
/* when not building a shared library */
/* #undef CARES_STATICLIB */
/* Define to 1 to enable hiding of library internal symbols. */
#define CARES_SYMBOL_HIDING 1
/* Definition to make a library symbol externally visible. */
#define CARES_SYMBOL_SCOPE_EXTERN __attribute__ ((visibility ("default")))
/* if a /etc/inet dir is being used */
/* #undef ETC_INET */
/* Define to the type qualifier of arg 1 for getnameinfo. */
#define GETNAMEINFO_QUAL_ARG1 const
/* Define to the type of arg 1 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
/* Define to the type of arg 2 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG2 socklen_t
/* Define to the type of args 4 and 6 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG46 socklen_t
/* Define to the type of arg 7 for getnameinfo. */
#define GETNAMEINFO_TYPE_ARG7 unsigned int
/* Specifies the number of arguments to getservbyport_r */
#define GETSERVBYPORT_R_ARGS 6
/* Specifies the size of the buffer to pass to getservbyport_r */
#define GETSERVBYPORT_R_BUFSIZE 4096
/* Define to 1 if you have AF_INET6. */
#define HAVE_AF_INET6 1
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the <arpa/nameser_compat.h> header file. */
#define HAVE_ARPA_NAMESER_COMPAT_H 1
/* Define to 1 if you have the <arpa/nameser.h> header file. */
#define HAVE_ARPA_NAMESER_H 1
/* Define to 1 if you have the <assert.h> header file. */
#define HAVE_ASSERT_H 1
/* Define to 1 if you have the `bitncmp' function. */
/* #undef HAVE_BITNCMP */
/* Define to 1 if bool is an available type. */
#define HAVE_BOOL_T 1
/* Define to 1 if you have the clock_gettime function and monotonic timer. */
#define HAVE_CLOCK_GETTIME_MONOTONIC 1
/* Define to 1 if you have the closesocket function. */
/* #undef HAVE_CLOSESOCKET */
/* Define to 1 if you have the CloseSocket camel case function. */
/* #undef HAVE_CLOSESOCKET_CAMEL */
/* Define to 1 if you have the connect function. */
#define HAVE_CONNECT 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the fcntl function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have a working fcntl O_NONBLOCK function. */
#define HAVE_FCNTL_O_NONBLOCK 1
/* Define to 1 if you have the freeaddrinfo function. */
#define HAVE_FREEADDRINFO 1
/* Define to 1 if you have a working getaddrinfo function. */
#define HAVE_GETADDRINFO 1
/* Define to 1 if the getaddrinfo function is threadsafe. */
#define HAVE_GETADDRINFO_THREADSAFE 1
/* Define to 1 if you have the gethostbyaddr function. */
#define HAVE_GETHOSTBYADDR 1
/* Define to 1 if you have the gethostbyname function. */
#define HAVE_GETHOSTBYNAME 1
/* Define to 1 if you have the gethostname function. */
#define HAVE_GETHOSTNAME 1
/* Define to 1 if you have the getnameinfo function. */
#define HAVE_GETNAMEINFO 1
/* Define to 1 if you have the getservbyport_r function. */
#define HAVE_GETSERVBYPORT_R 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `if_indextoname' function. */
#define HAVE_IF_INDEXTONAME 1
/* Define to 1 if you have the `inet_net_pton' function. */
/* #undef HAVE_INET_NET_PTON */
/* Define to 1 if inet_net_pton supports IPv6. */
/* #undef HAVE_INET_NET_PTON_IPV6 */
/* Define to 1 if you have a IPv6 capable working inet_ntop function. */
#define HAVE_INET_NTOP 1
/* Define to 1 if you have a IPv6 capable working inet_pton function. */
#define HAVE_INET_PTON 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the ioctl function. */
#define HAVE_IOCTL 1
/* Define to 1 if you have the ioctlsocket function. */
/* #undef HAVE_IOCTLSOCKET */
/* Define to 1 if you have the IoctlSocket camel case function. */
/* #undef HAVE_IOCTLSOCKET_CAMEL */
/* Define to 1 if you have a working IoctlSocket camel case FIONBIO function.
*/
/* #undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO */
/* Define to 1 if you have a working ioctlsocket FIONBIO function. */
/* #undef HAVE_IOCTLSOCKET_FIONBIO */
/* Define to 1 if you have a working ioctl FIONBIO function. */
#define HAVE_IOCTL_FIONBIO 1
/* Define to 1 if you have a working ioctl SIOCGIFADDR function. */
#define HAVE_IOCTL_SIOCGIFADDR 1
/* Define to 1 if you have the `resolve' library (-lresolve). */
/* #undef HAVE_LIBRESOLVE */
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* if your compiler supports LL */
#define HAVE_LL 1
/* Define to 1 if the compiler supports the 'long long' data type. */
#define HAVE_LONGLONG 1
/* Define to 1 if you have the malloc.h header file. */
#define HAVE_MALLOC_H 1
/* Define to 1 if you have the memory.h header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the MSG_NOSIGNAL flag. */
#define HAVE_MSG_NOSIGNAL 1
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the <netinet/tcp.h> header file. */
#define HAVE_NETINET_TCP_H 1
/* Define to 1 if you have the <net/if.h> header file. */
#define HAVE_NET_IF_H 1
/* Define to 1 if you have PF_INET6. */
#define HAVE_PF_INET6 1
/* Define to 1 if you have the recv function. */
#define HAVE_RECV 1
/* Define to 1 if you have the recvfrom function. */
#define HAVE_RECVFROM 1
/* Define to 1 if you have the send function. */
#define HAVE_SEND 1
/* Define to 1 if you have the setsockopt function. */
#define HAVE_SETSOCKOPT 1
/* Define to 1 if you have a working setsockopt SO_NONBLOCK function. */
/* #undef HAVE_SETSOCKOPT_SO_NONBLOCK */
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if sig_atomic_t is an available typedef. */
#define HAVE_SIG_ATOMIC_T 1
/* Define to 1 if sig_atomic_t is already defined as volatile. */
/* #undef HAVE_SIG_ATOMIC_T_VOLATILE */
/* Define to 1 if your struct sockaddr_in6 has sin6_scope_id. */
#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
/* Define to 1 if you have the socket function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <socket.h> header file. */
/* #undef HAVE_SOCKET_H */
/* Define to 1 if you have the <stdbool.h> header file. */
#define HAVE_STDBOOL_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the strcasecmp function. */
#define HAVE_STRCASECMP 1
/* Define to 1 if you have the strcmpi function. */
/* #undef HAVE_STRCMPI */
/* Define to 1 if you have the strdup function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the stricmp function. */
/* #undef HAVE_STRICMP */
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the strncasecmp function. */
#define HAVE_STRNCASECMP 1
/* Define to 1 if you have the strncmpi function. */
/* #undef HAVE_STRNCMPI */
/* Define to 1 if you have the strnicmp function. */
/* #undef HAVE_STRNICMP */
/* Define to 1 if you have the <stropts.h> header file. */
#define HAVE_STROPTS_H 1
/* Define to 1 if you have struct addrinfo. */
#define HAVE_STRUCT_ADDRINFO 1
/* Define to 1 if you have struct in6_addr. */
#define HAVE_STRUCT_IN6_ADDR 1
/* Define to 1 if you have struct sockaddr_in6. */
#define HAVE_STRUCT_SOCKADDR_IN6 1
/* if struct sockaddr_storage is defined */
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
/* Define to 1 if you have the timeval struct. */
#define HAVE_STRUCT_TIMEVAL 1
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/uio.h> header file. */
#define HAVE_SYS_UIO_H 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the windows.h header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the winsock2.h header file. */
/* #undef HAVE_WINSOCK2_H */
/* Define to 1 if you have the winsock.h header file. */
/* #undef HAVE_WINSOCK_H */
/* Define to 1 if you have the writev function. */
#define HAVE_WRITEV 1
/* Define to 1 if you have the ws2tcpip.h header file. */
/* #undef HAVE_WS2TCPIP_H */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Define to 1 if you are building a native Windows target. */
/* #undef NATIVE_WINDOWS */
/* Define to 1 if you need the malloc.h header file even with stdlib.h */
/* #undef NEED_MALLOC_H */
/* Define to 1 if you need the memory.h header file even with stdlib.h */
/* #undef NEED_MEMORY_H */
/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */
/* #undef NEED_REENTRANT */
/* Define to 1 if _THREAD_SAFE preprocessor symbol must be defined. */
/* #undef NEED_THREAD_SAFE */
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* cpu-machine-OS */
#define OS "x86_64-unknown-linux-gnu"
/* Name of package */
#define PACKAGE "c-ares"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "c-ares mailing list => http://cool.haxx.se/mailman/listinfo/c-ares"
/* Define to the full name of this package. */
#define PACKAGE_NAME "c-ares"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "c-ares 1.7.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "c-ares"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.7.1"
/* a suitable file/device to read random data from */
#define RANDOM_FILE "/dev/urandom"
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 int
/* Define to the type pointed by arg 2 for recvfrom. */
#define RECVFROM_TYPE_ARG2 void
/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
#define RECVFROM_TYPE_ARG2_IS_VOID 1
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 size_t
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
/* Define to the type pointed by arg 5 for recvfrom. */
#define RECVFROM_TYPE_ARG5 struct sockaddr
/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */
/* #undef RECVFROM_TYPE_ARG5_IS_VOID */
/* Define to the type pointed by arg 6 for recvfrom. */
#define RECVFROM_TYPE_ARG6 socklen_t
/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */
/* #undef RECVFROM_TYPE_ARG6_IS_VOID */
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV ssize_t
/* Define to the type of arg 1 for recv. */
#define RECV_TYPE_ARG1 int
/* Define to the type of arg 2 for recv. */
#define RECV_TYPE_ARG2 void *
/* Define to the type of arg 3 for recv. */
#define RECV_TYPE_ARG3 size_t
/* Define to the type of arg 4 for recv. */
#define RECV_TYPE_ARG4 int
/* Define to the function return type for recv. */
#define RECV_TYPE_RETV ssize_t
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* Define to the type qualifier of arg 2 for send. */
#define SEND_QUAL_ARG2 const
/* Define to the type of arg 1 for send. */
#define SEND_TYPE_ARG1 int
/* Define to the type of arg 2 for send. */
#define SEND_TYPE_ARG2 void *
/* Define to the type of arg 3 for send. */
#define SEND_TYPE_ARG3 size_t
/* Define to the type of arg 4 for send. */
#define SEND_TYPE_ARG4 int
/* Define to the function return type for send. */
#define SEND_TYPE_RETV ssize_t
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 8
/* The size of `size_t', as computed by sizeof. */
#define SIZEOF_SIZE_T 8
/* The size of `struct in6_addr', as computed by sizeof. */
#define SIZEOF_STRUCT_IN6_ADDR 16
/* The size of `struct in_addr', as computed by sizeof. */
#define SIZEOF_STRUCT_IN_ADDR 4
/* The size of `time_t', as computed by sizeof. */
#define SIZEOF_TIME_T 8
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Define to disable non-blocking sockets. */
/* #undef USE_BLOCKING_SOCKETS */
/* Version number of package */
#define VERSION "1.7.1"
/* Define to avoid automatic inclusion of winsock.h */
/* #undef WIN32_LEAN_AND_MEAN */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Define to 1 if OS is AIX. */
#ifndef _ALL_SOURCE
/* # undef _ALL_SOURCE */
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Type to use in place of in_addr_t when system does not provide it. */
/* #undef in_addr_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* the signed version of size_t */
/* #undef ssize_t */

View File

@@ -1,198 +0,0 @@
#ifndef HEADER_CARES_SETUP_H
#define HEADER_CARES_SETUP_H
/* $Id$ */
/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/*
* Define WIN32 when build target is Win32 API
*/
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
#define WIN32
#endif
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
*/
#ifdef HAVE_CONFIG_H
#include "ares_config.h"
#else
#ifdef WIN32
#include "config-win32.h"
#endif
#endif /* HAVE_CONFIG_H */
/* ================================================================ */
/* Definition of preprocessor macros/symbols which modify compiler */
/* behaviour or generated code characteristics must be done here, */
/* as appropriate, before any system header file is included. It is */
/* also possible to have them defined in the config file included */
/* before this point. As a result of all this we frown inclusion of */
/* system header files in our config files, avoid this at any cost. */
/* ================================================================ */
/*
* AIX 4.3 and newer needs _THREAD_SAFE defined to build
* proper reentrant code. Others may also need it.
*/
#ifdef NEED_THREAD_SAFE
# ifndef _THREAD_SAFE
# define _THREAD_SAFE
# endif
#endif
/*
* Tru64 needs _REENTRANT set for a few function prototypes and
* things to appear in the system header files. Unixware needs it
* to build proper reentrant code. Others may also need it.
*/
#ifdef NEED_REENTRANT
# ifndef _REENTRANT
# define _REENTRANT
# endif
#endif
/* ================================================================ */
/* If you need to include a system header file for your platform, */
/* please, do it beyond the point further indicated in this file. */
/* ================================================================ */
/*
* c-ares external interface definitions are also used internally,
* and might also include required system header files to define them.
*/
#include <ares_build.h>
/*
* Compile time sanity checks must also be done when building the library.
*/
#include <ares_rules.h>
/* ================================================================= */
/* No system header file shall be included in this file before this */
/* point. The only allowed ones are those included from ares_build.h */
/* ================================================================= */
/*
* Include header files for windows builds before redefining anything.
* Use this preproessor block only to include or exclude windows.h,
* winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
* to any other further and independent block. Under Cygwin things work
* just as under linux (e.g. <sys/socket.h>) and the winsock headers should
* never be included when __CYGWIN__ is defined. configure script takes
* care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
* neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
*/
#ifdef HAVE_WINDOWS_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
# else
# ifdef HAVE_WINSOCK_H
# include <winsock.h>
# endif
# endif
#endif
/*
* Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
* define USE_WINSOCK to 1 if we have and use WINSOCK API, else
* undefine USE_WINSOCK.
*/
#undef USE_WINSOCK
#ifdef HAVE_WINSOCK2_H
# define USE_WINSOCK 2
#else
# ifdef HAVE_WINSOCK_H
# define USE_WINSOCK 1
# endif
#endif
/*
* Work-arounds for systems without configure support
*/
#ifndef HAVE_CONFIG_H
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#endif /* HAVE_CONFIG_H */
#ifdef __POCC__
# include <sys/types.h>
# include <unistd.h>
# define ESRCH 3
#endif
/*
* Recent autoconf versions define these symbols in ares_config.h. We don't
* want them (since they collide with the libcurl ones when we build
* --enable-debug) so we undef them again here.
*/
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
/*
* Include macros and defines that should only be processed once.
*/
#ifndef __SETUP_ONCE_H
#include "setup_once.h"
#endif
#endif /* HEADER_CARES_SETUP_H */

View File

@@ -1,112 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* $Id$ */
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
/* #undef CARES_PULL_WS2TCPIP_H */
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CARES_PULL_SYS_TYPES_H 1
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#define CARES_PULL_SYS_SOCKET_H 1
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 4
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,198 +0,0 @@
#ifndef HEADER_CARES_SETUP_H
#define HEADER_CARES_SETUP_H
/* $Id$ */
/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/*
* Define WIN32 when build target is Win32 API
*/
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
#define WIN32
#endif
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
*/
#ifdef HAVE_CONFIG_H
#include "ares_config.h"
#else
#ifdef WIN32
#include "config-win32.h"
#endif
#endif /* HAVE_CONFIG_H */
/* ================================================================ */
/* Definition of preprocessor macros/symbols which modify compiler */
/* behaviour or generated code characteristics must be done here, */
/* as appropriate, before any system header file is included. It is */
/* also possible to have them defined in the config file included */
/* before this point. As a result of all this we frown inclusion of */
/* system header files in our config files, avoid this at any cost. */
/* ================================================================ */
/*
* AIX 4.3 and newer needs _THREAD_SAFE defined to build
* proper reentrant code. Others may also need it.
*/
#ifdef NEED_THREAD_SAFE
# ifndef _THREAD_SAFE
# define _THREAD_SAFE
# endif
#endif
/*
* Tru64 needs _REENTRANT set for a few function prototypes and
* things to appear in the system header files. Unixware needs it
* to build proper reentrant code. Others may also need it.
*/
#ifdef NEED_REENTRANT
# ifndef _REENTRANT
# define _REENTRANT
# endif
#endif
/* ================================================================ */
/* If you need to include a system header file for your platform, */
/* please, do it beyond the point further indicated in this file. */
/* ================================================================ */
/*
* c-ares external interface definitions are also used internally,
* and might also include required system header files to define them.
*/
#include <ares_build.h>
/*
* Compile time sanity checks must also be done when building the library.
*/
#include <ares_rules.h>
/* ================================================================= */
/* No system header file shall be included in this file before this */
/* point. The only allowed ones are those included from ares_build.h */
/* ================================================================= */
/*
* Include header files for windows builds before redefining anything.
* Use this preproessor block only to include or exclude windows.h,
* winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
* to any other further and independent block. Under Cygwin things work
* just as under linux (e.g. <sys/socket.h>) and the winsock headers should
* never be included when __CYGWIN__ is defined. configure script takes
* care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
* neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
*/
#ifdef HAVE_WINDOWS_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
# else
# ifdef HAVE_WINSOCK_H
# include <winsock.h>
# endif
# endif
#endif
/*
* Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
* define USE_WINSOCK to 1 if we have and use WINSOCK API, else
* undefine USE_WINSOCK.
*/
#undef USE_WINSOCK
#ifdef HAVE_WINSOCK2_H
# define USE_WINSOCK 2
#else
# ifdef HAVE_WINSOCK_H
# define USE_WINSOCK 1
# endif
#endif
/*
* Work-arounds for systems without configure support
*/
#ifndef HAVE_CONFIG_H
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#endif /* HAVE_CONFIG_H */
#ifdef __POCC__
# include <sys/types.h>
# include <unistd.h>
# define ESRCH 3
#endif
/*
* Recent autoconf versions define these symbols in ares_config.h. We don't
* want them (since they collide with the libcurl ones when we build
* --enable-debug) so we undef them again here.
*/
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
/*
* Include macros and defines that should only be processed once.
*/
#ifndef __SETUP_ONCE_H
#include "setup_once.h"
#endif
#endif /* HEADER_CARES_SETUP_H */

View File

@@ -1,112 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* $Id$ */
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
/* #undef CARES_PULL_WS2TCPIP_H */
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CARES_PULL_SYS_TYPES_H 1
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#define CARES_PULL_SYS_SOCKET_H 1
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 8
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,198 +0,0 @@
#ifndef HEADER_CARES_SETUP_H
#define HEADER_CARES_SETUP_H
/* $Id$ */
/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/*
* Define WIN32 when build target is Win32 API
*/
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
#define WIN32
#endif
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
*/
#ifdef HAVE_CONFIG_H
#include "ares_config.h"
#else
#ifdef WIN32
#include "config-win32.h"
#endif
#endif /* HAVE_CONFIG_H */
/* ================================================================ */
/* Definition of preprocessor macros/symbols which modify compiler */
/* behaviour or generated code characteristics must be done here, */
/* as appropriate, before any system header file is included. It is */
/* also possible to have them defined in the config file included */
/* before this point. As a result of all this we frown inclusion of */
/* system header files in our config files, avoid this at any cost. */
/* ================================================================ */
/*
* AIX 4.3 and newer needs _THREAD_SAFE defined to build
* proper reentrant code. Others may also need it.
*/
#ifdef NEED_THREAD_SAFE
# ifndef _THREAD_SAFE
# define _THREAD_SAFE
# endif
#endif
/*
* Tru64 needs _REENTRANT set for a few function prototypes and
* things to appear in the system header files. Unixware needs it
* to build proper reentrant code. Others may also need it.
*/
#ifdef NEED_REENTRANT
# ifndef _REENTRANT
# define _REENTRANT
# endif
#endif
/* ================================================================ */
/* If you need to include a system header file for your platform, */
/* please, do it beyond the point further indicated in this file. */
/* ================================================================ */
/*
* c-ares external interface definitions are also used internally,
* and might also include required system header files to define them.
*/
#include <ares_build.h>
/*
* Compile time sanity checks must also be done when building the library.
*/
#include <ares_rules.h>
/* ================================================================= */
/* No system header file shall be included in this file before this */
/* point. The only allowed ones are those included from ares_build.h */
/* ================================================================= */
/*
* Include header files for windows builds before redefining anything.
* Use this preproessor block only to include or exclude windows.h,
* winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
* to any other further and independent block. Under Cygwin things work
* just as under linux (e.g. <sys/socket.h>) and the winsock headers should
* never be included when __CYGWIN__ is defined. configure script takes
* care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
* neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
*/
#ifdef HAVE_WINDOWS_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
# else
# ifdef HAVE_WINSOCK_H
# include <winsock.h>
# endif
# endif
#endif
/*
* Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
* define USE_WINSOCK to 1 if we have and use WINSOCK API, else
* undefine USE_WINSOCK.
*/
#undef USE_WINSOCK
#ifdef HAVE_WINSOCK2_H
# define USE_WINSOCK 2
#else
# ifdef HAVE_WINSOCK_H
# define USE_WINSOCK 1
# endif
#endif
/*
* Work-arounds for systems without configure support
*/
#ifndef HAVE_CONFIG_H
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#endif /* HAVE_CONFIG_H */
#ifdef __POCC__
# include <sys/types.h>
# include <unistd.h>
# define ESRCH 3
#endif
/*
* Recent autoconf versions define these symbols in ares_config.h. We don't
* want them (since they collide with the libcurl ones when we build
* --enable-debug) so we undef them again here.
*/
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
/*
* Include macros and defines that should only be processed once.
*/
#ifndef __SETUP_ONCE_H
#include "setup_once.h"
#endif
#endif /* HEADER_CARES_SETUP_H */

View File

@@ -1,112 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* $Id$ */
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
/* #undef CARES_PULL_WS2TCPIP_H */
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CARES_PULL_SYS_TYPES_H 1
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#define CARES_PULL_SYS_SOCKET_H 1
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 4
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,198 +0,0 @@
#ifndef HEADER_CARES_SETUP_H
#define HEADER_CARES_SETUP_H
/* $Id$ */
/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/*
* Define WIN32 when build target is Win32 API
*/
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
#define WIN32
#endif
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
*/
#ifdef HAVE_CONFIG_H
#include "ares_config.h"
#else
#ifdef WIN32
#include "config-win32.h"
#endif
#endif /* HAVE_CONFIG_H */
/* ================================================================ */
/* Definition of preprocessor macros/symbols which modify compiler */
/* behaviour or generated code characteristics must be done here, */
/* as appropriate, before any system header file is included. It is */
/* also possible to have them defined in the config file included */
/* before this point. As a result of all this we frown inclusion of */
/* system header files in our config files, avoid this at any cost. */
/* ================================================================ */
/*
* AIX 4.3 and newer needs _THREAD_SAFE defined to build
* proper reentrant code. Others may also need it.
*/
#ifdef NEED_THREAD_SAFE
# ifndef _THREAD_SAFE
# define _THREAD_SAFE
# endif
#endif
/*
* Tru64 needs _REENTRANT set for a few function prototypes and
* things to appear in the system header files. Unixware needs it
* to build proper reentrant code. Others may also need it.
*/
#ifdef NEED_REENTRANT
# ifndef _REENTRANT
# define _REENTRANT
# endif
#endif
/* ================================================================ */
/* If you need to include a system header file for your platform, */
/* please, do it beyond the point further indicated in this file. */
/* ================================================================ */
/*
* c-ares external interface definitions are also used internally,
* and might also include required system header files to define them.
*/
#include <ares_build.h>
/*
* Compile time sanity checks must also be done when building the library.
*/
#include <ares_rules.h>
/* ================================================================= */
/* No system header file shall be included in this file before this */
/* point. The only allowed ones are those included from ares_build.h */
/* ================================================================= */
/*
* Include header files for windows builds before redefining anything.
* Use this preproessor block only to include or exclude windows.h,
* winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
* to any other further and independent block. Under Cygwin things work
* just as under linux (e.g. <sys/socket.h>) and the winsock headers should
* never be included when __CYGWIN__ is defined. configure script takes
* care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
* neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
*/
#ifdef HAVE_WINDOWS_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
# else
# ifdef HAVE_WINSOCK_H
# include <winsock.h>
# endif
# endif
#endif
/*
* Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
* define USE_WINSOCK to 1 if we have and use WINSOCK API, else
* undefine USE_WINSOCK.
*/
#undef USE_WINSOCK
#ifdef HAVE_WINSOCK2_H
# define USE_WINSOCK 2
#else
# ifdef HAVE_WINSOCK_H
# define USE_WINSOCK 1
# endif
#endif
/*
* Work-arounds for systems without configure support
*/
#ifndef HAVE_CONFIG_H
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#endif /* HAVE_CONFIG_H */
#ifdef __POCC__
# include <sys/types.h>
# include <unistd.h>
# define ESRCH 3
#endif
/*
* Recent autoconf versions define these symbols in ares_config.h. We don't
* want them (since they collide with the libcurl ones when we build
* --enable-debug) so we undef them again here.
*/
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
/*
* Include macros and defines that should only be processed once.
*/
#ifndef __SETUP_ONCE_H
#include "setup_once.h"
#endif
#endif /* HEADER_CARES_SETUP_H */

View File

@@ -1,111 +0,0 @@
/* ares_build.h. Generated from ares_build.h.in by configure. */
#ifndef __CARES_BUILD_H
#define __CARES_BUILD_H
/* Copyright (C) 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* c-ares library user nor by the c-ares library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the c-ares development
* mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
*
* This header file shall only export symbols which are 'cares' or 'CARES'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file ares_build.h.in or ares_build.h,
* this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed ares_build.h file with one that is suitable
* and specific to the library being configured and built, which is generated
* from the ares_build.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CARES_SIZEOF_LONG
# error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
#endif
#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
# error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
#endif
#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
# error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
#define CARES_PULL_WS2TCPIP_H 1
#ifdef CARES_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN 1
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
/* #undef CARES_PULL_SYS_TYPES_H */
#ifdef CARES_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
/* #undef CARES_PULL_SYS_SOCKET_H */
#ifdef CARES_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CARES_SIZEOF_LONG 4
/* Integral data type used for ares_socklen_t. */
#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
/* The size of `ares_socklen_t', as computed by sizeof. */
#define CARES_SIZEOF_ARES_SOCKLEN_T 4
/* Data type definition of ares_socklen_t. */
typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
#endif /* __CARES_BUILD_H */

View File

@@ -1,513 +0,0 @@
/* ares_config.h. Generated from ares_config.h.in by configure. */
/* ares_config.h.in. Generated from configure.ac by autoheader. */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* define this if ares is built for a big endian system */
/* #undef ARES_BIG_ENDIAN */
/* when building as static part of libcurl */
/* #undef BUILDING_LIBCURL */
/* when building c-ares library */
/* #undef CARES_BUILDING_LIBRARY */
/* when not building a shared library */
#define CARES_STATICLIB 1
/* Define to 1 to enable hiding of library internal symbols. */
/* #undef CARES_SYMBOL_HIDING */
/* Definition to make a library symbol externally visible. */
/* #undef CARES_SYMBOL_SCOPE_EXTERN */
/* if a /etc/inet dir is being used */
/* #undef ETC_INET */
/* Define to the type qualifier of arg 1 for getnameinfo. */
/* #undef GETNAMEINFO_QUAL_ARG1 */
/* Define to the type of arg 1 for getnameinfo. */
/* #undef GETNAMEINFO_TYPE_ARG1 */
/* Define to the type of arg 2 for getnameinfo. */
/* #undef GETNAMEINFO_TYPE_ARG2 */
/* Define to the type of args 4 and 6 for getnameinfo. */
/* #undef GETNAMEINFO_TYPE_ARG46 */
/* Define to the type of arg 7 for getnameinfo. */
/* #undef GETNAMEINFO_TYPE_ARG7 */
/* Specifies the number of arguments to getservbyport_r */
/* #undef GETSERVBYPORT_R_ARGS */
/* Specifies the size of the buffer to pass to getservbyport_r */
/* #undef GETSERVBYPORT_R_BUFSIZE */
/* Define to 1 if you have AF_INET6. */
#define HAVE_AF_INET6 1
/* Define to 1 if you have the <arpa/inet.h> header file. */
/* #undef HAVE_ARPA_INET_H */
/* Define to 1 if you have the <arpa/nameser_compat.h> header file. */
/* #undef HAVE_ARPA_NAMESER_COMPAT_H */
/* Define to 1 if you have the <arpa/nameser.h> header file. */
/* #undef HAVE_ARPA_NAMESER_H */
/* Define to 1 if you have the <assert.h> header file. */
#define HAVE_ASSERT_H 1
/* Define to 1 if you have the `bitncmp' function. */
/* #undef HAVE_BITNCMP */
/* Define to 1 if bool is an available type. */
#define HAVE_BOOL_T 1
/* Define to 1 if you have the clock_gettime function and monotonic timer. */
/* #undef HAVE_CLOCK_GETTIME_MONOTONIC */
/* Define to 1 if you have the closesocket function. */
#define HAVE_CLOSESOCKET 1
/* Define to 1 if you have the CloseSocket camel case function. */
/* #undef HAVE_CLOSESOCKET_CAMEL */
/* Define to 1 if you have the connect function. */
#define HAVE_CONNECT 1
/* Define to 1 if you have the <dlfcn.h> header file. */
/* #undef HAVE_DLFCN_H */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the fcntl function. */
/* #undef HAVE_FCNTL */
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have a working fcntl O_NONBLOCK function. */
/* #undef HAVE_FCNTL_O_NONBLOCK */
/* Define to 1 if you have the freeaddrinfo function. */
/* #undef HAVE_FREEADDRINFO */
/* Define to 1 if you have a working getaddrinfo function. */
/* #undef HAVE_GETADDRINFO */
/* Define to 1 if the getaddrinfo function is threadsafe. */
/* #undef HAVE_GETADDRINFO_THREADSAFE */
/* Define to 1 if you have the gethostbyaddr function. */
#define HAVE_GETHOSTBYADDR 1
/* Define to 1 if you have the gethostbyname function. */
#define HAVE_GETHOSTBYNAME 1
/* Define to 1 if you have the gethostname function. */
#define HAVE_GETHOSTNAME 1
/* Define to 1 if you have the getnameinfo function. */
/* #undef HAVE_GETNAMEINFO */
/* Define to 1 if you have the getservbyport_r function. */
/* #undef HAVE_GETSERVBYPORT_R */
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `if_indextoname' function. */
/* #undef HAVE_IF_INDEXTONAME */
/* Define to 1 if you have the `inet_net_pton' function. */
/* #undef HAVE_INET_NET_PTON */
/* Define to 1 if inet_net_pton supports IPv6. */
/* #undef HAVE_INET_NET_PTON_IPV6 */
/* Define to 1 if you have a IPv6 capable working inet_ntop function. */
/* #undef HAVE_INET_NTOP */
/* Define to 1 if you have a IPv6 capable working inet_pton function. */
/* #undef HAVE_INET_PTON */
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the ioctl function. */
/* #undef HAVE_IOCTL */
/* Define to 1 if you have the ioctlsocket function. */
#define HAVE_IOCTLSOCKET 1
/* Define to 1 if you have the IoctlSocket camel case function. */
/* #undef HAVE_IOCTLSOCKET_CAMEL */
/* Define to 1 if you have a working IoctlSocket camel case FIONBIO function.
*/
/* #undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO */
/* Define to 1 if you have a working ioctlsocket FIONBIO function. */
#define HAVE_IOCTLSOCKET_FIONBIO 1
/* Define to 1 if you have a working ioctl FIONBIO function. */
/* #undef HAVE_IOCTL_FIONBIO */
/* Define to 1 if you have a working ioctl SIOCGIFADDR function. */
/* #undef HAVE_IOCTL_SIOCGIFADDR */
/* Define to 1 if you have the `resolve' library (-lresolve). */
/* #undef HAVE_LIBRESOLVE */
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* if your compiler supports LL */
#define HAVE_LL 1
/* Define to 1 if the compiler supports the 'long long' data type. */
#define HAVE_LONGLONG 1
/* Define to 1 if you have the malloc.h header file. */
#define HAVE_MALLOC_H 1
/* Define to 1 if you have the memory.h header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the MSG_NOSIGNAL flag. */
/* #undef HAVE_MSG_NOSIGNAL */
/* Define to 1 if you have the <netdb.h> header file. */
/* #undef HAVE_NETDB_H */
/* Define to 1 if you have the <netinet/in.h> header file. */
/* #undef HAVE_NETINET_IN_H */
/* Define to 1 if you have the <netinet/tcp.h> header file. */
/* #undef HAVE_NETINET_TCP_H */
/* Define to 1 if you have the <net/if.h> header file. */
/* #undef HAVE_NET_IF_H */
/* Define to 1 if you have PF_INET6. */
#define HAVE_PF_INET6 1
/* Define to 1 if you have the recv function. */
#define HAVE_RECV 1
/* Define to 1 if you have the recvfrom function. */
#define HAVE_RECVFROM 1
/* Define to 1 if you have the send function. */
#define HAVE_SEND 1
/* Define to 1 if you have the setsockopt function. */
#define HAVE_SETSOCKOPT 1
/* Define to 1 if you have a working setsockopt SO_NONBLOCK function. */
/* #undef HAVE_SETSOCKOPT_SO_NONBLOCK */
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if sig_atomic_t is an available typedef. */
#define HAVE_SIG_ATOMIC_T 1
/* Define to 1 if sig_atomic_t is already defined as volatile. */
/* #undef HAVE_SIG_ATOMIC_T_VOLATILE */
/* Define to 1 if your struct sockaddr_in6 has sin6_scope_id. */
#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
/* Define to 1 if you have the socket function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <socket.h> header file. */
/* #undef HAVE_SOCKET_H */
/* Define to 1 if you have the <stdbool.h> header file. */
#define HAVE_STDBOOL_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the strcasecmp function. */
#define HAVE_STRCASECMP 1
/* Define to 1 if you have the strcmpi function. */
#define HAVE_STRCMPI 1
/* Define to 1 if you have the strdup function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the stricmp function. */
#define HAVE_STRICMP 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the strncasecmp function. */
#define HAVE_STRNCASECMP 1
/* Define to 1 if you have the strncmpi function. */
/* #undef HAVE_STRNCMPI */
/* Define to 1 if you have the strnicmp function. */
/* #undef HAVE_STRNICMP */
/* Define to 1 if you have the <stropts.h> header file. */
/* #undef HAVE_STROPTS_H */
/* Define to 1 if you have struct addrinfo. */
#define HAVE_STRUCT_ADDRINFO 1
/* Define to 1 if you have struct in6_addr. */
#define HAVE_STRUCT_IN6_ADDR 1
/* Define to 1 if you have struct sockaddr_in6. */
#define HAVE_STRUCT_SOCKADDR_IN6 1
/* if struct sockaddr_storage is defined */
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
/* Define to 1 if you have the timeval struct. */
#define HAVE_STRUCT_TIMEVAL 1
/* Define to 1 if you have the <sys/ioctl.h> header file. */
/* #undef HAVE_SYS_IOCTL_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/select.h> header file. */
/* #undef HAVE_SYS_SELECT_H */
/* Define to 1 if you have the <sys/socket.h> header file. */
/* #undef HAVE_SYS_SOCKET_H */
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/uio.h> header file. */
/* #undef HAVE_SYS_UIO_H */
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the windows.h header file. */
#define HAVE_WINDOWS_H 1
/* Define to 1 if you have the winsock2.h header file. */
#define HAVE_WINSOCK2_H 1
/* Define to 1 if you have the winsock.h header file. */
#define HAVE_WINSOCK_H 1
/* Define to 1 if you have the writev function. */
/* #undef HAVE_WRITEV */
/* Define to 1 if you have the ws2tcpip.h header file. */
#define HAVE_WS2TCPIP_H 1
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Define to 1 if you are building a native Windows target. */
#define NATIVE_WINDOWS 1
/* Define to 1 if you need the malloc.h header file even with stdlib.h */
/* #undef NEED_MALLOC_H */
/* Define to 1 if you need the memory.h header file even with stdlib.h */
/* #undef NEED_MEMORY_H */
/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */
/* #undef NEED_REENTRANT */
/* Define to 1 if _THREAD_SAFE preprocessor symbol must be defined. */
/* #undef NEED_THREAD_SAFE */
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* cpu-machine-OS */
#define OS "i686-pc-mingw32"
/* Name of package */
#define PACKAGE "c-ares"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "c-ares mailing list => http://cool.haxx.se/mailman/listinfo/c-ares"
/* Define to the full name of this package. */
#define PACKAGE_NAME "c-ares"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "c-ares 1.7.3"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "c-ares"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.7.3"
/* a suitable file/device to read random data from */
#define RANDOM_FILE "/dev/urandom"
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 SOCKET
/* Define to the type pointed by arg 2 for recvfrom. */
#define RECVFROM_TYPE_ARG2 char
/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
/* #undef RECVFROM_TYPE_ARG2_IS_VOID */
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 int
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
/* Define to the type pointed by arg 5 for recvfrom. */
#define RECVFROM_TYPE_ARG5 struct sockaddr
/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */
/* #undef RECVFROM_TYPE_ARG5_IS_VOID */
/* Define to the type pointed by arg 6 for recvfrom. */
#define RECVFROM_TYPE_ARG6 int
/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */
/* #undef RECVFROM_TYPE_ARG6_IS_VOID */
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV int
/* Define to the type of arg 1 for recv. */
#define RECV_TYPE_ARG1 SOCKET
/* Define to the type of arg 2 for recv. */
#define RECV_TYPE_ARG2 char *
/* Define to the type of arg 3 for recv. */
#define RECV_TYPE_ARG3 int
/* Define to the type of arg 4 for recv. */
#define RECV_TYPE_ARG4 int
/* Define to the function return type for recv. */
#define RECV_TYPE_RETV int
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* Define to the type qualifier of arg 2 for send. */
#define SEND_QUAL_ARG2 const
/* Define to the type of arg 1 for send. */
#define SEND_TYPE_ARG1 SOCKET
/* Define to the type of arg 2 for send. */
#define SEND_TYPE_ARG2 char *
/* Define to the type of arg 3 for send. */
#define SEND_TYPE_ARG3 int
/* Define to the type of arg 4 for send. */
#define SEND_TYPE_ARG4 int
/* Define to the function return type for send. */
#define SEND_TYPE_RETV int
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 4
/* The size of `size_t', as computed by sizeof. */
#define SIZEOF_SIZE_T 4
/* The size of `struct in6_addr', as computed by sizeof. */
#define SIZEOF_STRUCT_IN6_ADDR 16
/* The size of `struct in_addr', as computed by sizeof. */
#define SIZEOF_STRUCT_IN_ADDR 4
/* The size of `time_t', as computed by sizeof. */
#define SIZEOF_TIME_T 4
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Define to disable non-blocking sockets. */
/* #undef USE_BLOCKING_SOCKETS */
/* Version number of package */
#define VERSION "1.7.3"
/* Define to avoid automatic inclusion of winsock.h */
#define WIN32_LEAN_AND_MEAN 1
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Define to 1 if OS is AIX. */
#ifndef _ALL_SOURCE
/* # undef _ALL_SOURCE */
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Type to use in place of in_addr_t when system does not provide it. */
#define in_addr_t unsigned long
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* the signed version of size_t */
/* #undef ssize_t */

View File

@@ -1,198 +0,0 @@
#ifndef HEADER_CARES_SETUP_H
#define HEADER_CARES_SETUP_H
/* $Id$ */
/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
/*
* Define WIN32 when build target is Win32 API
*/
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
#define WIN32
#endif
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
*/
#ifdef HAVE_CONFIG_H
#include "ares_config.h"
#else
#ifdef WIN32
#include "config-win32.h"
#endif
#endif /* HAVE_CONFIG_H */
/* ================================================================ */
/* Definition of preprocessor macros/symbols which modify compiler */
/* behaviour or generated code characteristics must be done here, */
/* as appropriate, before any system header file is included. It is */
/* also possible to have them defined in the config file included */
/* before this point. As a result of all this we frown inclusion of */
/* system header files in our config files, avoid this at any cost. */
/* ================================================================ */
/*
* AIX 4.3 and newer needs _THREAD_SAFE defined to build
* proper reentrant code. Others may also need it.
*/
#ifdef NEED_THREAD_SAFE
# ifndef _THREAD_SAFE
# define _THREAD_SAFE
# endif
#endif
/*
* Tru64 needs _REENTRANT set for a few function prototypes and
* things to appear in the system header files. Unixware needs it
* to build proper reentrant code. Others may also need it.
*/
#ifdef NEED_REENTRANT
# ifndef _REENTRANT
# define _REENTRANT
# endif
#endif
/* ================================================================ */
/* If you need to include a system header file for your platform, */
/* please, do it beyond the point further indicated in this file. */
/* ================================================================ */
/*
* c-ares external interface definitions are also used internally,
* and might also include required system header files to define them.
*/
#include <ares_build.h>
/*
* Compile time sanity checks must also be done when building the library.
*/
#include <ares_rules.h>
/* ================================================================= */
/* No system header file shall be included in this file before this */
/* point. The only allowed ones are those included from ares_build.h */
/* ================================================================= */
/*
* Include header files for windows builds before redefining anything.
* Use this preproessor block only to include or exclude windows.h,
* winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
* to any other further and independent block. Under Cygwin things work
* just as under linux (e.g. <sys/socket.h>) and the winsock headers should
* never be included when __CYGWIN__ is defined. configure script takes
* care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
* neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
*/
#ifdef HAVE_WINDOWS_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
# else
# ifdef HAVE_WINSOCK_H
# include <winsock.h>
# endif
# endif
#endif
/*
* Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
* define USE_WINSOCK to 1 if we have and use WINSOCK API, else
* undefine USE_WINSOCK.
*/
#undef USE_WINSOCK
#ifdef HAVE_WINSOCK2_H
# define USE_WINSOCK 2
#else
# ifdef HAVE_WINSOCK_H
# define USE_WINSOCK 1
# endif
#endif
/*
* Work-arounds for systems without configure support
*/
#ifndef HAVE_CONFIG_H
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#endif /* HAVE_CONFIG_H */
#ifdef __POCC__
# include <sys/types.h>
# include <unistd.h>
# define ESRCH 3
#endif
/*
* Recent autoconf versions define these symbols in ares_config.h. We don't
* want them (since they collide with the libcurl ones when we build
* --enable-debug) so we undef them again here.
*/
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
/*
* Include macros and defines that should only be processed once.
*/
#ifndef __SETUP_ONCE_H
#include "setup_once.h"
#endif
#endif /* HEADER_CARES_SETUP_H */

26
deps/c-ares/wscript vendored
View File

@@ -1,26 +0,0 @@
import Options
import platform
PLATFORM_IS_DARWIN = platform.platform().find('Darwin') == 0
PLATFORM_IS_LINUX = platform.platform().find('Linux') == 0
PLATFORM_IS_SOLARIS = platform.platform().find('Sun') == 0
PLATFORM_IS_FREEBSD = platform.platform().find('FreeBSD') == 0
MACHINE_IS_AMD64 = platform.machine().find('amd64') == 0
MACHINE_IS_I386 = platform.machine().find('i386') == 0
def set_options(opt):
pass
def configure(conf):
conf.env.append_value('CCFLAGS', ['-DHAVE_CONFIG_H=1'])
def build(bld):
cares = bld.new_task_gen("cc")
cares.source = bld.path.ant_glob('*.c')
cares.target = 'cares'
cares.name = 'cares'
cares.includes = '. ./' + bld.env['DEST_OS'] + '-' + bld.env['DEST_CPU']
cares.install_path = None
if bld.env["USE_DEBUG"]:
cares.clone("debug");

View File

@@ -2,3 +2,7 @@ tags
*.o
test
test_g
test_fast
http_parser.Makefile
http_parser.target.mk
test.target.mk

View File

@@ -1,4 +1,8 @@
Copyright 2009,2010 Ryan Dahl <ry@tinyclouds.org>
http_parser.c is based on src/http/ngx_http_parse.c from NGINX copyright
Igor Sysoev.
Additional changes are licensed under the same terms as NGINX and
copyright Joyent, Inc. and other Node contributors. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to

View File

@@ -1,41 +1,52 @@
OPT_DEBUG=-O0 -g -Wall -Wextra -Werror -I.
OPT_FAST=-O3 -DHTTP_PARSER_STRICT=0 -I.
CC?=gcc
AR?=ar
CPPFLAGS += -I.
CPPFLAGS_DEBUG = $(CPPFLAGS) -DHTTP_PARSER_STRICT=1 -DHTTP_PARSER_DEBUG=1
CPPFLAGS_DEBUG += $(CPPFLAGS_DEBUG_EXTRA)
CPPFLAGS_FAST = $(CPPFLAGS) -DHTTP_PARSER_STRICT=0 -DHTTP_PARSER_DEBUG=0
CPPFLAGS_FAST += $(CPPFLAGS_FAST_EXTRA)
CFLAGS += -Wall -Wextra -Werror
CFLAGS_DEBUG = $(CFLAGS) -O0 -g $(CFLAGS_DEBUG_EXTRA)
CFLAGS_FAST = $(CFLAGS) -O3 $(CFLAGS_FAST_EXTRA)
test: test_g
test: test_g test_fast
./test_g
./test_fast
test_g: http_parser_g.o test_g.o
$(CC) $(OPT_DEBUG) http_parser_g.o test_g.o -o $@
$(CC) $(CFLAGS_DEBUG) $(LDFLAGS) http_parser_g.o test_g.o -o $@
test_g.o: test.c http_parser.h Makefile
$(CC) $(OPT_DEBUG) -c test.c -o $@
test.o: test.c http_parser.h Makefile
$(CC) $(OPT_FAST) -c test.c -o $@
$(CC) $(CPPFLAGS_DEBUG) $(CFLAGS_DEBUG) -c test.c -o $@
http_parser_g.o: http_parser.c http_parser.h Makefile
$(CC) $(OPT_DEBUG) -c http_parser.c -o $@
$(CC) $(CPPFLAGS_DEBUG) $(CFLAGS_DEBUG) -c http_parser.c -o $@
test-valgrind: test_g
valgrind ./test_g
test_fast: http_parser.o test.o http_parser.h
$(CC) $(CFLAGS_FAST) $(LDFLAGS) http_parser.o test.o -o $@
test.o: test.c http_parser.h Makefile
$(CC) $(CPPFLAGS_FAST) $(CFLAGS_FAST) -c test.c -o $@
http_parser.o: http_parser.c http_parser.h Makefile
$(CC) $(OPT_FAST) -c http_parser.c
test_fast: http_parser.o test.c http_parser.h
$(CC) $(OPT_FAST) http_parser.o test.c -o $@
$(CC) $(CPPFLAGS_FAST) $(CFLAGS_FAST) -c http_parser.c
test-run-timed: test_fast
while(true) do time ./test_fast > /dev/null; done
test-valgrind: test_g
valgrind ./test_g
package: http_parser.o
$(AR) rcs libhttp_parser.a http_parser.o
tags: http_parser.c http_parser.h test.c
ctags $^
clean:
rm -f *.o test test_fast test_g http_parser.tar tags
rm -f *.o *.a test test_fast test_g http_parser.tar tags
.PHONY: clean package test-run test-run-timed test-valgrind

View File

@@ -24,7 +24,7 @@ The parser extracts the following information from HTTP messages:
* Response status code
* Transfer-Encoding
* HTTP version
* Request path, query string, fragment
* Request URL
* Message body
@@ -126,7 +126,7 @@ There are two types of callbacks:
* notification `typedef int (*http_cb) (http_parser*);`
Callbacks: on_message_begin, on_headers_complete, on_message_complete.
* data `typedef int (*http_data_cb) (http_parser*, const char *at, size_t length);`
Callbacks: (requests only) on_path, on_query_string, on_uri, on_fragment,
Callbacks: (requests only) on_uri,
(common) on_header_field, on_header_value, on_body;
Callbacks must return 0 on success. Returning a non-zero value indicates

File diff suppressed because it is too large Load Diff

34
deps/http_parser/http_parser.gyp vendored Normal file
View File

@@ -0,0 +1,34 @@
# This file is used with the GYP meta build system.
# http://code.google.com/p/gyp/
# To build try this:
# svn co http://gyp.googlecode.com/svn/trunk gyp
# ./gyp/gyp -f make --depth=`pwd` http_parser.gyp
# ./out/Debug/test
{
'targets': [
{
'target_name': 'http_parser',
'type': '<(library)',
'include_dirs': [ '.' ],
'direct_dependent_settings': {
'include_dirs': [ '.' ],
},
'defines': [ 'HTTP_PARSER_STRICT=0' ],
'sources': [ './http_parser.c', ],
'msvs_settings': {
'VCCLCompilerTool': {
# Compile as C++. http_parser.c is actually C99, but C++ is
# close enough in this case.
'CompileAs': 2, # compile as C++
},
},
},
{
'target_name': 'test',
'type': 'executable',
'dependencies': [ 'http_parser' ],
'sources': [ 'test.c' ]
}
]
}

View File

@@ -1,4 +1,4 @@
/* Copyright 2009,2010 Ryan Dahl <ry@tinyclouds.org>
/* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
@@ -24,9 +24,11 @@
extern "C" {
#endif
#define HTTP_PARSER_VERSION_MAJOR 1
#define HTTP_PARSER_VERSION_MINOR 0
#include <sys/types.h>
#if defined(_WIN32) && !defined(__MINGW32__)
#if defined(_WIN32) && !defined(__MINGW32__) && !defined(_MSC_VER)
typedef __int8 int8_t;
typedef unsigned __int8 uint8_t;
typedef __int16 int16_t;
@@ -47,8 +49,13 @@ typedef int ssize_t;
*/
#ifndef HTTP_PARSER_STRICT
# define HTTP_PARSER_STRICT 1
#else
# define HTTP_PARSER_STRICT 0
#endif
/* Compile with -DHTTP_PARSER_DEBUG=1 to add extra debugging information to
* the error reporting facility.
*/
#ifndef HTTP_PARSER_DEBUG
# define HTTP_PARSER_DEBUG 0
#endif
@@ -58,6 +65,7 @@ typedef int ssize_t;
typedef struct http_parser http_parser;
typedef struct http_parser_settings http_parser_settings;
typedef struct http_parser_result http_parser_result;
/* Callbacks should return non-zero to indicate an error. The parser will
@@ -106,16 +114,95 @@ enum http_method
, HTTP_NOTIFY
, HTTP_SUBSCRIBE
, HTTP_UNSUBSCRIBE
/* RFC-5789 */
, HTTP_PATCH
};
enum http_parser_type { HTTP_REQUEST, HTTP_RESPONSE, HTTP_BOTH };
/* Flag values for http_parser.flags field */
enum flags
{ F_CHUNKED = 1 << 0
, F_CONNECTION_KEEP_ALIVE = 1 << 1
, F_CONNECTION_CLOSE = 1 << 2
, F_TRAILING = 1 << 3
, F_UPGRADE = 1 << 4
, F_SKIPBODY = 1 << 5
};
/* Map for errno-related constants
*
* The provided argument should be a macro that takes 2 arguments.
*/
#define HTTP_ERRNO_MAP(XX) \
/* No error */ \
XX(OK, "success") \
\
/* Callback-related errors */ \
XX(CB_message_begin, "the on_message_begin callback failed") \
XX(CB_path, "the on_path callback failed") \
XX(CB_query_string, "the on_query_string callback failed") \
XX(CB_url, "the on_url callback failed") \
XX(CB_fragment, "the on_fragment callback failed") \
XX(CB_header_field, "the on_header_field callback failed") \
XX(CB_header_value, "the on_header_value callback failed") \
XX(CB_headers_complete, "the on_headers_complete callback failed") \
XX(CB_body, "the on_body callback failed") \
XX(CB_message_complete, "the on_message_complete callback failed") \
\
/* Parsing-related errors */ \
XX(INVALID_EOF_STATE, "stream ended at an unexpected time") \
XX(HEADER_OVERFLOW, \
"too many header bytes seen; overflow detected") \
XX(CLOSED_CONNECTION, \
"data received after completed connection: close message") \
XX(INVALID_VERSION, "invalid HTTP version") \
XX(INVALID_STATUS, "invalid HTTP status code") \
XX(INVALID_METHOD, "invalid HTTP method") \
XX(INVALID_URL, "invalid URL") \
XX(INVALID_HOST, "invalid host") \
XX(INVALID_PORT, "invalid port") \
XX(INVALID_PATH, "invalid path") \
XX(INVALID_QUERY_STRING, "invalid query string") \
XX(INVALID_FRAGMENT, "invalid fragment") \
XX(LF_EXPECTED, "LF character expected") \
XX(INVALID_HEADER_TOKEN, "invalid character in header") \
XX(INVALID_CONTENT_LENGTH, \
"invalid character in content-length header") \
XX(INVALID_CHUNK_SIZE, \
"invalid character in chunk size header") \
XX(INVALID_CONSTANT, "invalid constant string") \
XX(INVALID_INTERNAL_STATE, "encountered unexpected internal state")\
XX(STRICT, "strict mode assertion failed") \
XX(UNKNOWN, "an unknown error occurred")
/* Define HPE_* values for each errno value above */
#define HTTP_ERRNO_GEN(n, s) HPE_##n,
enum http_errno {
HTTP_ERRNO_MAP(HTTP_ERRNO_GEN)
};
#undef HTTP_ERRNO_GEN
/* Get an http_errno value from an http_parser */
#define HTTP_PARSER_ERRNO(p) ((enum http_errno) (p)->http_errno)
/* Get the line number that generated the current error */
#if HTTP_PARSER_DEBUG
#define HTTP_PARSER_ERRNO_LINE(p) ((p)->error_lineno)
#else
#define HTTP_PARSER_ERRNO_LINE(p) 0
#endif
struct http_parser {
/** PRIVATE **/
unsigned char type : 2;
unsigned char flags : 6;
unsigned char flags : 6; /* F_* values from 'flags' enum; semi-public */
unsigned char state;
unsigned char header_state;
unsigned char index;
@@ -128,13 +215,18 @@ struct http_parser {
unsigned short http_minor;
unsigned short status_code; /* responses only */
unsigned char method; /* requests only */
unsigned char http_errno : 7;
/* 1 = Upgrade header was present and the parser has exited because of that.
* 0 = No upgrade header present.
* Should be checked when http_parser_execute() returns in addition to
* error checking.
*/
char upgrade;
char upgrade : 1;
#if HTTP_PARSER_DEBUG
uint32_t error_lineno;
#endif
/** PUBLIC **/
void *data; /* A pointer to get hook to the "connection" or "socket" object */
@@ -143,10 +235,7 @@ struct http_parser {
struct http_parser_settings {
http_cb on_message_begin;
http_data_cb on_path;
http_data_cb on_query_string;
http_data_cb on_url;
http_data_cb on_fragment;
http_data_cb on_header_field;
http_data_cb on_header_value;
http_cb on_headers_complete;
@@ -173,7 +262,13 @@ size_t http_parser_execute(http_parser *parser,
int http_should_keep_alive(http_parser *parser);
/* Returns a string version of the HTTP method. */
const char *http_method_str(enum http_method);
const char *http_method_str(enum http_method m);
/* Return a string name of the given error */
const char *http_errno_name(enum http_errno err);
/* Return a string description of the given error */
const char *http_errno_description(enum http_errno err);
#ifdef __cplusplus
}

View File

@@ -1,4 +1,4 @@
/* Copyright 2009,2010 Ryan Dahl <ry@tinyclouds.org>
/* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
@@ -44,10 +44,7 @@ struct message {
enum http_parser_type type;
enum http_method method;
int status_code;
char request_path[MAX_ELEMENT_SIZE];
char request_url[MAX_ELEMENT_SIZE];
char fragment[MAX_ELEMENT_SIZE];
char query_string[MAX_ELEMENT_SIZE];
char body[MAX_ELEMENT_SIZE];
size_t body_size;
int num_headers;
@@ -55,7 +52,7 @@ struct message {
char headers [MAX_HEADERS][2][MAX_ELEMENT_SIZE];
int should_keep_alive;
int upgrade;
const char *upgrade; // upgraded body
unsigned short http_major;
unsigned short http_minor;
@@ -86,9 +83,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.query_string= ""
,.fragment= ""
,.request_path= "/test"
,.request_url= "/test"
,.num_headers= 3
,.headers=
@@ -117,9 +111,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.query_string= ""
,.fragment= ""
,.request_path= "/favicon.ico"
,.request_url= "/favicon.ico"
,.num_headers= 8
,.headers=
@@ -146,9 +137,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.query_string= ""
,.fragment= ""
,.request_path= "/dumbfuck"
,.request_url= "/dumbfuck"
,.num_headers= 1
,.headers=
@@ -167,9 +155,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.query_string= "page=1"
,.fragment= "posts-17408"
,.request_path= "/forums/1/topics/2375"
/* XXX request url does include fragment? */
,.request_url= "/forums/1/topics/2375?page=1#posts-17408"
,.num_headers= 0
@@ -186,9 +171,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.query_string= ""
,.fragment= ""
,.request_path= "/get_no_headers_no_body/world"
,.request_url= "/get_no_headers_no_body/world"
,.num_headers= 0
,.body= ""
@@ -205,9 +187,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.query_string= ""
,.fragment= ""
,.request_path= "/get_one_header_no_body"
,.request_url= "/get_one_header_no_body"
,.num_headers= 1
,.headers=
@@ -228,9 +207,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 0
,.method= HTTP_GET
,.query_string= ""
,.fragment= ""
,.request_path= "/get_funky_content_length_body_hello"
,.request_url= "/get_funky_content_length_body_hello"
,.num_headers= 1
,.headers=
@@ -253,9 +229,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_POST
,.query_string= "q=search"
,.fragment= "hey"
,.request_path= "/post_identity_body_world"
,.request_url= "/post_identity_body_world?q=search#hey"
,.num_headers= 3
,.headers=
@@ -280,9 +253,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_POST
,.query_string= ""
,.fragment= ""
,.request_path= "/post_chunked_all_your_base"
,.request_url= "/post_chunked_all_your_base"
,.num_headers= 1
,.headers=
@@ -306,9 +276,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_POST
,.query_string= ""
,.fragment= ""
,.request_path= "/two_chunks_mult_zero_end"
,.request_url= "/two_chunks_mult_zero_end"
,.num_headers= 1
,.headers=
@@ -334,9 +301,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_POST
,.query_string= ""
,.fragment= ""
,.request_path= "/chunked_w_trailing_headers"
,.request_url= "/chunked_w_trailing_headers"
,.num_headers= 3
,.headers=
@@ -362,9 +326,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_POST
,.query_string= ""
,.fragment= ""
,.request_path= "/chunked_w_bullshit_after_length"
,.request_url= "/chunked_w_bullshit_after_length"
,.num_headers= 1
,.headers=
@@ -382,9 +343,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.query_string= "foo=\"bar\""
,.fragment= ""
,.request_path= "/with_\"stupid\"_quotes"
,.request_url= "/with_\"stupid\"_quotes?foo=\"bar\""
,.num_headers= 0
,.headers= { }
@@ -408,9 +366,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 0
,.method= HTTP_GET
,.query_string= ""
,.fragment= ""
,.request_path= "/test"
,.request_url= "/test"
,.num_headers= 3
,.headers= { { "Host", "0.0.0.0:5000" }
@@ -431,9 +386,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.query_string= "foo=bar?baz"
,.fragment= ""
,.request_path= "/test.cgi"
,.request_url= "/test.cgi?foo=bar?baz"
,.num_headers= 0
,.headers= {}
@@ -452,9 +404,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.query_string= ""
,.fragment= ""
,.request_path= "/test"
,.request_url= "/test"
,.num_headers= 0
,.headers= { }
@@ -473,17 +422,15 @@ const struct message requests[] =
"Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\n"
"Origin: http://example.com\r\n"
"\r\n"
"Hot diggity dogg"
,.should_keep_alive= TRUE
,.message_complete_on_eof= FALSE
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.query_string= ""
,.fragment= ""
,.request_path= "/demo"
,.request_url= "/demo"
,.num_headers= 7
,.upgrade=1
,.upgrade="Hot diggity dogg"
,.headers= { { "Host", "example.com" }
, { "Connection", "Upgrade" }
, { "Sec-WebSocket-Key2", "12998 5 Y3 1 .P00" }
@@ -498,21 +445,20 @@ const struct message requests[] =
#define CONNECT_REQUEST 17
, {.name = "connect request"
,.type= HTTP_REQUEST
,.raw= "CONNECT home0.netscape.com:443 HTTP/1.0\r\n"
,.raw= "CONNECT 0-home0.netscape.com:443 HTTP/1.0\r\n"
"User-agent: Mozilla/1.1N\r\n"
"Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n"
"\r\n"
"some data\r\n"
"and yet even more data"
,.should_keep_alive= FALSE
,.message_complete_on_eof= FALSE
,.http_major= 1
,.http_minor= 0
,.method= HTTP_CONNECT
,.query_string= ""
,.fragment= ""
,.request_path= ""
,.request_url= "home0.netscape.com:443"
,.request_url= "0-home0.netscape.com:443"
,.num_headers= 2
,.upgrade=1
,.upgrade="some data\r\nand yet even more data"
,.headers= { { "User-agent", "Mozilla/1.1N" }
, { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" }
}
@@ -529,9 +475,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_REPORT
,.query_string= ""
,.fragment= ""
,.request_path= "/test"
,.request_url= "/test"
,.num_headers= 0
,.headers= {}
@@ -548,16 +491,13 @@ const struct message requests[] =
,.http_major= 0
,.http_minor= 9
,.method= HTTP_GET
,.query_string= ""
,.fragment= ""
,.request_path= "/"
,.request_url= "/"
,.num_headers= 0
,.headers= {}
,.body= ""
}
#define MSEARCH_REQ 19
#define MSEARCH_REQ 20
, {.name= "m-search request"
,.type= HTTP_REQUEST
,.raw= "M-SEARCH * HTTP/1.1\r\n"
@@ -570,9 +510,6 @@ const struct message requests[] =
,.http_major= 1
,.http_minor= 1
,.method= HTTP_MSEARCH
,.query_string= ""
,.fragment= ""
,.request_path= "*"
,.request_url= "*"
,.num_headers= 3
,.headers= { { "HOST", "239.255.255.250:1900" }
@@ -582,6 +519,167 @@ const struct message requests[] =
,.body= ""
}
#define LINE_FOLDING_IN_HEADER 20
, {.name= "line folding in header value"
,.type= HTTP_REQUEST
,.raw= "GET / HTTP/1.1\r\n"
"Line1: abc\r\n"
"\tdef\r\n"
" ghi\r\n"
"\t\tjkl\r\n"
" mno \r\n"
"\t \tqrs\r\n"
"Line2: \t line2\t\r\n"
"\r\n"
,.should_keep_alive= TRUE
,.message_complete_on_eof= FALSE
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.request_url= "/"
,.num_headers= 2
,.headers= { { "Line1", "abcdefghijklmno qrs" }
, { "Line2", "line2\t" }
}
,.body= ""
}
#define QUERY_TERMINATED_HOST 21
, {.name= "host terminated by a query string"
,.type= HTTP_REQUEST
,.raw= "GET http://hypnotoad.org?hail=all HTTP/1.1\r\n"
"\r\n"
,.should_keep_alive= TRUE
,.message_complete_on_eof= FALSE
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.request_url= "http://hypnotoad.org?hail=all"
,.num_headers= 0
,.headers= { }
,.body= ""
}
#define QUERY_TERMINATED_HOSTPORT 22
, {.name= "host:port terminated by a query string"
,.type= HTTP_REQUEST
,.raw= "GET http://hypnotoad.org:1234?hail=all HTTP/1.1\r\n"
"\r\n"
,.should_keep_alive= TRUE
,.message_complete_on_eof= FALSE
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.request_url= "http://hypnotoad.org:1234?hail=all"
,.num_headers= 0
,.headers= { }
,.body= ""
}
#define SPACE_TERMINATED_HOSTPORT 23
, {.name= "host:port terminated by a space"
,.type= HTTP_REQUEST
,.raw= "GET http://hypnotoad.org:1234 HTTP/1.1\r\n"
"\r\n"
,.should_keep_alive= TRUE
,.message_complete_on_eof= FALSE
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.request_url= "http://hypnotoad.org:1234"
,.num_headers= 0
,.headers= { }
,.body= ""
}
#if !HTTP_PARSER_STRICT
#define UTF8_PATH_REQ 24
, {.name= "utf-8 path request"
,.type= HTTP_REQUEST
,.raw= "GET /δ¶/δt/pope?q=1#narf HTTP/1.1\r\n"
"Host: github.com\r\n"
"\r\n"
,.should_keep_alive= TRUE
,.message_complete_on_eof= FALSE
,.http_major= 1
,.http_minor= 1
,.method= HTTP_GET
,.request_url= "/δ¶/δt/pope?q=1#narf"
,.num_headers= 1
,.headers= { {"Host", "github.com" }
}
,.body= ""
}
#define HOSTNAME_UNDERSCORE 25
, {.name = "hostname underscore"
,.type= HTTP_REQUEST
,.raw= "CONNECT home_0.netscape.com:443 HTTP/1.0\r\n"
"User-agent: Mozilla/1.1N\r\n"
"Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n"
"\r\n"
,.should_keep_alive= FALSE
,.message_complete_on_eof= FALSE
,.http_major= 1
,.http_minor= 0
,.method= HTTP_CONNECT
,.request_url= "home_0.netscape.com:443"
,.num_headers= 2
,.upgrade=""
,.headers= { { "User-agent", "Mozilla/1.1N" }
, { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" }
}
,.body= ""
}
#endif /* !HTTP_PARSER_STRICT */
#define PATCH_REQ 26
, {.name = "PATCH request"
,.type= HTTP_REQUEST
,.raw= "PATCH /file.txt HTTP/1.1\r\n"
"Host: www.example.com\r\n"
"Content-Type: application/example\r\n"
"If-Match: \"e0023aa4e\"\r\n"
"Content-Length: 10\r\n"
"\r\n"
"cccccccccc"
,.should_keep_alive= TRUE
,.message_complete_on_eof= FALSE
,.http_major= 1
,.http_minor= 1
,.method= HTTP_PATCH
,.request_url= "/file.txt"
,.num_headers= 4
,.headers= { { "Host", "www.example.com" }
, { "Content-Type", "application/example" }
, { "If-Match", "\"e0023aa4e\"" }
, { "Content-Length", "10" }
}
,.body= "cccccccccc"
}
#define CONNECT_CAPS_REQUEST 27
, {.name = "connect caps request"
,.type= HTTP_REQUEST
,.raw= "CONNECT HOME0.NETSCAPE.COM:443 HTTP/1.0\r\n"
"User-agent: Mozilla/1.1N\r\n"
"Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n"
"\r\n"
,.should_keep_alive= FALSE
,.message_complete_on_eof= FALSE
,.http_major= 1
,.http_minor= 0
,.method= HTTP_CONNECT
,.request_url= "HOME0.NETSCAPE.COM:443"
,.num_headers= 2
,.upgrade=""
,.headers= { { "User-agent", "Mozilla/1.1N" }
, { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" }
}
,.body= ""
}
, {.name= NULL } /* sentinel */
};
@@ -947,14 +1045,6 @@ const struct message responses[] =
, {.name= NULL } /* sentinel */
};
int
request_path_cb (http_parser *p, const char *buf, size_t len)
{
assert(p == parser);
strncat(messages[num_messages].request_path, buf, len);
return 0;
}
int
request_url_cb (http_parser *p, const char *buf, size_t len)
{
@@ -963,22 +1053,6 @@ request_url_cb (http_parser *p, const char *buf, size_t len)
return 0;
}
int
query_string_cb (http_parser *p, const char *buf, size_t len)
{
assert(p == parser);
strncat(messages[num_messages].query_string, buf, len);
return 0;
}
int
fragment_cb (http_parser *p, const char *buf, size_t len)
{
assert(p == parser);
strncat(messages[num_messages].fragment, buf, len);
return 0;
}
int
header_field_cb (http_parser *p, const char *buf, size_t len)
{
@@ -1072,10 +1146,7 @@ static http_parser_settings settings =
{.on_message_begin = message_begin_cb
,.on_header_field = header_field_cb
,.on_header_value = header_value_cb
,.on_path = request_path_cb
,.on_url = request_url_cb
,.on_fragment = fragment_cb
,.on_query_string = query_string_cb
,.on_body = body_cb
,.on_headers_complete = headers_complete_cb
,.on_message_complete = message_complete_cb
@@ -1085,10 +1156,7 @@ static http_parser_settings settings_count_body =
{.on_message_begin = message_begin_cb
,.on_header_field = header_field_cb
,.on_header_value = header_value_cb
,.on_path = request_path_cb
,.on_url = request_url_cb
,.on_fragment = fragment_cb
,.on_query_string = query_string_cb
,.on_body = count_body_cb
,.on_headers_complete = headers_complete_cb
,.on_message_complete = message_complete_cb
@@ -1098,10 +1166,7 @@ static http_parser_settings settings_null =
{.on_message_begin = 0
,.on_header_field = 0
,.on_header_value = 0
,.on_path = 0
,.on_url = 0
,.on_fragment = 0
,.on_query_string = 0
,.on_body = 0
,.on_headers_complete = 0
,.on_message_complete = 0
@@ -1151,7 +1216,13 @@ check_str_eq (const struct message *m,
const char *prop,
const char *expected,
const char *found) {
if (0 != strcmp(expected, found)) {
if ((expected == NULL) != (found == NULL)) {
printf("\n*** Error: %s in '%s' ***\n\n", prop, m->name);
printf("expected %s\n", (expected == NULL) ? "NULL" : expected);
printf(" found %s\n", (found == NULL) ? "NULL" : found);
return 0;
}
if (expected != NULL && 0 != strcmp(expected, found)) {
printf("\n*** Error: %s in '%s' ***\n\n", prop, m->name);
printf("expected '%s'\n", expected);
printf(" found '%s'\n", found);
@@ -1204,9 +1275,6 @@ message_eq (int index, const struct message *expected)
assert(m->message_complete_cb_called);
MESSAGE_CHECK_STR_EQ(expected, m, request_path);
MESSAGE_CHECK_STR_EQ(expected, m, query_string);
MESSAGE_CHECK_STR_EQ(expected, m, fragment);
MESSAGE_CHECK_STR_EQ(expected, m, request_url);
if (expected->body_size) {
MESSAGE_CHECK_NUM_EQ(expected, m, body_size);
@@ -1224,13 +1292,81 @@ message_eq (int index, const struct message *expected)
if (!r) return 0;
}
MESSAGE_CHECK_STR_EQ(expected, m, upgrade);
return 1;
}
/* Given a sequence of varargs messages, return the number of them that the
* parser should successfully parse, taking into account that upgraded
* messages prevent all subsequent messages from being parsed.
*/
size_t
count_parsed_messages(const size_t nmsgs, ...) {
size_t i;
va_list ap;
va_start(ap, nmsgs);
for (i = 0; i < nmsgs; i++) {
struct message *m = va_arg(ap, struct message *);
if (m->upgrade) {
va_end(ap);
return i + 1;
}
}
va_end(ap);
return nmsgs;
}
/* Given a sequence of bytes and the number of these that we were able to
* parse, verify that upgrade bodies are correct.
*/
void
upgrade_message_fix(char *body, const size_t nread, const size_t nmsgs, ...) {
va_list ap;
size_t i;
size_t off = 0;
va_start(ap, nmsgs);
for (i = 0; i < nmsgs; i++) {
struct message *m = va_arg(ap, struct message *);
off += strlen(m->raw);
if (m->upgrade) {
off -= strlen(m->upgrade);
/* Check the portion of the response after its specified upgrade */
if (!check_str_eq(m, "upgrade", body + off, body + nread)) {
exit(1);
}
/* Fix up the response so that message_eq() will verify the beginning
* of the upgrade */
*(body + nread + strlen(m->upgrade)) = '\0';
messages[num_messages -1 ].upgrade = body + nread;
va_end(ap);
return;
}
}
va_end(ap);
printf("\n\n*** Error: expected a message with upgrade ***\n");
exit(1);
}
static void
print_error (const char *raw, size_t error_location)
{
fprintf(stderr, "\n*** parse error ***\n\n");
fprintf(stderr, "\n*** %s:%d -- %s ***\n\n",
"http_parser.c", HTTP_PARSER_ERRNO_LINE(parser),
http_errno_description(HTTP_PARSER_ERRNO(parser)));
int this_line = 0, char_len = 0;
size_t i, j, len = strlen(raw), error_location_line = 0;
@@ -1285,7 +1421,10 @@ test_message (const struct message *message)
if (msg1len) {
read = parse(msg1, msg1len);
if (message->upgrade && parser->upgrade) goto test;
if (message->upgrade && parser->upgrade) {
messages[num_messages - 1].upgrade = msg1 + read;
goto test;
}
if (read != msg1len) {
print_error(msg1, read);
@@ -1296,7 +1435,10 @@ test_message (const struct message *message)
read = parse(msg2, msg2len);
if (message->upgrade && parser->upgrade) goto test;
if (message->upgrade && parser->upgrade) {
messages[num_messages - 1].upgrade = msg2 + read;
goto test;
}
if (read != msg2len) {
print_error(msg2, read);
@@ -1305,8 +1447,6 @@ test_message (const struct message *message)
read = parse(NULL, 0);
if (message->upgrade && parser->upgrade) goto test;
if (read != 0) {
print_error(message->raw, read);
exit(1);
@@ -1362,21 +1502,32 @@ test_message_count_body (const struct message *message)
}
void
test_simple (const char *buf, int should_pass)
test_simple (const char *buf, enum http_errno err_expected)
{
parser_init(HTTP_REQUEST);
size_t parsed;
int pass;
enum http_errno err;
parsed = parse(buf, strlen(buf));
pass = (parsed == strlen(buf));
err = HTTP_PARSER_ERRNO(parser);
parsed = parse(NULL, 0);
pass &= (parsed == 0);
parser_free();
if (pass != should_pass) {
fprintf(stderr, "\n*** test_simple expected %s ***\n\n%s", should_pass ? "success" : "error", buf);
/* In strict mode, allow us to pass with an unexpected HPE_STRICT as
* long as the caller isn't expecting success.
*/
#if HTTP_PARSER_STRICT
if (err_expected != err && err_expected != HPE_OK && err != HPE_STRICT) {
#else
if (err_expected != err) {
#endif
fprintf(stderr, "\n*** test_simple expected %s, but saw %s ***\n\n%s\n",
http_errno_name(err_expected), http_errno_name(err), buf);
exit(1);
}
}
@@ -1393,10 +1544,14 @@ test_header_overflow_error (int req)
assert(parsed == strlen(buf));
buf = "header-key: header-value\r\n";
size_t buflen = strlen(buf);
int i;
for (i = 0; i < 10000; i++) {
if (http_parser_execute(&parser, &settings_null, buf, strlen(buf)) != strlen(buf)) {
parsed = http_parser_execute(&parser, &settings_null, buf, buflen);
if (parsed != buflen) {
//fprintf(stderr, "error found on iter %d\n", i);
assert(HTTP_PARSER_ERRNO(&parser) == HPE_HEADER_OVERFLOW);
return;
}
}
@@ -1441,12 +1596,7 @@ test_no_overflow_long_body (int req, size_t length)
void
test_multiple3 (const struct message *r1, const struct message *r2, const struct message *r3)
{
int message_count = 1;
if (!r1->upgrade) {
message_count++;
if (!r2->upgrade) message_count++;
}
int has_upgrade = (message_count < 3 || r3->upgrade);
int message_count = count_parsed_messages(3, r1, r2, r3);
char total[ strlen(r1->raw)
+ strlen(r2->raw)
@@ -1465,7 +1615,10 @@ test_multiple3 (const struct message *r1, const struct message *r2, const struct
read = parse(total, strlen(total));
if (has_upgrade && parser->upgrade) goto test;
if (parser->upgrade) {
upgrade_message_fix(total, read, 3, r1, r2, r3);
goto test;
}
if (read != strlen(total)) {
print_error(total, read);
@@ -1474,8 +1627,6 @@ test_multiple3 (const struct message *r1, const struct message *r2, const struct
read = parse(NULL, 0);
if (has_upgrade && parser->upgrade) goto test;
if (read != 0) {
print_error(total, read);
exit(1);
@@ -1489,12 +1640,8 @@ test:
}
if (!message_eq(0, r1)) exit(1);
if (message_count > 1) {
if (!message_eq(1, r2)) exit(1);
if (message_count > 2) {
if (!message_eq(2, r3)) exit(1);
}
}
if (message_count > 1 && !message_eq(1, r2)) exit(1);
if (message_count > 2 && !message_eq(2, r3)) exit(1);
parser_free();
}
@@ -1523,6 +1670,7 @@ test_scan (const struct message *r1, const struct message *r2, const struct mess
int ops = 0 ;
size_t buf1_len, buf2_len, buf3_len;
int message_count = count_parsed_messages(3, r1, r2, r3);
int i,j,type_both;
for (type_both = 0; type_both < 2; type_both ++ ) {
@@ -1551,27 +1699,27 @@ test_scan (const struct message *r1, const struct message *r2, const struct mess
read = parse(buf1, buf1_len);
if (r3->upgrade && parser->upgrade) goto test;
if (parser->upgrade) goto test;
if (read != buf1_len) {
print_error(buf1, read);
goto error;
}
read = parse(buf2, buf2_len);
read += parse(buf2, buf2_len);
if (r3->upgrade && parser->upgrade) goto test;
if (parser->upgrade) goto test;
if (read != buf2_len) {
if (read != buf1_len + buf2_len) {
print_error(buf2, read);
goto error;
}
read = parse(buf3, buf3_len);
read += parse(buf3, buf3_len);
if (r3->upgrade && parser->upgrade) goto test;
if (parser->upgrade) goto test;
if (read != buf3_len) {
if (read != buf1_len + buf2_len + buf3_len) {
print_error(buf3, read);
goto error;
}
@@ -1579,9 +1727,13 @@ test_scan (const struct message *r1, const struct message *r2, const struct mess
parse(NULL, 0);
test:
if (parser->upgrade) {
upgrade_message_fix(total, read, 3, r1, r2, r3);
}
if (3 != num_messages) {
fprintf(stderr, "\n\nParser didn't see 3 messages only %d\n", num_messages);
if (message_count != num_messages) {
fprintf(stderr, "\n\nParser didn't see %d messages only %d\n",
message_count, num_messages);
goto error;
}
@@ -1590,12 +1742,12 @@ test:
goto error;
}
if (!message_eq(1, r2)) {
if (message_count > 1 && !message_eq(1, r2)) {
fprintf(stderr, "\n\nError matching messages[1] in test_scan.\n");
goto error;
}
if (!message_eq(2, r3)) {
if (message_count > 2 && !message_eq(2, r3)) {
fprintf(stderr, "\n\nError matching messages[2] in test_scan.\n");
goto error;
}
@@ -1735,13 +1887,21 @@ main (void)
/// REQUESTS
test_simple("hello world", HPE_INVALID_METHOD);
test_simple("GET / HTP/1.1\r\n\r\n", HPE_INVALID_VERSION);
test_simple("hello world", 0);
test_simple("GET / HTP/1.1\r\n\r\n", 0);
test_simple("ASDF / HTTP/1.1\r\n\r\n", 0);
test_simple("PROPPATCHA / HTTP/1.1\r\n\r\n", 0);
test_simple("GETA / HTTP/1.1\r\n\r\n", 0);
test_simple("ASDF / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD);
test_simple("PROPPATCHA / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD);
test_simple("GETA / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD);
// Well-formed but incomplete
test_simple("GET / HTTP/1.1\r\n"
"Content-Type: text/plain\r\n"
"Content-Length: 6\r\n"
"\r\n"
"fooba",
HPE_OK);
static const char *all_methods[] = {
"DELETE",
@@ -1759,12 +1919,31 @@ main (void)
"PROPFIND",
"PROPPATCH",
"UNLOCK",
"REPORT",
"MKACTIVITY",
"CHECKOUT",
"MERGE",
"M-SEARCH",
"NOTIFY",
"SUBSCRIBE",
"UNSUBSCRIBE",
"PATCH",
0 };
const char **this_method;
for (this_method = all_methods; *this_method; this_method++) {
char buf[200];
sprintf(buf, "%s / HTTP/1.1\r\n\r\n", *this_method);
test_simple(buf, 1);
test_simple(buf, HPE_OK);
}
static const char *bad_methods[] = {
"C******",
"M****",
0 };
for (this_method = bad_methods; *this_method; this_method++) {
char buf[200];
sprintf(buf, "%s / HTTP/1.1\r\n\r\n", *this_method);
test_simple(buf, HPE_UNKNOWN);
}
const char *dumbfuck2 =
@@ -1802,7 +1981,7 @@ main (void)
"\tRA==\r\n"
"\t-----END CERTIFICATE-----\r\n"
"\r\n";
test_simple(dumbfuck2, 0);
test_simple(dumbfuck2, HPE_OK);
#if 0
// NOTE(Wed Nov 18 11:57:27 CET 2009) this seems okay. we just read body

View File

@@ -1,26 +0,0 @@
include(CheckFunctionExists)
include(FindThreads)
if(!${CMAKE_USE_PTHREADS_INIT})
message(FATAL_ERROR "Unable to find pthreads")
endif()
add_definitions(-DHAVE_CONFIG_H=1 -D_GNU_SOURCE)
check_function_exists(futimes HAVE_FUTIMES)
check_function_exists(readahead HAVE_READAHEAD)
check_function_exists(fdatasync HAVE_FDATASYNC)
check_function_exists(pread HAVE_PREAD)
check_function_exists(pwrite HAVE_PWRITE)
check_function_exists(sendfile HAVE_SENDFILE)
check_function_exists(sync_file_range HAVE_SYNC_FILE_RANGE)
if(${HAVE_PREAD} AND ${HAVE_PWRITE})
set(HAVE_PREADWRITE 1)
endif()
configure_file(config.h.cmake ${PROJECT_BINARY_DIR}/deps/libeio/config.h)
include_directories(${PROJECT_BINARY_DIR}/deps/libeio)
add_library(eio eio.c)
target_link_libraries(eio ${CMAKE_THREAD_LIBS_INIT})

35
deps/libeio/Changes vendored
View File

@@ -1,35 +0,0 @@
Revision history for libeio
TODO: maybe add mincore support? available on at least darwin, solaris, linux, freebsd
TODO: openbsd requites stdint.h for intptr_t - why posix?
1.0
- readdir: correctly handle malloc failures.
- readdir: new flags argument, can return inode
and possibly filetype, can sort in various ways.
- readdir: stop immediately when cancelled, do
not continue reading the directory.
- fix return value of eio_sendfile_sync.
- include sys/mman.h for msync.
- added EIO_STACKSIZE.
- added msync, mtouch support (untested).
- added sync_file_range (untested).
- fixed custom support.
- use a more robust feed-add detection method.
- "outbundled" from IO::AIO.
- eio_set_max_polltime did not properly convert time to ticks.
- tentatively support darwin in sendfile.
- fix freebsd/darwin sendfile.
- also use sendfile emulation for ENOTSUP and EOPNOTSUPP
error codes.
- add OS-independent EIO_MT_* and EIO_MS_* flag enums.
- add eio_statvfs/eio_fstatvfs.
- add eio_mlock/eio_mlockall and OS-independent MCL_* flag enums.
- no longer set errno to 0 before making syscalls, this only lures
people into the trap of believing errno shows success or failure.
- "fix" demo.c so that it works as non-root.
- suppoert utimes seperately from futimes, as some systems have
utimes but not futimes.
- use _POSIX_MEMLOCK_RANGE for mlock.
- do not (errornously) overwrite CFLAGS in configure.ac.

View File

@@ -1,5 +0,0 @@
libtoolize
aclocal
automake --add-missing
autoconf
autoheader

View File

@@ -1,17 +0,0 @@
/* futimes(2) is available */
#cmakedefine HAVE_FUTIMES 1
/* readahead(2) is available (linux) */
#cmakedefine HAVE_READAHEAD 1
/* fdatasync(2) is available */
#cmakedefine HAVE_FDATASYNC 1
/* pread(2) and pwrite(2) are available */
#cmakedefine HAVE_PREADWRITE 1
/* sendfile(2) is available and supported */
#cmakedefine HAVE_SENDFILE 1
/* sync_file_range(2) is available */
#cmakedefine HAVE_SYNC_FILE_RANGE 1

303
deps/libeio/eio.pod vendored
View File

@@ -1,303 +0,0 @@
=head1 NAME
libeio - truly asynchronous POSIX I/O
=head1 SYNOPSIS
#include <eio.h>
=head1 DESCRIPTION
The newest version of this document is also available as an html-formatted
web page you might find easier to navigate when reading it for the first
time: L<http://pod.tst.eu/http://cvs.schmorp.de/libeio/eio.pod>.
Note that this library is a by-product of the C<IO::AIO> perl
module, and many of the subtler points regarding requets lifetime
and so on are only documented in its documentation at the
moment: L<http://pod.tst.eu/http://cvs.schmorp.de/IO-AIO/AIO.pm>.
=head2 FEATURES
This library provides fully asynchronous versions of most POSIX functions
dealign with I/O. Unlike most asynchronous libraries, this not only
includes C<read> and C<write>, but also C<open>, C<stat>, C<unlink> and
similar functions, as well as less rarely ones such as C<mknod>, C<futime>
or C<readlink>.
It also offers wrappers around C<sendfile> (Solaris, Linux, HP-UX and
FreeBSD, with emulation on other platforms) and C<readahead> (Linux, with
emulation elsewhere>).
The goal is to enable you to write fully non-blocking programs. For
example, in a game server, you would not want to freeze for a few seconds
just because the server is running a backup and you happen to call
C<readdir>.
=head2 TIME REPRESENTATION
Libeio represents time as a single floating point number, representing the
(fractional) number of seconds since the (POSIX) epoch (somewhere near
the beginning of 1970, details are complicated, don't ask). This type is
called C<eio_tstamp>, but it is guarenteed to be of type C<double> (or
better), so you can freely use C<double> yourself.
Unlike the name component C<stamp> might indicate, it is also used for
time differences throughout libeio.
=head2 FORK SUPPORT
Calling C<fork ()> is fully supported by this module. It is implemented in these steps:
1. wait till all requests in "execute" state have been handled
(basically requests that are already handed over to the kernel).
2. fork
3. in the parent, continue business as usual, done
4. in the child, destroy all ready and pending requests and free the
memory used by the worker threads. This gives you a fully empty
libeio queue.
=head1 INITIALISATION/INTEGRATION
Before you can call any eio functions you first have to initialise the
library. The library integrates into any event loop, but can also be used
without one, including in polling mode.
You have to provide the necessary glue yourself, however.
=over 4
=item int eio_init (void (*want_poll)(void), void (*done_poll)(void))
This function initialises the library. On success it returns C<0>, on
failure it returns C<-1> and sets C<errno> appropriately.
It accepts two function pointers specifying callbacks as argument, both of
which can be C<0>, in which case the callback isn't called.
=item want_poll callback
The C<want_poll> callback is invoked whenever libeio wants attention (i.e.
it wants to be polled by calling C<eio_poll>). It is "edge-triggered",
that is, it will only be called once when eio wants attention, until all
pending requests have been handled.
This callback is called while locks are being held, so I<you must
not call any libeio functions inside this callback>. That includes
C<eio_poll>. What you should do is notify some other thread, or wake up
your event loop, and then call C<eio_poll>.
=item done_poll callback
This callback is invoked when libeio detects that all pending requests
have been handled. It is "edge-triggered", that is, it will only be
called once after C<want_poll>. To put it differently, C<want_poll> and
C<done_poll> are invoked in pairs: after C<want_poll> you have to call
C<eio_poll ()> until either C<eio_poll> indicates that everything has been
handled or C<done_poll> has been called, which signals the same.
Note that C<eio_poll> might return after C<done_poll> and C<want_poll>
have been called again, so watch out for races in your code.
As with C<want_poll>, this callback is called while lcoks are being held,
so you I<must not call any libeio functions form within this callback>.
=item int eio_poll ()
This function has to be called whenever there are pending requests that
need finishing. You usually call this after C<want_poll> has indicated
that you should do so, but you can also call this function regularly to
poll for new results.
If any request invocation returns a non-zero value, then C<eio_poll ()>
immediately returns with that value as return value.
Otherwise, if all requests could be handled, it returns C<0>. If for some
reason not all requests have been handled, i.e. some are still pending, it
returns C<-1>.
=back
For libev, you would typically use an C<ev_async> watcher: the
C<want_poll> callback would invoke C<ev_async_send> to wake up the event
loop. Inside the callback set for the watcher, one would call C<eio_poll
()> (followed by C<ev_async_send> again if C<eio_poll> indicates that not
all requests have been handled yet). The race is taken care of because
libev resets/rearms the async watcher before calling your callback,
and therefore, before calling C<eio_poll>. This might result in (some)
spurious wake-ups, but is generally harmless.
For most other event loops, you would typically use a pipe - the event
loop should be told to wait for read readyness on the read end. In
C<want_poll> you would write a single byte, in C<done_poll> you would try
to read that byte, and in the callback for the read end, you would call
C<eio_poll>. The race is avoided here because the event loop should invoke
your callback again and again until the byte has been read (as the pipe
read callback does not read it, only C<done_poll>).
=head2 CONFIGURATION
The functions in this section can sometimes be useful, but the default
configuration will do in most case, so you should skip this section on
first reading.
=over 4
=item eio_set_max_poll_time (eio_tstamp nseconds)
This causes C<eio_poll ()> to return after it has detected that it was
running for C<nsecond> seconds or longer (this number can be fractional).
This can be used to limit the amount of time spent handling eio requests,
for example, in interactive programs, you might want to limit this time to
C<0.01> seconds or so.
Note that:
a) libeio doesn't know how long your request callbacks take, so the time
spent in C<eio_poll> is up to one callback invocation longer then this
interval.
b) this is implemented by calling C<gettimeofday> after each request,
which can be costly.
c) at least one request will be handled.
=item eio_set_max_poll_reqs (unsigned int nreqs)
When C<nreqs> is non-zero, then C<eio_poll> will not handle more than
C<nreqs> requests per invocation. This is a less costly way to limit the
amount of work done by C<eio_poll> then setting a time limit.
If you know your callbacks are generally fast, you could use this to
encourage interactiveness in your programs by setting it to C<10>, C<100>
or even C<1000>.
=item eio_set_min_parallel (unsigned int nthreads)
Make sure libeio can handle at least this many requests in parallel. It
might be able handle more.
=item eio_set_max_parallel (unsigned int nthreads)
Set the maximum number of threads that libeio will spawn.
=item eio_set_max_idle (unsigned int nthreads)
Libeio uses threads internally to handle most requests, and will start and stop threads on demand.
This call can be used to limit the number of idle threads (threads without
work to do): libeio will keep some threads idle in preperation for more
requests, but never longer than C<nthreads> threads.
In addition to this, libeio will also stop threads when they are idle for
a few seconds, regardless of this setting.
=item unsigned int eio_nthreads ()
Return the number of worker threads currently running.
=item unsigned int eio_nreqs ()
Return the number of requests currently handled by libeio. This is the
total number of requests that have been submitted to libeio, but not yet
destroyed.
=item unsigned int eio_nready ()
Returns the number of ready requests, i.e. requests that have been
submitted but have not yet entered the execution phase.
=item unsigned int eio_npending ()
Returns the number of pending requests, i.e. requests that have been
executed and have results, but have not been finished yet by a call to
C<eio_poll>).
=back
=head1 ANATOMY OF AN EIO REQUEST
#TODO
=head1 HIGH LEVEL REQUEST API
#TODO
=back
=head1 LOW LEVEL REQUEST API
#TODO
=head1 EMBEDDING
Libeio can be embedded directly into programs. This functionality is not
documented and not (yet) officially supported.
Note that, when including C<libeio.m4>, you are responsible for defining
the compilation environment (C<_LARGEFILE_SOURCE>, C<_GNU_SOURCE> etc.).
If you need to know how, check the C<IO::AIO> perl module, which does
exactly that.
=head1 COMPILETIME CONFIGURATION
These symbols, if used, must be defined when compiling F<eio.c>.
=over 4
=item EIO_STACKSIZE
This symbol governs the stack size for each eio thread. Libeio itself
was written to use very little stackspace, but when using C<EIO_CUSTOM>
requests, you might want to increase this.
If this symbol is undefined (the default) then libeio will use its default
stack size (C<sizeof (long) * 4096> currently). If it is defined, but
C<0>, then the default operating system stack size will be used. In all
other cases, the value must be an expression that evaluates to the desired
stack size.
=back
=head1 PORTABILITY REQUIREMENTS
In addition to a working ISO-C implementation, libeio relies on a few
additional extensions:
=over 4
=item POSIX threads
To be portable, this module uses threads, specifically, the POSIX threads
library must be available (and working, which partially excludes many xBSD
systems, where C<fork ()> is buggy).
=item POSIX-compatible filesystem API
This is actually a harder portability requirement: The libeio API is quite
demanding regarding POSIX API calls (symlinks, user/group management
etc.).
=item C<double> must hold a time value in seconds with enough accuracy
The type C<double> is used to represent timestamps. It is required to
have at least 51 bits of mantissa (and 9 bits of exponent), which is good
enough for at least into the year 4000. This requirement is fulfilled by
implementations implementing IEEE 754 (basically all existing ones).
=back
If you know of other additional requirements drop me a note.
=head1 AUTHOR
Marc Lehmann <libeio@schmorp.de>.

129
deps/libeio/wscript vendored
View File

@@ -1,129 +0,0 @@
import Options
import sys
def set_options(opt):
pass
#opt.tool_options('compiler_cc')
def configure(conf):
print "--- libeio ---"
#conf.check_tool('compiler_cc')
conf.check(lib='pthread', uselib_store='PTHREAD')
conf.check_cc(lib="pthread", header_name="pthread.h", function_name="pthread_create", mandatory=True)
if sys.platform.startswith("cygwin"):
conf.check_cc(lib="pthread", header_name="unistd.h", function_name="pthread_atfork", mandatory=True)
elif sys.platform.startswith("win32"):
conf.check_cc(lib="pthread", header_name="pthread.h", function_name="pthread_atfork")
else:
conf.check_cc(lib="pthread", header_name="pthread.h", function_name="pthread_atfork", mandatory=True)
conf.check_cc(msg="Checking for futimes(2)", define_name="HAVE_FUTIMES", fragment="""
#include <sys/types.h>
#include <sys/time.h>
#include <utime.h>
struct timeval tv[2];
int res;
int fd;
int main(void)
{
res = futimes (fd, tv);
return 0;
}
""")
conf.check_cc(msg="Checking for readahead(2)", define_name="HAVE_READAHEAD", fragment="""
#include <fcntl.h>
int main(void)
{
int fd = 0;
size_t count = 2;
ssize_t res;
res = readahead (fd, 0, count);
return 0;
}
""")
conf.check_cc(msg="Checking for fdatasync(2)", define_name="HAVE_FDATASYNC", fragment="""
#include <unistd.h>
int main(void)
{
int fd = 0;
fdatasync (fd);
return 0;
}
""")
conf.check_cc(msg="Checking for pread(2) and pwrite(2)", define_name="HAVE_PREADWRITE", fragment="""
#include <unistd.h>
int main(void)
{
int fd = 0;
size_t count = 1;
char buf;
off_t offset = 1;
ssize_t res;
res = pread (fd, &buf, count, offset);
res = pwrite (fd, &buf, count, offset);
return 0;
}
""")
conf.check_cc(msg="Checking for sendfile(2)" , define_name="HAVE_SENDFILE" , fragment="""
# include <sys/types.h>
#if __linux
# include <sys/sendfile.h>
#elif __FreeBSD__ || defined(__APPLE__)
# include <sys/socket.h>
# include <sys/uio.h>
#elif __hpux
# include <sys/socket.h>
#else
# error unsupported architecture
#endif
int main(void)
{
int fd = 0;
off_t offset = 1;
size_t count = 2;
ssize_t res;
#if __linux
res = sendfile (fd, fd, offset, count);
#elif __FreeBSD__
res = sendfile (fd, fd, offset, count, 0, &offset, 0);
#elif __APPLE__
res = sendfile (fd, fd, offset, &offset, 0, 0);
#elif __hpux
res = sendfile (fd, fd, offset, count, 0, 0);
#endif
return 0;
}
""")
conf.env.append_value("CCFLAGS", "-D_GNU_SOURCE")
conf.check_cc(msg="Checking for sync_file_range(2) ", fragment="""
#include <fcntl.h>
int main(void)
{
int fd = 0;
off64_t offset = 1;
off64_t nbytes = 1;
unsigned int flags = SYNC_FILE_RANGE_WAIT_BEFORE|SYNC_FILE_RANGE_WRITE|SYNC_FILE_RANGE_WAIT_AFTER;
ssize_t res;
res = sync_file_range (fd, offset, nbytes, flags);
return 0;
}
""", define_name="HAVE_SYNC_FILE_RANGE")
def build(bld):
libeio = bld.new_task_gen("cc")
libeio.source = "eio.c"
libeio.target = 'eio'
libeio.name = 'eio'
libeio.includes = '. ../..'
libeio.uselib = "PTHREAD"
libeio.install_path = None
if bld.env["USE_DEBUG"]:
libeio.clone("debug");
bld.install_files('${PREFIX}/include/node/', 'eio.h');

View File

@@ -1,37 +0,0 @@
include(CheckIncludeFiles)
include(CheckFunctionExists)
include(CheckLibraryExists)
#include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${PROJECT_BINARY_DIR}/deps/libev)
add_definitions(-DHAVE_CONFIG_H=1 -DEV_MULTIPLICITY=0)
check_include_files(sys/inotify.h HAVE_SYS_INOTIFY_H)
check_include_files(sys/epoll.h HAVE_SYS_EPOLL_H)
check_include_files(sys/event.h HAVE_SYS_EVENT_H)
check_include_files(sys/queue.h HAVE_SYS_QUEUE_H)
check_include_files(port.h HAVE_PORT_H)
check_include_files(poll.h HAVE_POLL_H)
check_include_files(sys/select.h HAVE_SYS_SELECT_H)
check_include_files(sys/eventfd.h HAVE_SYS_EVENTFD_H)
check_function_exists(inotify_init HAVE_INOTIFY_INIT)
check_function_exists(epoll_ctl HAVE_EPOLL_CTL)
check_function_exists(kqueue HAVE_KQUEUE)
check_function_exists(port_create HAVE_PORT_CREATE)
check_function_exists(poll HAVE_POLL)
check_function_exists(select HAVE_SELECT)
check_function_exists(eventfd HAVE_EVENTFD)
check_function_exists(nanosleep HAVE_NANOSLEEP)
# check first without rt
check_function_exists(clock_gettime HAVE_CLOCK_GETTIME)
check_library_exists(rt clock_gettime "" HAVE_LIBRT)
# then check with rt
check_library_exists(rt clock_gettime "" HAVE_CLOCK_GETTIME)
check_library_exists(m ceil "" HAVE_LIBM)
configure_file(config.h.cmake ${PROJECT_BINARY_DIR}/deps/libev/config.h)
add_library (ev ev.c)

View File

@@ -1,3 +0,0 @@
This file is now included in the main libev documentation, see
http://cvs.schmorp.de/libev/ev.html

72
deps/libev/Symbols.ev vendored
View File

@@ -1,72 +0,0 @@
ev_async_send
ev_async_start
ev_async_stop
ev_backend
ev_check_start
ev_check_stop
ev_child_start
ev_child_stop
ev_clear_pending
ev_default_destroy
ev_default_fork
ev_default_loop_init
ev_default_loop_ptr
ev_embed_start
ev_embed_stop
ev_embed_sweep
ev_embeddable_backends
ev_feed_event
ev_feed_fd_event
ev_feed_signal_event
ev_fork_start
ev_fork_stop
ev_idle_start
ev_idle_stop
ev_invoke
ev_invoke_pending
ev_io_start
ev_io_stop
ev_loop
ev_loop_count
ev_loop_depth
ev_loop_destroy
ev_loop_fork
ev_loop_new
ev_loop_verify
ev_now
ev_now_update
ev_once
ev_pending_count
ev_periodic_again
ev_periodic_start
ev_periodic_stop
ev_prepare_start
ev_prepare_stop
ev_recommended_backends
ev_ref
ev_resume
ev_set_allocator
ev_set_invoke_pending_cb
ev_set_io_collect_interval
ev_set_loop_release_cb
ev_set_syserr_cb
ev_set_timeout_collect_interval
ev_set_userdata
ev_signal_start
ev_signal_stop
ev_sleep
ev_stat_start
ev_stat_stat
ev_stat_stop
ev_supported_backends
ev_suspend
ev_time
ev_timer_again
ev_timer_remaining
ev_timer_start
ev_timer_stop
ev_unloop
ev_unref
ev_userdata
ev_version_major
ev_version_minor

View File

@@ -1,21 +0,0 @@
event_active
event_add
event_base_dispatch
event_base_free
event_base_loop
event_base_loopexit
event_base_once
event_base_priority_init
event_base_set
event_del
event_dispatch
event_get_method
event_get_version
event_init
event_loop
event_loopexit
event_once
event_pending
event_priority_init
event_priority_set
event_set

View File

@@ -1,65 +0,0 @@
/* Define to 1 if you have the `clock_gettime' function. */
#cmakedefine HAVE_CLOCK_GETTIME 1
/* "use syscall interface for clock_gettime" */
#cmakedefine HAVE_CLOCK_SYSCALL 1
/* Define to 1 if you have the `epoll_ctl' function. */
#cmakedefine HAVE_EPOLL_CTL 1
/* Define to 1 if you have the `eventfd' function. */
#cmakedefine HAVE_EVENTFD 1
/* Define to 1 if you have the `inotify_init' function. */
#cmakedefine HAVE_INOTIFY_INIT 1
/* Define to 1 if you have the `kqueue' function. */
#cmakedefine HAVE_KQUEUE 1
/* Define to 1 if you have the `m' library (-lm). */
#cmakedefine HAVE_LIBM 1
/* Define to 1 if you have the `rt' library (-lrt). */
/* #undef HAVE_LIBRT */
/* Define to 1 if you have the `nanosleep' function. */
#cmakedefine HAVE_NANOSLEEP 1
/* Define to 1 if you have the `poll' function. */
#cmakedefine HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#cmakedefine HAVE_POLL_H 1
/* Define to 1 if you have the `port_create' function. */
#cmakedefine HAVE_PORT_CREATE 1
/* Define to 1 if you have the <port.h> header file. */
#cmakedefine HAVE_PORT_H 1
/* Define to 1 if you have the `select' function. */
#cmakedefine HAVE_SELECT 1
/* Define to 1 if you have the <sys/epoll.h> header file. */
#cmakedefine HAVE_SYS_EPOLL_H 1
/* Define to 1 if you have the <sys/eventfd.h> header file. */
#cmakedefine HAVE_SYS_EVENTFD_H 1
/* Define to 1 if you have the <sys/event.h> header file. */
#cmakedefine HAVE_SYS_EVENT_H 1
/* Define to 1 if you have the <sys/inotify.h> header file. */
#cmakedefine HAVE_SYS_INOTIFY_H 1
/* Define to 1 if you have the <sys/queue.h> header file. */
#cmakedefine HAVE_SYS_QUEUE_H 1
/* Define to 1 if you have the <sys/select.h> header file. */
#cmakedefine HAVE_SYS_SELECT_H 1
/* Name of package */
#define PACKAGE "libev"
/* Version number of package */
#define VERSION "3.9"

View File

@@ -1,226 +0,0 @@
/*
* Copyright (c) 2000-2004 Niels Provos <provos@citi.umich.edu>
* Copyright (c) 2008 Marc Alexander Lehmann <libev@schmorp.de>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
# undef WIN32_LEAN_AND_MEAN
typedef unsigned char u_char;
typedef unsigned short u_short;
#else
# include <sys/types.h>
# include <sys/time.h>
# include <inttypes.h>
#endif
#include <stdarg.h>
/* Fix so that ppl dont have to run with <sys/queue.h> */
#ifndef TAILQ_ENTRY
#define _EVENT_DEFINED_TQENTRY
#define TAILQ_ENTRY(type) \
struct { \
struct type *tqe_next; /* next element */ \
struct type **tqe_prev; /* address of previous next element */ \
}
#endif /* !TAILQ_ENTRY */
#ifndef RB_ENTRY
#define _EVENT_DEFINED_RBENTRY
#define RB_ENTRY(type) \
struct { \
struct type *rbe_left; /* left element */ \
struct type *rbe_right; /* right element */ \
struct type *rbe_parent; /* parent element */ \
int rbe_color; /* node color */ \
}
#endif /* !RB_ENTRY */
/*
* Key-Value pairs. Can be used for HTTP headers but also for
* query argument parsing.
*/
struct evkeyval {
TAILQ_ENTRY(evkeyval) next;
char *key;
char *value;
};
#ifdef _EVENT_DEFINED_TQENTRY
#undef TAILQ_ENTRY
struct event_list;
struct evkeyvalq;
#undef _EVENT_DEFINED_TQENTRY
#else
TAILQ_HEAD (event_list, event);
TAILQ_HEAD (evkeyvalq, evkeyval);
#endif /* _EVENT_DEFINED_TQENTRY */
#ifdef _EVENT_DEFINED_RBENTRY
#undef RB_ENTRY
#undef _EVENT_DEFINED_RBENTRY
#endif /* _EVENT_DEFINED_RBENTRY */
struct eventop {
char *name;
void *(*init)(struct event_base *);
int (*add)(void *, struct event *);
int (*del)(void *, struct event *);
int (*recalc)(struct event_base *, void *, int);
int (*dispatch)(struct event_base *, void *, struct timeval *);
void (*dealloc)(struct event_base *, void *);
};
/* These functions deal with buffering input and output */
struct evbuffer {
u_char *buffer;
u_char *orig_buffer;
size_t misalign;
size_t totallen;
size_t off;
void (*cb)(struct evbuffer *, size_t, size_t, void *);
void *cbarg;
};
/* Just for error reporting - use other constants otherwise */
#define EVBUFFER_READ 0x01
#define EVBUFFER_WRITE 0x02
#define EVBUFFER_EOF 0x10
#define EVBUFFER_ERROR 0x20
#define EVBUFFER_TIMEOUT 0x40
struct bufferevent;
typedef void (*evbuffercb)(struct bufferevent *, void *);
typedef void (*everrorcb)(struct bufferevent *, short what, void *);
struct event_watermark {
size_t low;
size_t high;
};
struct bufferevent {
struct event ev_read;
struct event ev_write;
struct evbuffer *input;
struct evbuffer *output;
struct event_watermark wm_read;
struct event_watermark wm_write;
evbuffercb readcb;
evbuffercb writecb;
everrorcb errorcb;
void *cbarg;
int timeout_read; /* in seconds */
int timeout_write; /* in seconds */
short enabled; /* events that are currently enabled */
};
struct bufferevent *bufferevent_new(int fd,
evbuffercb readcb, evbuffercb writecb, everrorcb errorcb, void *cbarg);
int bufferevent_base_set(struct event_base *base, struct bufferevent *bufev);
int bufferevent_priority_set(struct bufferevent *bufev, int pri);
void bufferevent_free(struct bufferevent *bufev);
int bufferevent_write(struct bufferevent *bufev, const void *data, size_t size);
int bufferevent_write_buffer(struct bufferevent *bufev, struct evbuffer *buf);
size_t bufferevent_read(struct bufferevent *bufev, void *data, size_t size);
int bufferevent_enable(struct bufferevent *bufev, short event);
int bufferevent_disable(struct bufferevent *bufev, short event);
void bufferevent_settimeout(struct bufferevent *bufev,
int timeout_read, int timeout_write);
#define EVBUFFER_LENGTH(x) (x)->off
#define EVBUFFER_DATA(x) (x)->buffer
#define EVBUFFER_INPUT(x) (x)->input
#define EVBUFFER_OUTPUT(x) (x)->output
struct evbuffer *evbuffer_new(void);
void evbuffer_free(struct evbuffer *);
int evbuffer_expand(struct evbuffer *, size_t);
int evbuffer_add(struct evbuffer *, const void *, size_t);
int evbuffer_remove(struct evbuffer *, void *, size_t);
char *evbuffer_readline(struct evbuffer *);
int evbuffer_add_buffer(struct evbuffer *, struct evbuffer *);
int evbuffer_add_printf(struct evbuffer *, const char *fmt, ...);
int evbuffer_add_vprintf(struct evbuffer *, const char *fmt, va_list ap);
void evbuffer_drain(struct evbuffer *, size_t);
int evbuffer_write(struct evbuffer *, int);
int evbuffer_read(struct evbuffer *, int, int);
u_char *evbuffer_find(struct evbuffer *, const u_char *, size_t);
void evbuffer_setcb(struct evbuffer *, void (*)(struct evbuffer *, size_t, size_t, void *), void *);
/*
* Marshaling tagged data - We assume that all tags are inserted in their
* numeric order - so that unknown tags will always be higher than the
* known ones - and we can just ignore the end of an event buffer.
*/
void evtag_init(void);
void evtag_marshal(struct evbuffer *evbuf, uint32_t tag, const void *data,
uint32_t len);
void encode_int(struct evbuffer *evbuf, uint32_t number);
void evtag_marshal_int(struct evbuffer *evbuf, uint32_t tag, uint32_t integer);
void evtag_marshal_string(struct evbuffer *buf, uint32_t tag,
const char *string);
void evtag_marshal_timeval(struct evbuffer *evbuf, uint32_t tag,
struct timeval *tv);
int evtag_unmarshal(struct evbuffer *src, uint32_t *ptag, struct evbuffer *dst);
int evtag_peek(struct evbuffer *evbuf, uint32_t *ptag);
int evtag_peek_length(struct evbuffer *evbuf, uint32_t *plength);
int evtag_payload_length(struct evbuffer *evbuf, uint32_t *plength);
int evtag_consume(struct evbuffer *evbuf);
int evtag_unmarshal_int(struct evbuffer *evbuf, uint32_t need_tag,
uint32_t *pinteger);
int evtag_unmarshal_fixed(struct evbuffer *src, uint32_t need_tag, void *data,
size_t len);
int evtag_unmarshal_string(struct evbuffer *evbuf, uint32_t need_tag,
char **pstring);
int evtag_unmarshal_timeval(struct evbuffer *evbuf, uint32_t need_tag,
struct timeval *ptv);
#ifdef __cplusplus
}
#endif

View File

@@ -1,131 +0,0 @@
#!/bin/sh
LE=../libevent-1.4.3-stable
if ! [ -e evbuffer.c ]; then
echo do not run this programm unless you know what you are doing
exit 1
fi
# this program combines libev and libevent into a single package
cvs update -AdP libev
rsync -avP libev/. . --exclude CVS
rm -f configure.ac
cp $LE/evdns.h .
perl -i -pe 's%^/.libevent-include./%#include "event_compat.h"%' event.h
perl -ne '
s/\s+char buf\[64\];/\tchar buf[96];/;
if (/#include "event.h"/) {
print "#ifndef EV_STANDALONE\n$_#endif\n";
next;
}
if (/#include "misc.h"/) {
print "#ifndef EV_STANDALONE\n$_#endif\n";
next;
}
if (/#include "(unistd.h|sys\/time.h)"/) {
print "#ifndef WIN32\n$_#endif\n";
next;
}
next if /#include "log.h"/;
print;
' <$LE/evdns.c >evdns.c
cp $LE/autogen.sh .
cp $LE/epoll_sub.c .
cp $LE/evbuffer.c .
cp $LE/buffer.c .
cp $LE/evhttp.h .
cp $LE/evutil.h .
cp $LE/evutil.c .
cp $LE/event-config.h .
cp $LE/event-internal.h .
cp $LE/evrpc.h .
cp $LE/evrpc.c .
cp $LE/evrpc-internal.h .
cp $LE/http.c .
cp $LE/event_tagging.c .
cp $LE/http-internal.h .
cp $LE/strlcpy-internal.h .
cp $LE/log.c .
cp $LE/log.h .
cp $LE/strlcpy.c .
rsync -a $LE/WIN32* $LE/sample $LE/test $LE/compat . --del
#rename 's/libevent/libev/' WIN32-Prj/lib*
cp $LE/aclocal.m4 .
#cp $LE/acconfig.h .
cp $LE/config.h.in .
cp $LE/event_rpcgen.py .
cp $LE/*.3 .
#perl -i -pe 's/libevent/libev/g' sample/Makefile.am
#perl -i -pe 's/libevent/libev/g' test/Makefile.am
perl -i -pe 's/#include <event.h>$/#include "event.h"/' test/*.c
perl -i -ne '
next if /"event-internal.h"/;
s/base\d?->sig.ev_signal_added/0/;
s/base\d?->sig.ev_signal_pair\[0\]/-1/;
s/base->sig.evsignal_caught/0/;
next if /^\ttest_signal_(dealloc|pipeloss|switchbase|assert|restore)\(\)/;
next if /^\ttest_simplesignal\(\)/; # non-default-loop
next if /^\ttest_immediatesignal\(\)/; # non-default-loop
next if /test_priorities\(\d\)/;
print;
' test/regress.c
perl -ne '
s/\bmin_heap.h\b//g;
s/\bsignal.c\b//g;
s/\bevport.c\b//g;
s/\bkqueue.c\b//g;
s/\bdevpoll.c\b//g;
s/\brtsig.c\b//g;
s/\bselect.c\b//g;
s/\bpoll.c\b//g;
s/\bepoll.c\b//g;
s/\bepoll_sub.c\b//g;
s/\bevent-internal.h\b//g;
s/\bevsignal.h\b//g;
s/^(man_MANS\s*=)/$1 ev.3 /;
s/^(EXTRA_DIST\s*=)/$1 libev.m4 ev.h ev_vars.h ev_wrap.h event_compat.h ev++.h ev_epoll.c ev_select.c ev_poll.c ev_kqueue.c ev_port.c ev_win32.c ev.3 ev.pod /;
s/^(include_HEADERS\s*=)/$1 ev.h event_compat.h ev++.h /;
s/^(CORE_SRC\s*=)/$1 ev.c /;
s/^(SYS_LIBS\s*=)/$1 -lm /;
#s/libevent/libev/g;
print;
' <$LE/Makefile.am >Makefile.am
perl -ne '
#s/-Wall/-Wall -Wno-comment -Wunused-function -Wno-unused-value/;
s/-Wall//g;
#s/libevent/libev/g;
#VERSION
s/AM_INIT_AUTOMAKE\s*\(.*,(.*)\)/AM_INIT_AUTOMAKE(libevent-$1+libev,3.1)/;
s/AC_LIBOBJ\(select\)/: ;/g;
s/AC_LIBOBJ\(poll\)/: ;/g;
s/AC_LIBOBJ\(kqueue\)/: ;/g;
s/AC_LIBOBJ\(epoll\)/: ;/g;
s/AC_LIBOBJ\(devpoll\)/: ;/g;
s/AC_LIBOBJ\(evport\)/: ;/g;
s/AC_LIBOBJ\(signal\)/: ;/g;
s/AC_LIBOBJ\(rtsig\)/: ;/g;
print "m4_include([libev.m4])\n" if /^AC_OUTPUT/;
print;
' <$LE/configure.in >configure.in
aclocal-1.7
automake-1.7 --add-missing
autoconf
autoheader
libtoolize
CC="ccache gcc" ./configure --prefix=/opt/libev --disable-shared "$@"

View File

@@ -1,19 +0,0 @@
#!/bin/sh
(
echo '#define VAR(name,decl) name'
echo '#define EV_GENWRAP 1'
cat ev_vars.h
) | cc -E -o - - | perl -ne '
while (<>) {
push @syms, $1 if /(^\w+)/;
}
print "/* DO NOT EDIT, automatically generated by update_ev_wrap */\n",
"#ifndef EV_WRAP_H\n",
"#define EV_WRAP_H\n",
(map "#define $_ ((loop)->$_)\n", @syms),
"#else\n",
"#undef EV_WRAP_H\n",
(map "#undef $_\n", @syms),
"#endif\n";
' >ev_wrap.h

View File

@@ -1,7 +0,0 @@
#!/bin/sh
make ev.o event.o || exit
nm ev.o | perl -ne 'print "$1\n" if /\S+ [A-Z] (\S+)/' > Symbols.ev
nm event.o | perl -ne 'print "$1\n" if /\S+ [A-Z] (\S+)/' > Symbols.event

91
deps/libev/wscript vendored
View File

@@ -1,91 +0,0 @@
import Options
import platform
PLATFORM_IS_DARWIN = platform.platform().find('Darwin') == 0
PLATFORM_IS_WIN32 = platform.platform().find('Win') >= 0
def set_options(opt):
pass
#opt.tool_options('compiler_cc')
def configure(conf):
print "--- libev ---"
#conf.check_tool('compiler_cc')
# Why to the two checks? One is to define HAVE_SYS_EPOLL_H
# the other is to define HAVE_EPOLL_CTL
# Yes, WAF is a piece of shit.
if conf.check_cc(header_name="sys/inotify.h"):
conf.check_cc(header_name="sys/inotify.h", function_name="inotify_init")
if conf.check_cc(header_name="sys/epoll.h"):
conf.check_cc(header_name="sys/epoll.h", function_name="epoll_ctl")
if conf.check_cc(header_name="port.h"):
conf.check_cc(header_name="port.h", function_name="port_create")
if conf.check_cc(header_name="poll.h"):
conf.check_cc(header_name="poll.h", function_name="poll")
conf.check_cc(header_name="sys/event.h")
conf.check_cc(header_name="sys/queue.h")
if PLATFORM_IS_DARWIN:
conf.check_cc(header_name="sys/event.h", function_name="kqueue")
else:
conf.check_cc(header_name="sys/queue.h", function_name="kqueue")
if PLATFORM_IS_WIN32:
# Windows has sys/select.h and select but this config line doesn't detect it properly
conf.define('HAVE_SYS_SELECT_H', 1);
conf.define('HAVE_SELECT', 1);
else:
if conf.check_cc(header_name="sys/select.h"):
conf.check_cc(header_name="sys/select.h", function_name="select")
if conf.check_cc(header_name="sys/eventfd.h"):
conf.check_cc(header_name="sys/eventfd.h", function_name="eventfd")
code = """
#include <syscall.h>
#include <time.h>
#include <stdio.h>
int main() {
struct timespec ts;
int status = syscall(SYS_clock_gettime, CLOCK_REALTIME, &ts);
return 0;
}
"""
conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL", execute=True,
msg="Checking for SYS_clock_gettime")
have_librt = conf.check(lib='rt', uselib_store='RT')
if have_librt:
conf.check_cc(lib="rt", header_name="time.h", function_name="clock_gettime")
if PLATFORM_IS_DARWIN:
conf.check_cc(header_name="time.h", function_name="nanosleep")
elif have_librt:
conf.check_cc(lib="rt", header_name="time.h", function_name="nanosleep")
conf.check_cc(lib="m", header_name="math.h", function_name="ceil")
conf.define("HAVE_CONFIG_H", 1)
# Not using these.
conf.env.append_value('CPPFLAGS', ['-DEV_FORK_ENABLE=0',
'-DEV_EMBED_ENABLE=0',
'-DEV_MULTIPLICITY=0'])
def build(bld):
libev = bld.new_task_gen("cc")
libev.source = 'ev.c'
libev.target = 'ev'
libev.name = 'ev'
libev.includes = '. ../..'
libev.uselib = "RT"
libev.install_path = None
if bld.env["USE_DEBUG"]:
libev.clone("debug");
bld.install_files('${PREFIX}/include/node/', 'ev.h');

48
deps/openssl/README.chromium vendored Normal file
View File

@@ -0,0 +1,48 @@
Name: openssl
URL: http://openssl.org/source/
Version: 0.9.8o
License: BSDish
License File: openssl/LICENSE
Description:
This is OpenSSL, the standard SSL/TLS library, which is used only for testing.
It's an unmodified, upstream source except for the patches listed below.
Patches are applied in this order:
missing_stddef.patch
Add stddef.h to header files which use size_t, otherwise apps that include
those headers get compiler errors.
handshake_cutthrough.patch
Enables SSL3+ clients to send application data immediately following the
Finished message even when negotiating full-handshakes. With this patch,
clients can negotiate SSL connections in 1-RTT even when performing
full-handshakes.
next_proto_neg.patch
Adds next-protocol-negotation support:
http://tools.ietf.org/html/draft-agl-tls-nextprotoneg-00
EXPERIMENTAL: this patches uses extension and handshake numbers that are not
assigned by IANA.
This patch implements server and client side support. Additionally, it includes
code that assumes the structure of the 'opaque' protocol strings in the draft.
snap_start.patch
Adds server-side support for Snap Start. This allows for 0-RTT handshakes in
the case that the application protocol involves the client side speaking first.
http://tools.ietf.org/html/draft-agl-tls-snapstart-00
EXPERIMENTAL: this patches uses an extension number that is not assigned by
IANA.

Some files were not shown because too many files have changed in this diff Show More