74 Commits

Author SHA1 Message Date
Niels Provos
a0cae310d0 make it so that evbuffer_add_file where we read the complete contents of the file can fail without side effects
svn:r1069
2009-01-29 03:22:47 +00:00
Niels Provos
66b2a7ffb7 test evbuffer_add_reference
svn:r1068
2009-01-29 03:20:40 +00:00
Nick Mathewson
b85b710cf5 Update copyright statements to reflect the facts that:
a) this is 2009
b) niels and nick have been comaintainers for a while
c) saying "all rights reserved" when you then go on to explicitly
   disclaim some rights is sheer cargo-cultism.

svn:r1065
2009-01-27 22:34:36 +00:00
Nick Mathewson
8889a77039 Replace all use of config.h with event-config.h.
svn:r1064
2009-01-27 22:30:46 +00:00
Nick Mathewson
9993137cbb Remove all trailing whitespace in all the source files.
svn:r1063
2009-01-27 21:10:31 +00:00
Nick Mathewson
88f2b7a00f Fix some warnings on linux gcc with --enable-gcc-warnings
svn:r1060
2009-01-27 13:37:09 +00:00
Niels Provos
1757cf717f use %zu for off_t
svn:r1059
2009-01-27 06:21:12 +00:00
Niels Provos
8b5bd77415 make it compile on linux
svn:r1058
2009-01-27 06:18:45 +00:00
Niels Provos
fdf694933c sendfile/mmap and memory reference implementation for evbuffers
svn:r1057
2009-01-27 06:05:38 +00:00
Niels Provos
b93e505452 second argument to evbuffer_pullup should be ssize_t
svn:r1056
2009-01-27 05:33:39 +00:00
Nick Mathewson
81dd04a726 Add a "flags" field to evbuffer callbacks.
For now, there is just one: enabled.  This lets us avoid lots of
mallocs/frees/tailq-manipulations just to turn a callback on and off.
The revised bufferevent code wants this.

svn:r1047
2009-01-23 18:04:34 +00:00
Nick Mathewson
de7f7a84a3 Remove in_callbacks check: allow full recursion in evbuffer callbacks. If you get yourself in an infinite loop, that's not our fault. Note this in the docs. Also reindent some docs now that my tabs match Niels's.
svn:r1046
2009-01-23 18:03:45 +00:00
Nick Mathewson
ec2f4cbc09 Move obsolete evbuffer function into include/event2/buffer_compat.h
svn:r1043
2009-01-23 01:35:57 +00:00
Nick Mathewson
c735f2b45a Code to allow multiple callbacks per evbuffer.
svn:r1042
2009-01-23 01:11:13 +00:00
Nick Mathewson
f6eb1f816c Change evbuffer_read implementation to split data across chunks, and use readv when available. This should make us use less space.
svn:r1024
2009-01-19 21:53:03 +00:00
Nick Mathewson
840318196b Make some evbuffer functions const
svn:r1010
2009-01-14 22:17:31 +00:00
Nick Mathewson
3552ac1eb3 Do not allow chain length to expand indefinitely.
svn:r1007
2009-01-14 19:39:17 +00:00
Nick Mathewson
6d3ed0657d Simplify evbuffer_write logic: combine nearly all of WSASend and writev cases.
svn:r1004
2009-01-14 14:58:48 +00:00
Nick Mathewson
bab8f2e182 Fix compilation on win32 WSASend evbuffer_write() code.
Still not enabled until I make sure that the unit tests test this.  They _do_ pass.

