188 Commits

Author SHA1 Message Date
Nick Mathewson
6ce14fd01c Rename compat/sys/_time.h to compat/sys/_libevent_time.h
On some systems (notably HPUX), there is already a
/usr/include/sys/_time.h, which our sys/_time.h shadows.  Found and
diagnosed by Kathryn Hogg.

This is a quick fix for 1.4 only; for 2.0, I want to eliminate
compat/sys/_time.h entirely, and have util-internal subsume it.



svn:r1493
2009-11-03 19:15:27 +00:00
Nick Mathewson
756c4cd394 Declare struct timezone in evutil.h so that borken mingw versions do not complain
svn:r1442
2009-10-12 21:09:14 +00:00
Niels Provos
c5a0f56c9a from trunk: Do not drop data from evbuffer when out of memory; reported by Jacek Masiulaniec
svn:r1437
2009-09-24 22:21:09 +00:00
Nick Mathewson
03a9da175a Fix compilation on Android: define fd_mask when it's missing.
svn:r1434
2009-09-23 23:50:43 +00:00
Nick Mathewson
072ae5887e Remove unused event_gotsig code from 1.4 to appease some automated code checkers
svn:r1433
2009-09-23 22:19:00 +00:00
Nick Mathewson
1bf18e5a06 Backport epoll memory fix for bug 2839240
svn:r1430
2009-09-11 18:55:12 +00:00
Nick Mathewson
81765181c6 Backport: do not believe negative result from FIONREAD.
svn:r1429
2009-09-11 18:55:06 +00:00
Niels Provos
8c6282ec39 call it 1.4.12-stable
svn:r1376
2009-07-25 02:21:05 +00:00
Nick Mathewson
9e652610da A more hackish (but more backported) fix for the intptr vs uintptr fix from trunk.
svn:r1374
release-1.4.12-stable
2009-07-23 00:24:28 +00:00
Nick Mathewson
8155ed0cba #ifdef out some callbacks in regress.c that windows doesn't use.
svn:r1371
2009-07-21 19:01:07 +00:00
Nick Mathewson
4c36411174 Fix compilation of 1.4 branch on win32
svn:r1370
2009-07-21 18:57:38 +00:00
Nick Mathewson
267472dcd3 Do a quick-and-dirty hack to fix a gcc warning on 1.4 with a 64-bit arch
svn:r1368
2009-07-21 17:57:31 +00:00
Nick Mathewson
9af9aba62f Add -fno-strict-aliasing to let 1.4 build happily on GCC 4.4
svn:r1367
2009-07-21 17:57:25 +00:00
Nick Mathewson
f5408f1d4d Checking for MS_WINDOWS rather than WIN32 is a Tor-ism. Fix that! {Backport}
svn:r1359
2009-07-17 20:27:54 +00:00
Nick Mathewson
0ae1851767 Backport: Update event_tv when time jumps backwards, so that we only note each jump once. Not strictly needed in 1.4, but good for correctness.
svn:r1354
2009-07-17 19:00:22 +00:00
Nick Mathewson
2bdf307794 [Backport] Do not define _FORTIFY_SOURCE if the platform GCC already defined it for us.
svn:r1345
2009-07-14 19:31:11 +00:00
Nick Mathewson
a763e7416c The truncated bit is in the 3rd byte of a dns reply, not the 4th.
svn:r1331
2009-06-30 14:20:44 +00:00
Nick Mathewson
763391947c Let evdns keep working when our IP changes. Fix by Christopher Davis; backported by nickm.
svn:r1328
2009-06-24 22:39:12 +00:00
Nick Mathewson
b99254ac22 Activate fd events in a pseudorandom order on older backends.
New backends like poll and kqueue and so on add fds to the queue in
the order that they are triggered.  But the select backend currently
activates low-numbered fds first, whereas the poll and win32 backends
currently favor whatever fds have been on for the longest.  This is no
good for fairness.

svn:r1327
2009-06-24 22:39:03 +00:00
Nick Mathewson
b0d88e680b Fix epoll fencepost error. Patch most recently from Adam Langley, though I think I have seen others post this before.
svn:r1323
2009-06-04 05:29:04 +00:00
Nick Mathewson
0ec290be04 When __GNUC__ is not defined, use __VA_ARGS__.
svn:r1312
2009-05-25 18:15:44 +00:00
Nick Mathewson
9d0f6eb4e2 Fix a potentially very annoying evdns bug that we found in Tor.
Generally speaking, it way better to event_assign() an event when you
allocate it than to assign it before every time you event_add it: if
it is already event_add()ed, the assign will mess it up so that it
doesn't _look_ added, and event_add() will insert a second copy.
Later, event_del() will only delete the second copy.  Eventually, the
event_base will have a dangling pointer to freed memory.  Ouch!

svn:r1308
2009-05-22 18:32:09 +00:00
Nick Mathewson
6bd85f9d71 Fix compilation warning on win32 with verbose GCC warnings.
svn:r1305
2009-05-22 16:51:10 +00:00
Nick Mathewson
499d0039ad Try to contain the failure when we are running without socketpair().
Some win32 systems (mostly those using Kaspersky, it would seem)
prevent us from faking socketpair().  This makes our signal
notification code just not work.  Our response since 1.4 has been to
assert.  For users who would rather work without signals than not work
at all, this has been a regression from 1.3e.

