275 Commits

Author SHA1 Message Date
Niels Provos
a57767faf8 more accessors for evhttp_request
svn:r807
2008-05-11 16:22:35 +00:00
Niels Provos
687be1241b dispatch the callbacks against the decoded uri to be more http compliant
svn:r806
2008-05-10 07:32:05 +00:00
Niels Provos
7bbe185b0e evhttp_request_uri -> evhttp_request_get_uri
svn:r805
2008-05-10 06:32:53 +00:00
Niels Provos
950af18679 replace fnmatch with homegrown function
svn:r804
2008-05-10 05:58:17 +00:00
Nick Mathewson
8acb80b4f9 r15551@tombo: nickm | 2008-05-08 14:49:20 -0400
Use _get_ convention for new accessor functions.  (These are all new ones as of 2.0, I believe).


svn:r799
2008-05-08 22:51:39 +00:00
Nick Mathewson
7defe4cbc1 r15549@tombo: nickm | 2008-05-08 11:53:11 -0400
Make new http headers include minimal parts of event2/ tree; make old evhttp.h incldue event.h, since the old one did too.


svn:r798
2008-05-08 15:55:09 +00:00
Niels Provos
de1c43926b migrate evhttp to event2; accessors are still missing
svn:r790
2008-05-08 06:15:04 +00:00
Nick Mathewson
891dba4376 r19597@catbus: nickm | 2008-05-05 11:00:29 -0400
define _GNU_SOURCE before including fnmatch.h so that FNM_CASEFOLD gets defined and linux build gets fixed.  This whole fnmatch() business will be a bit hard to port, though: windows doesn't have one IIUC, so we'll have to reimplement our own to work there.


svn:r772
2008-05-05 15:00:53 +00:00
Niels Provos
f2a81fbc67 add support for virtual http hosts; no tests yet
svn:r771
2008-05-05 07:17:05 +00:00
Niels Provos
f940eb4b8d fix a bug where it was not possible to bind multiple sockets to the same http
server; test that binding multiple sockets works.


svn:r769
2008-05-04 22:21:29 +00:00
Nick Mathewson
5fbc7f0aee r15439@tombo: nickm | 2008-05-02 12:28:08 -0400
use event_assign internall; switch uses of event_set to use event_assign instead.


svn:r755
2008-05-02 16:28:25 +00:00
Nick Mathewson
98dc98c59f r15346@tombo: nickm | 2008-04-29 17:19:18 -0400
Remove the never-exported, never-used, never-threadsafe evhttp_hostportfile()


svn:r746
2008-04-29 21:19:26 +00:00
Nick Mathewson
4cff82bb4f r15339@tombo: nickm | 2008-04-29 14:03:48 -0400
Note that evhttp_hostportfile is not threadsafe, and so its usage will change.  Mark its first argument const. Remove a now-redundant declaration for it in http-internal.h.


svn:r743
2008-04-29 18:11:10 +00:00
Niels Provos
e44ef375ee convert evhttp_connection to use bufferevents
svn:r742
2008-04-29 04:52:50 +00:00
Niels Provos
72a3902e5c test some primitives from http.c
svn:r739
2008-04-29 00:24:00 +00:00
Nick Mathewson
49868b618a r15316@tombo: nickm | 2008-04-24 20:58:36 -0400
Rename internal memory management functions from event_malloc() etc to mm_malloc() etc.


svn:r725
2008-04-25 01:18:08 +00:00
Nick Mathewson
a55a67d56e r15249@tombo: nickm | 2008-04-18 09:46:02 -0400
Avoid leaking a string in the unlikely OOM case from name_from_addr. spotted by niels.


svn:r724
2008-04-18 13:46:13 +00:00
Nick Mathewson
8863ff7625 r15224@tombo: nickm | 2008-04-17 15:19:24 -0400
Oops. We need to make sure that strdup wasn't oom.


svn:r718
2008-04-17 19:19:36 +00:00
Nick Mathewson
ae09ac4ae0 r15220@tombo: nickm | 2008-04-17 15:16:02 -0400
Use new includes in more files still


svn:r717
2008-04-17 19:18:40 +00:00
Nick Mathewson
fc41ffde4d r15214@tombo: nickm | 2008-04-17 11:47:10 -0400
Make name_from_addr() threadsafe in http.c


svn:r713
2008-04-17 15:50:28 +00:00
Niels Provos
558de9b377 Provide OpenSSL style support for multiple threads accessing the same event_base
svn:r684
2008-03-02 21:18:33 +00:00
Nick Mathewson
593b5f99b3 r18492@catbus: nickm | 2008-02-29 17:32:55 -0500
Add another missing _REENTRANT.


svn:r681
2008-02-29 22:33:01 +00:00
Niels Provos
5c70ea4c9d improved code for evbuffer; avoids memcpy
svn:r674
2008-02-28 02:47:43 +00:00
Nick Mathewson
e7ad549390 r14507@tombo: nickm | 2008-02-26 15:23:44 -0500
Patch from Tani Hosokawa: make some functions in http.c threadsafe.  Also, note some functions in http.c that still are not threadsafe.


svn:r671
2008-02-26 20:24:29 +00:00
Niels Provos
7470ce52c5 increase listen queue for http sockets to 128
svn:r669
2008-02-26 03:49:00 +00:00
Niels Provos
960be58869 deal correctly with http/1.0 and keep-alive
svn:r667
2008-02-26 03:29:36 +00:00
Niels Provos
0b114da2b6 introduce evhttp_accept_socket() to accept from an already created socket
svn:r666
2008-02-26 03:12:07 +00:00
Niels Provos
b14cd655d1 add support (without tests!) to PUT/DELETE requests; from Josh Rotenberg
svn:r662
2008-02-25 07:49:22 +00:00
Nick Mathewson
d47907a730 r14213@tombo: nickm | 2008-02-16 15:48:07 -0500
Patch from Scott Lamb: make http content length into a 64-bit value.