svn:r1003
2009-01-13 22:02:32 +00:00
Nick Mathewson
169321c9e6 Rename four internal headers to follow the -internal.h convention.
svn:r1000
2009-01-13 20:26:37 +00:00
Nick Mathewson
822ca048ad Untested (and compiled-out) evbuffer_write backend to use WSASend on win32 where we use writev on unix.
svn:r998
2009-01-13 19:34:50 +00:00
Nick Mathewson
99db0e7f72 Add a new evbuffer_write_atmost() functino to write no more than a given number of bytes to an fd.
svn:r993
2009-01-12 20:42:19 +00:00
Niels Provos
e711ce454a reintroduce a memmove when there is enough misalignment to hold the new data; otherwise the size of the buffer may grow without bounds
svn:r857
2008-06-21 06:10:10 +00:00
Niels Provos
9586a1cbb0 fix an evbuffer corruption when adding an empty evbuffer; from Scott Lamb
svn:r845
2008-06-01 16:21:24 +00:00
Nick Mathewson
c6da86ffcb r19709@catbus: nickm | 2008-05-12 12:42:48 -0400
Possible fix for [1960723] snprintf and vsnprintf return values are wrong on win32


svn:r813
2008-05-12 16:44:24 +00:00
Nick Mathewson
6bf1ca780c r19675@catbus: nickm | 2008-05-11 20:39:39 -0400
Stop pretending that u_char and u_short are standard types that win32 is dumb not to have.  In fact, u_char can really just be spelled out, and u_short was usually just a bad way of saying ev_uint16_t.


svn:r808
2008-05-12 00:40:04 +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
Niels Provos
f04497e493 introduce evbuffer_reserve_space() and evbuffer_commit_space() to make processing in filters more efficient
svn:r757
2008-05-03 03:05:28 +00:00
Niels Provos
becc89b778 introduce evbuffer_contiguous_space() and use it in the zlib filter test
svn:r756
2008-05-03 02:37:18 +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
0ac73078ed r15193@tombo: nickm | 2008-04-16 16:00:35 -0400
Split event.h into several new headers in include/event2.  event.h is now just a wrapper that includes all the subheaders.


svn:r711
2008-04-16 20:01:51 +00:00
Niels Provos
193c06a7ed fix a bug in which evbuffer_add_vfprintf would loop forever; avoid
fragmentation in evbuffer_expand by increasing the size of the last buffer
in the chain; as a result with have to keep track of the previous_to_last
chain;   provide a evbuffer_validate() function in the regression test to
make sure that all evbuffer are internally consistent.


svn:r699
2008-03-31 02:04:34 +00:00
Niels Provos
00382110b2 address nick's comments and make evbuffer_pullup more efficient
svn:r680
2008-02-29 05:23:49 +00:00
Nick Mathewson
0322ce0a3b r18486@catbus: nickm | 2008-02-28 13:35:53 -0500
Make offsetof into evutil_offsetof.  Be a little more willing to call evbuffer_chain_align() from evbuffer_expand().  Clarify some docs, and add some XXX comments to note questionable areas.


svn:r677
2008-02-28 18:36:03 +00:00
Nick Mathewson
d71da6f737 r18484@catbus: nickm | 2008-02-28 12:47:20 -0500
Use event_warn() function, not fprintf-to-stderr.


svn:r676
2008-02-28 17:47:30 +00:00
Nick Mathewson
0e7cbe6508 r18482@catbus: nickm | 2008-02-28 12:38:40 -0500
Fix GCC 4.2 warnings; fix includes in subdirs.


svn:r675
2008-02-28 17:38:52 +00:00
Niels Provos
5c70ea4c9d improved code for evbuffer; avoids memcpy
svn:r674
2008-02-28 02:47:43 +00:00
Niels Provos
67bf29ad72 simplify evbuffer by removing orig_buffer
svn:r654
2008-02-23 06:02:04 +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
db43c1e111 On win32, sockets apparently can't be used with ReadFile and WriteFile: You need send() and recv() instead. Also, you need to use ioctlsocket() with sockets, not ioctl. [Fixes evbuffer regression tests.]
svn:r448
2007-09-20 19:36:03 +00:00
Niels Provos
41c69fc335 fix typo in comments
svn:r399
2007-08-19 17:26:02 +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
0c2808246a support removing of http callbacks and removing of registered RPCs
svn:r355
2007-05-23 05:20:59 +00:00
Niels Provos
4408a5f8fc fix evbuffer_find off by one; found by Ken Cox; regression test by him
and fix by me


svn:r353
2007-04-19 03:13:12 +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