This patch makes adding signal events fail in this case; there's no
reason to kill the whole process.

svn:r1304
2009-05-22 15:09:43 +00:00
Niels Provos
0f62db5ee3 call it 1.4.11-stable
svn:r1290
2009-05-15 06:22:54 +00:00
Nick Mathewson
9b45a4e7c0 We were distributing the wrong event-config.h with our source distributions. Fix that.
svn:r1288
release-1.4.11-stable
2009-05-15 01:36:31 +00:00
Nick Mathewson
5d639d6c20 Fix win32 compilation warnings in 1.4.
svn:r1287
2009-05-15 01:14:08 +00:00
Nick Mathewson
5e0563ba9a Fix dangling pointer in epoll after epoll_recalc().
This is based on patch 2790759 from Kevin Springborn.  His comments on
sourceforge:

  Problem:
  The failure case is as follows: Event is added using epoll_add (a
  direct pointer is stored in the user_data section), epoll_recalc is
  called and the fds array is moved (invalidating the user_data
  pointer stored in epoll).  epoll_dispatch is called for the added
  event and accesses evepoll based on the invalid pointer (set before
  the fds array was relocated).

  Solution:
  Dispatch has access to the epollop structure, so given the fd we can
  find the corresponding evepoll struct. Use data.fd instead of
  data.ptr and store the fd corresponding to the event. This way when
  epoll_recalc moves the fds array (and updates the fds array pointer
  in epollop), the evepoll calculation in dispatch still finds the
  valid evepoll struct.

svn:r1282
2009-05-12 18:27:45 +00:00
Nick Mathewson
a276fa5155 Fix warnings in compilation of regress.c.
svn:r1281
2009-05-12 18:27:34 +00:00
Niels Provos
23967f73a2 Remove the limit on size of HTTP headers by removing static buffers
svn:r1240
2009-04-24 16:08:30 +00:00
Nick Mathewson
749f4ce319 [backport] Fix min_heap_erase when we remove an element from the middle of the heap.
Previously, we could lose the heap property when we removed an item
whose parent was greater than the last element in the heap.  We would
replace the removed item with the last element, and consider shifting
it down, but we wouldn't consider shifting it up.

Patch from Marko Kreen.

svn:r1227
2009-04-23 00:02:19 +00:00
Niels Provos
4d4a7d55ad call it 1.4.10
svn:r1178
2009-04-17 00:37:21 +00:00
Niels Provos
1a51887386 from trunk: improve evhttp_parse_query documentation
svn:r1161
release-1.4.10-stable
2009-04-12 23:00:52 +00:00
Niels Provos
c1bd938562 Fix parsing of queries where the encoded queries contained \r, \n or +
svn:r1155
2009-04-11 04:12:46 +00:00
Niels Provos
64b3a571ec correct evbuffer_drain documentation from John Khvatov
svn:r1128
2009-03-30 17:36:59 +00:00
Niels Provos
59513ee206 from trunk: include Doxyfile in tar ball; from Jeff Garzik
svn:r1126
2009-03-12 17:45:13 +00:00
Niels Provos
f06b29b9e2 off-by-one error in epoll_recalc; reported by Victor Goya
svn:r1124
2009-03-12 17:03:21 +00:00
Nick Mathewson
4cf8138b8f Make evdns_resolve_reverse args const.
svn:r1094
2009-02-02 19:20:49 +00:00
Niels Provos
62d605467f we dont use an m4 directory for 1.4 - remove it
svn:r1045
2009-01-23 17:21:17 +00:00
Niels Provos
092baefa4e from trunk: fix signal processing for non-kqueue backends; when a signal callback delivers a signal; from Alexander Drozdov
svn:r1036
2009-01-22 06:26:32 +00:00
Niels Provos
636e74a7b9 from trunk: rename sys/signal.h to signal.h; configure m4 macro dir; this assist with compilation on Haiku
svn:r1034
2009-01-22 02:49:57 +00:00
Niels Provos
7682ff80ba from trunk: rename the backend from "event ports" to "evport" - this will allow environment based disabling to work
svn:r1029
2009-01-19 23:54:27 +00:00
Niels Provos
3b33618f74 forgot ChangeLog entry
svn:r1028
2009-01-19 23:53:45 +00:00
Niels Provos
0ede290b3a from trunk: bug fix and potentital race condition from Alexander Drozdov
svn:r1026
2009-01-19 23:42:19 +00:00
Niels Provos
64fc3c7c30 clean up buffered data on reset; reported by Brian O'Kelley
svn:r1016
2009-01-16 00:29:27 +00:00
Niels Provos
12d911b5ad from trunk: rename time-test in comment to signal-test
svn:r1014
2009-01-15 06:16:07 +00:00
Niels Provos
6ae6c9ebaa call it 1.4.9-stable
svn:r970
2008-12-22 07:36:38 +00:00
Niels Provos
cad8703a2a Fix a memory leak by not running explicit close detection for server connections.
svn:r967
release-1.4.9-stable
2008-12-19 22:29:41 +00:00
Niels Provos
f383ee29d9 revert: Fix a memory leak with http connections owned by the server.
svn:r966
2008-12-19 21:53:23 +00:00
Niels Provos
3e55a52926 Fix a memory leak with http connections owned by the server.
svn:r965
2008-12-19 21:41:03 +00:00