svn:r641
2008-02-16 20:50:02 +00:00
Nick Mathewson
677a95864b r14205@tombo: nickm | 2008-02-16 11:55:57 -0500
Fix bug 1894184: add a CRLF after each chunk when sending chunked HTTP data.  Original patch from propanbutan.


svn:r637
2008-02-16 16:56:34 +00:00
Niels Provos
2fde221759 address some compiler warnings in debug mode
svn:r630
2008-02-09 16:03:01 +00:00
Niels Provos
955c6abf53 pausing an rpc via a hook needs to deal with the fact that http callbacks free the request after they return; provide a way for a callback to take ownership of the request structure; the user then needs to explicitly free it.
svn:r620
2007-12-28 00:36:47 +00:00
Niels Provos
fdafb66bb5 removed linger from http server socket; reported by Ilya Martynov
svn:r604
2007-12-19 06:33:05 +00:00
Nick Mathewson
77861fa7f1 r16931@catbus: nickm | 2007-12-06 14:19:58 -0500
Fix warnings in debug messages


svn:r577
2007-12-06 19:20:24 +00:00
Nick Mathewson
3206bbca46 r15171@tombo: nickm | 2007-12-06 12:47:47 -0500
Use GCC attributes (where available) to verify printf type-correctness.  Fix some bugs this turned up.


svn:r573
2007-12-06 18:12:56 +00:00
Nick Mathewson
5482192bb3 r15166@tombo: nickm | 2007-12-05 23:35:10 -0500
Apply patch from bug 1841036: set the base of the correct event in evhttp_connection_start_detectclose()


svn:r571
2007-12-06 04:36:18 +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
a7a7a19045 r16735@catbus: nickm | 2007-11-26 14:24:58 -0500
Fix test for EVBUFFER_LENGTH in evhttp_make_header().  Since appending an empty buffer to another is a no-op, this is not really a bug-fix.


svn:r554
2007-11-26 19:25:09 +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
1120f04f3e r16731@catbus: nickm | 2007-11-25 16:52:53 -0500
Replace all fds on non-unix-specific APIs with evutil_socket_t, which is int on unix and intptr_t on win32.


svn:r552
2007-11-25 21:53:06 +00:00
Nick Mathewson
6773a59721 r14953@tombo: nickm | 2007-11-25 15:56:40 -0500
Replace evbuffer_readline with a more powerful evbuffer_readln that can handle more EOL styles, and that can give useful results when there are NUL characters inside the returned values. Includes regression tests.


svn:r550
2007-11-25 21:32:26 +00:00
Nick Mathewson
7eb250e9c5 r14939@tombo: nickm | 2007-11-25 11:59:26 -0500
New function event_set_mem_functions to replace internal calls to malloc, free, etc with a user-supplied functions.


svn:r541
2007-11-25 17:14:19 +00:00
Nick Mathewson
4e1ec3e05e Make all the C files in the libraries compile under MSVC 2005 Express. There are still a few warnings, and probably some subtle issues, but it's better than nothing.
svn:r499
2007-11-07 21:01:26 +00:00
Nick Mathewson
e72661d2ff r16509@catbus: nickm | 2007-11-07 02:08:32 -0500
Stop using C++ style comments.


svn:r497
2007-11-07 07:33:31 +00:00
Nick Mathewson
1f50f41283 r16508@catbus: nickm | 2007-11-07 02:01:03 -0500
Note a dubious point in http.c


svn:r496
2007-11-07 07:33:26 +00:00
Nick Mathewson
7feba57010 r16507@catbus: nickm | 2007-11-07 01:34:55 -0500
Never assign a string constant to a non-const char *.


svn:r495
2007-11-07 07:33:21 +00:00
Nick Mathewson
a3f122d667 r16506@catbus: nickm | 2007-11-07 01:29:59 -0500
Make all rpc and http functions not prototyped in evrpc.h and evhttp.h into static functions.  I believe that these functions were meant to be private, yes?


svn:r494
2007-11-07 07:33:16 +00:00
Nick Mathewson
f74e7258fd r16501@catbus: nickm | 2007-11-07 01:00:31 -0500
This is one of those patches which will either make matters far
 simpler after the bugs shake out, or will get reverted pretty quick
 once we realize that it is a stupid idea.
 
 We now post-process the config.h file into a new event-config.h file,
 whose macros are prefixed with _EVENT_ and which is thus safe for
 headers to include.  Using this, we can define replacement timeval
 manipulation functions in evutil.h, and use them uniformly through our
 code.  We can also detect which headers are needful in event.h, and
 include them as required.
 
 This is also the perfect time to remove the long-deprecated acconfig.h
 file, so that autoheader no longer warns.
 
 Should resolve the following issues:
 
 [ 1826530 ] Header files should have access to autoconf output.
 [ 1826545 ] acconfig.h is deprecated.
 [ 1826564 ] On some platforms, event.h can't be included alone.
 


svn:r492
2007-11-07 06:01:57 +00:00
Niels Provos
2026b21598 remove last vestiges of RBTREE
svn:r470
2007-11-03 23:53:49 +00:00
Nick Mathewson
49ede3be00 r15517@catbus: nickm | 2007-10-03 13:14:05 -0400
Correct the pointer manipulation in fake_getaddrinfo(), and do the right thing for fake_getaddrinfo(NULL,&ai).  Based on a patch by Lubmir Marinov, hacked until the unit tests passed on Linux with #undef HAVE_GETADDRINFO.


svn:r459
2007-10-03 17:19:22 +00:00