183 Commits

Author SHA1 Message Date
Nick Mathewson
6d291da240 Fix at least two bugs that are keeping the HTTP regression tests from running on windows. There are some more bugs somewhere, since the HTTP regression tests still fail on windows. But now they fail less.
svn:r619
2007-12-28 00:34:05 +00:00
Niels Provos
74b3db50ae always generate Date and Content-Length headers for HTTP/1.1
svn:r564
2007-11-29 06:08:24 +00:00
Nick Mathewson
ce4ee418d2 r16733@catbus: nickm | 2007-11-26 14:18:25 -0500
Add an --enable-gcc-warnings option (lifted from Tor) to the configure script.  When provided, and when we are using GCC, we enable a bunch of extra GCC warnings in the compiler.  Also, make the code all build happily with these warnings.


svn:r553
2007-11-26 19:18:49 +00:00
Nick Mathewson
1e1f77c5b0 Make the test/ subdirectory buildable under Windows. Well, mingw at least. The tests still don't all pass, but at least now we know that.
svn:r447
2007-09-20 19:08:20 +00:00
Niels Provos
e678f009a8 fix a couple memory leaks; time buffer marshaling
svn:r417
2007-09-09 01:46:35 +00:00
Niels Provos
98f9616bf4 support setting local address on an evhttp_connection
svn:r416
2007-09-07 02:49:46 +00:00
Niels Provos
67947ce381 provide evhttp_new and evhttp_bind_socket instead of evhttp_start;
using evhttp_new, it is possible to associate an event_base with
the http server so that multi-threaded applications can have their
own http server per thread; add appropriate testing.


svn:r397
2007-08-19 02:41:23 +00:00
Nick Mathewson
35983cd60f r14618@catbus: nickm | 2007-08-16 17:11:47 -0400
In ANSI C, int func() is a function with unspecified arguments, whereas int func(void) is a function that takes no arguments.  Using int func() to mean a function with no arguments is a C++ism, so let's not use or generate it.


svn:r395
2007-08-16 21:12:53 +00:00
Niels Provos
cd6dd9516d add a proper test for filtering new lines in headers
svn:r384
2007-08-06 21:00:49 +00:00
Niels Provos
073d359061 fix an embarassing bug where strchr was used with a cstring instead of a char
svn:r383
2007-08-06 20:53:33 +00:00
Niels Provos
8ea5ffefc3 request dispatching fix from Elliot Foster
svn:r382
2007-08-05 02:15:10 +00:00
Niels Provos
72c479e76a remove c99 variable declarations; from Jan Kneschke
svn:r374
2007-07-30 23:54:25 +00:00
Niels Provos
f0ff792afa fixes from Joerg Sonnenberger:
http.c is a violation of the ctype(3) interface and an unused function.

test/regress_http.c are incorrect format strings.

test/regress.c uses raise(3) from signal.h.

evdns.c: evdns_error_strings is unused. The GET* macros can eat the
semicolon from the expression. pos is passed in as off_t, so just pass
that down. When assigning negativ values to unsigned variables, an
explicit cast is considered good style.


svn:r367
2007-06-30 18:58:34 +00:00
Niels Provos
b5d2f9a255 rolling back r339: evconfig.h does not work
svn:r341
2007-03-01 06:25:18 +00:00
Niels Provos
127c260bb7 make evconfig.h available as installed header file; not
really ideal but good enough for me; from Nick Mathewson


svn:r339
2007-02-28 04:02:29 +00:00
Niels Provos
d5d04949e3 fix http server so it can accept on high ports;
better warning messages for getnameinfo;
from Philip Lewis


svn:r310
2007-01-18 06:28:42 +00:00
Niels Provos
0db257b828 rename strlcpy so that it does not conflict with other tests; from
Nick Mathewson.


svn:r306
2007-01-03 07:11:17 +00:00
Niels Provos
942656bb5c persistent connections are somewhat complicated; detect on the client side if the
server closes a persistent connection.  previously, we would have failed the next
request on that connection.  provide test case.


svn:r277
2006-11-23 06:32:20 +00:00
Niels Provos
31ba30abfe make regression test work for poll and select
svn:r265
2006-11-18 08:51:12 +00:00
Niels Provos
9d81ac48f8 test both piplining on persistent and non-persistent connections
svn:r262
2006-11-18 03:43:26 +00:00
Niels Provos
36212f9df0 make persistent connections work; needs more testing
svn:r261
2006-11-18 03:05:26 +00:00
Niels Provos
a67d9cb115 add "Connection: close" to the output headers of the HTTP server reply;
we don't currently support persistent connections; although that's going
to be easy to add.


svn:r259
2006-11-17 07:45:42 +00:00
Niels Provos
c4836d1053 make sure that the rpc callback receives an unmarshaled payload;
make sure that the rpc reply contains a good rpc structure, too.


svn:r258
2006-11-17 06:06:17 +00:00
Niels Provos
f554234f74 first stab at an rpc layer; this breaks the regression test.
svn:r254
2006-11-16 07:36:20 +00:00
Niels Provos
3eec7f7c64 make it 1.2; fix some size issues for printf in regression code
svn:r242
2006-10-15 21:55:13 +00:00
Niels Provos
296739e022 fix regression test
svn:r223
2006-08-13 00:03:35 +00:00
Niels Provos
ba7262ebdf reorganization of the http functionality; we separate http handling into a
connection object and a request object; also make it clear which buffers are
used for input and output; unittests not complete yet.


svn:r217
2006-07-17 00:33:57 +00:00
Niels Provos
6813af3f11 move http related prototypes to evhttp.h
svn:r214
2006-06-10 22:37:21 +00:00
Niels Provos
147b71e33c rename http.h to http-internal.h - i wish there were decent refactoring tools
for open source programmers.


svn:r213
2006-06-10 22:28:21 +00:00
Niels Provos
38b33048eb make a simple test for HTTP POST requests
svn:r205
2006-02-27 02:27:37 +00:00
Niels Provos
896bf3a260 many changes for fixing a small bug: post requests would not send the post
data.  I took the opportunity to reorganize a bit.


svn:r201
2006-02-13 02:22:48 +00:00
Niels Provos
c398d78811 disable bufferevent after we have received the data that we care for.
svn:r197
2006-02-02 22:36:37 +00:00
Niels Provos
a3bb4a035f I often need some very simple HTTP functionality, so this is a first stab
at integrating something really simple with HTTP.  The interface is still
evolving as I start messing with it.  Not all the interfaces are properly
exported yet.

I am also trying to figure out how to intelligently hide the details about
the different structures from users, so that that things can be changed
around later.


svn:r196
2006-01-22 05:08:50 +00:00