Menu

Tree [d56efd] master /
 History

HTTPS access


File Date Author Commit
 WIN32-Code 2015-01-05 Nick Mathewson Nick Mathewson [683f55] Increment version to 2.1.5-beta
 cmake 2015-12-21 Mark Ellzey Mark Ellzey [49a538] More cmake updates, lot's of missing definitions
 compat 2012-02-29 Nick Mathewson Nick Mathewson [cb9da0] Fix all identifiers with names beginning with u...
 include 2015-12-20 Mark Ellzey Mark Ellzey [a264da] Revert "The Windows socket type is defined as S...
 m4 2011-08-27 Harlan Stenn Harlan Stenn [674dc3] Provide the autoconf m4 macros for the new Open...
 sample 2015-11-23 Azat Khuzhin Azat Khuzhin [fdf713] sample/https-client: allow to change path to ca...
 test 2015-12-20 Mark Ellzey Mark Ellzey [a264da] Revert "The Windows socket type is defined as S...
 .gitignore 2015-08-18 Azat Khuzhin Azat Khuzhin [1d3449] sample: add HTTP CONNECT tunnelling example usi...
 .travis.yml 2015-09-30 Azat Khuzhin Azat Khuzhin [3e56da] travis: add builds without debug mode into matrix
 CMakeLists.txt 2015-12-22 Mark Ellzey Mark Ellzey [d56efd] Fixed issue with cmake version generation
 ChangeLog 2015-01-05 Nick Mathewson Nick Mathewson [0b49ae] Update changelog
 ChangeLog-1.4 2012-04-03 Nick Mathewson Nick Mathewson [2dedff] Try to finalize changelog situation for 2.1.1-a...
 ChangeLog-2.0 2012-11-18 Nick Mathewson Nick Mathewson [5af4ca] Update ChangeLog-2.0
 Doxyfile 2012-02-29 Nick Mathewson Nick Mathewson [da455e] Fix doxygen to use new macro conventions
 LICENSE 2012-04-23 Nick Mathewson Nick Mathewson [2c4704] Implement fast/precise monotonic clocks on Windows
 Makefile.am 2015-01-05 Nick Mathewson Nick Mathewson [683f55] Increment version to 2.1.5-beta
 Makefile.nmake 2015-12-20 Mark Ellzey Mark Ellzey [a264da] Revert "The Windows socket type is defined as S...
 README.md 2015-12-19 Mark Ellzey Mark Ellzey [8b228e] Lot's of cmake updates
 appveyor.yml 2015-05-12 Mark Ellzey Mark Ellzey [1cc2e2] Use autotools for appveyor until cmake is fixed.
 arc4random.c 2013-08-19 Nick Mathewson Nick Mathewson [f5ced8] Really remove RNG seeds from the stack
 autogen.sh 2010-09-03 Nick Mathewson Nick Mathewson [7ea8e8] Prefer autoreconf -ivf to manual autogen.sh
 buffer.c 2015-08-25 Ed Schouten Ed Schouten [fd3664] Don't use BSD u_* types.
 buffer_iocp.c 2012-02-29 Nick Mathewson Nick Mathewson [8ac3c4] Have all visible internal function names end wi...
 bufferevent-internal.h 2015-11-05 Azat Khuzhin Azat Khuzhin [3c1f58] be: introduce bufferevent_generic_adj_existing_...
 bufferevent.c 2015-11-05 Azat Khuzhin Azat Khuzhin [3c1f58] be: introduce bufferevent_generic_adj_existing_...
 bufferevent_async.c 2014-11-21 Azat Khuzhin Azat Khuzhin [f133b8] be async: avoid double close()
 bufferevent_filter.c 2015-05-05 Mark Ellzey Mark Ellzey [c2aa7d] Call underlying bev ctrl SET_FD on filtered buf...
 bufferevent_openssl.c 2015-11-13 Azat Khuzhin Azat Khuzhin [da5293] be_openssl: don't call do_write() directly from...
 bufferevent_pair.c 2015-07-24 Bill Vaughan Bill Vaughan [f45d39] Fix lock leak in be_pair_flush() if flush type ...
 bufferevent_ratelim.c 2013-07-11 Mark Ellzey Mark Ellzey [1c77fb] Pass and return const for bufferevent_get_token...
 bufferevent_sock.c 2015-11-23 Azat Khuzhin Azat Khuzhin [809bb3] be_sock: bufferevent_socket_connect_hostname():...
 changelist-internal.h 2014-01-18 Diego Giagio Diego Giagio [b1b69a] Implemented EV_CLOSED event for epoll backend (...
 configure.ac 2015-11-25 Azat Khuzhin Azat Khuzhin [959a4c] autotools: fix getservbyname() detection
 defer-internal.h 2015-03-25 Greg Hazel Greg Hazel [38cef6] fix the return value of event_deferred_cb_sched...
 devpoll.c 2012-02-29 Nick Mathewson Nick Mathewson [8ac3c4] Have all visible internal function names end wi...
 epoll.c 2015-11-08 Azat Khuzhin Azat Khuzhin [a1b142] epoll: introduce PRINT_CHANGES() macro to avoid...
 epoll_sub.c 2014-01-22 Marcin Juszkiewicz Marcin Juszkiewicz [dfe1e5] Check does arch have the epoll_create and __NR_...
 epolltable-internal.h 2014-01-21 Nick Mathewson Nick Mathewson [43ffcf] Split epoll lookup table into a separate header...
 evbuffer-internal.h 2015-01-05 Nick Mathewson Nick Mathewson [841ecb] Fix CVE-2014-6272 in Libevent 2.1
 evconfig-private.h.cmake 2013-12-13 Joakim Soderberg Joakim Soderberg [ce14de] Generate a dummy evconfig-private.h so things b...
 evconfig-private.h.in 2012-02-29 Nick Mathewson Nick Mathewson [946b58] Clean up lingering _identifiers.
 evdns.3 2006-10-15 Niels Provos Niels Provos [ea52d9] improved nroff mdoc for the man page
 evdns.c 2015-11-23 Azat Khuzhin Azat Khuzhin [00313c] evdns: evdns_base_free(): fix UAF of evdns_base...
 event-config.h.cmake 2015-12-21 Mark Ellzey Mark Ellzey [49a538] More cmake updates, lot's of missing definitions
 event-internal.h 2015-08-13 Sebastian Hahn Sebastian Hahn [bfcede] Add a prototype for event_disable_debug_mode()
 event.3 2015-08-25 Ed Schouten Ed Schouten [fd3664] Don't use BSD u_* types.
 event.c 2015-10-30 Azat Khuzhin Azat Khuzhin [7c8d01] Free event queues even for recursive finalizers
 event_iocp.c 2013-11-01 Nick Mathewson Nick Mathewson [3b77d6] Avoid redundant invocations of init_extension_f...
 event_rpcgen.py 2012-10-23 Ross Lagerwall Ross Lagerwall [0eb010] Use python2 rather than python
 event_tagging.c 2015-08-26 Ed Schouten Ed Schouten [c1404b] Include <sys/ioctl.h>, <sys/resource.h> and <sy...
 evmap-internal.h 2012-02-29 Nick Mathewson Nick Mathewson [8ac3c4] Have all visible internal function names end wi...
 evmap.c 2014-01-18 Diego Giagio Diego Giagio [b1b69a] Implemented EV_CLOSED event for epoll backend (...
 evport.c 2012-02-29 Nick Mathewson Nick Mathewson [8ac3c4] Have all visible internal function names end wi...
 evrpc-internal.h 2014-03-12 Nick Mathewson Nick Mathewson [5e161c] Add an include to evrpc-internal to fix openbsd...
 evrpc.c 2014-01-08 Nick Mathewson Nick Mathewson [d24032] Fix even more coverity warnings.
 evsignal-internal.h 2011-07-12 Mark Ellzey Mark Ellzey [041ca0] Add a new libevent_global_shutdown() to free al...
 evthread-internal.h 2015-02-16 Thomas Bernard Thomas Bernard [746d2c] Fix "function declaration isn’t a prototype"
 evthread.c 2015-10-04 Azat Khuzhin Azat Khuzhin [e4556f] evthread: fix evthread_setup_global_lock_() for...
 evthread_pthread.c 2012-02-29 Nick Mathewson Nick Mathewson [946b58] Clean up lingering _identifiers.
 evthread_win32.c 2012-12-04 Nick Mathewson Nick Mathewson [7e4573] Fix compilation with WIN32_HAVE_CONDITION_VARIA...
 evutil.c 2015-12-14 lzmths lzmths [4b41ee] Refactoring conditional directives that break p...
 evutil_rand.c 2013-09-19 Nick Mathewson Nick Mathewson [e64a2b] Fix another arc4random_buf-related warning
 evutil_time.c 2014-11-19 Andrea Shepard Andrea Shepard [f2645f] Implement new/free for struct evutil_monotonic_...
 ht-internal.h 2015-01-08 Azat Khuzhin Azat Khuzhin [597c7b] ht-internal: don't reset hth_table_length expli...
 http-internal.h 2015-08-25 Ed Schouten Ed Schouten [fd3664] Don't use BSD u_* types.
 http.c 2015-11-19 Azat Khuzhin Azat Khuzhin [ab3bc6] http: avoid epoll_ctl() on already closed fd (t...
 iocp-internal.h 2012-02-29 Nick Mathewson Nick Mathewson [8ac3c4] Have all visible internal function names end wi...
 ipv6-internal.h 2012-02-29 Nick Mathewson Nick Mathewson [3f8c7c] Convert include-guard macro convention to avoid...
 kqueue-internal.h 2010-09-17 Nick Mathewson Nick Mathewson [53a07f] Replace pipe-based notification with EVFILT_USE...
 kqueue.c 2015-08-25 Ed Schouten Ed Schouten [5602e4] Assume that ke_udata is an integer type on Clou...
 libevent.pc.in 2009-07-10 Nick Mathewson Nick Mathewson [d3a8cc] Change use of AC_CHECK_LIB to AC_SEARCH_LIBS.
 libevent_openssl.pc.in 2012-11-16 Nick Mathewson Nick Mathewson [d70af2] Use correct openssl libs and includes in pkgcon...
 libevent_pthreads.pc.in 2010-08-10 Nick Mathewson Nick Mathewson [ebcb1f] Add pkgconfig files for libevent_{openssl,pthre...
 listener.c 2015-04-28 Mark Ellzey Mark Ellzey [a695a7] Fix potential fd leak in listener_read_cb()
 log-internal.h 2013-05-29 Nick Mathewson Nick Mathewson [e1766a] Actually use the log facility for reporting evd...
 log.c 2013-05-29 Nick Mathewson Nick Mathewson [e1766a] Actually use the log facility for reporting evd...
 make-event-config.sed 2012-04-27 Zack Weinberg Zack Weinberg [5859c2] Generate event-config.h with a single sed script
 make_epoll_table.py 2014-01-18 Diego Giagio Diego Giagio [b1b69a] Implemented EV_CLOSED event for epoll backend (...
 minheap-internal.h 2013-08-01 Nick Mathewson Nick Mathewson [e639a9] Remove an unreachable return statement in minhe...
 mm-internal.h 2012-02-29 Nick Mathewson Nick Mathewson [3f8c7c] Convert include-guard macro convention to avoid...
 poll.c 2012-04-20 Nick Mathewson Nick Mathewson [71bca5] Split out time-related prototypes into time-int...
 ratelim-internal.h 2012-02-29 Nick Mathewson Nick Mathewson [8ac3c4] Have all visible internal function names end wi...
 select.c 2012-04-09 Nick Mathewson Nick Mathewson [3aa441] Tweak the new evutil_weakrand_() code
 signal.c 2012-11-02 Nick Mathewson Nick Mathewson [62bd2c] Fix compilation on mingw64 with -DUSE_DEBUG
 strlcpy-internal.h 2012-02-29 Nick Mathewson Nick Mathewson [cb9da0] Fix all identifiers with names beginning with u...
 strlcpy.c 2012-02-29 Nick Mathewson Nick Mathewson [cb9da0] Fix all identifiers with names beginning with u...
 time-internal.h 2014-11-19 Andrea Shepard Andrea Shepard [f2645f] Implement new/free for struct evutil_monotonic_...
 util-internal.h 2014-12-02 Azat Khuzhin Azat Khuzhin [a8d32c] util: make @sa const for evutil_socket_connect_()
 whatsnew-2.0.txt 2013-01-31 Patrick Pelletier Patrick Pelletier [a45281] "buffer" spelling
 whatsnew-2.1.txt 2014-03-17 Nick Mathewson Nick Mathewson [3b1b33] Add new APIs to whatsnew-2.1
 win32select.c 2015-08-25 Ed Schouten Ed Schouten [fd3664] Don't use BSD u_* types.

Read Me

libevent logo

Appveyor Win32 Build Status
Travis Build Status

0. BUILDING AND INSTALLATION (Briefly)

Autoconf

 $ ./configure
 $ make
 $ make verify   # (optional)
 $ sudo make install

Cmake (General)

The following Libevent specific Cmake variables ar as follows (the values being
the default).

# Installation directory for executables
EVENT_INSTALL_BIN_DIR:PATH=bin

# Installation directory for CMake files
EVENT_INSTALL_CMAKE_DIR:PATH=lib/cmake/libevent

## Installation directory for header files
EVENT_INSTALL_INCLUDE_DIR:PATH=include

## Installation directory for libraries
EVENT_INSTALL_LIB_DIR:PATH=lib

## Define if libevent should be built with shared libraries instead of archives
EVENT__BUILD_SHARED_LIBRARIES:BOOL=OFF

# Enable running gcov to get a test coverage report (only works with
# GCC/CLang). Make sure to enable -DCMAKE_BUILD_TYPE=Debug as well.
EVENT__COVERAGE:BOOL=OFF

# Defines if libevent should build without the benchmark exectuables
EVENT__DISABLE_BENCHMARK:BOOL=OFF

# Define if libevent should build without support for a debug mode
EVENT__DISABLE_DEBUG_MODE:BOOL=OFF

# Define if libevent should not allow replacing the mm functions
EVENT__DISABLE_MM_REPLACEMENT:BOOL=OFF

# Define if libevent should build without support for OpenSSL encrpytion
EVENT__DISABLE_OPENSSL:BOOL=ON

# Disable the regress tests
EVENT__DISABLE_REGRESS:BOOL=OFF

# Disable sample files
EVENT__DISABLE_SAMPLES:BOOL=OFF

# If tests should be compiled or not
EVENT__DISABLE_TESTS:BOOL=OFF

# Define if libevent should not be compiled with thread support
EVENT__DISABLE_THREAD_SUPPORT:BOOL=OFF

# Enables verbose debugging
EVENT__ENABLE_VERBOSE_DEBUG:BOOL=OFF

# When crosscompiling forces running a test program that verifies that Kqueue
# works with pipes. Note that this requires you to manually run the test program
# on the the cross compilation target to verify that it works. See cmake
# documentation for try_run for more details
EVENT__FORCE_KQUEUE_CHECK:BOOL=OFF

# set EVENT_STAGE_VERSION
EVENT__STAGE_VERSION:STRING=beta

More variables can be found by running cmake -LAH <sourcedir_path>

CMake (Windows)

Install CMake: http://www.cmake.org

 $ md build && cd build
 $ cmake -G "Visual Studio 10" ..   # Or whatever generator you want to use cmake --help for a list.
 $ start libevent.sln

CMake (Unix)

 $ mkdir build && cd build
 $ cmake ..     # Default to Unix Makefiles.
 $ make
 $ make verify  # (optional)

1. BUILDING AND INSTALLATION (In Depth)

Autoconf

To build libevent, type

 $ ./configure && make

(If you got libevent from the git repository, you will
first need to run the included "autogen.sh" script in order to
generate the configure script.)

You can run the regression tests by running

 $ make verify

Install as root via

 $ make install

Before reporting any problems, please run the regression tests.

To enable the low-level tracing build the library as:

 $ CFLAGS=-DUSE_DEBUG ./configure [...]

Standard configure flags should work. In particular, see:

--disable-shared Only build static libraries
--prefix Install all files relative to this directory.

The configure script also supports the following flags:

--enable-gcc-warnings Enable extra compiler checking with GCC.
--disable-malloc-replacement
Don't let applications replace our memory
management functions
--disable-openssl Disable support for OpenSSL encryption.
--disable-thread-support Don't support multithreaded environments.

CMake (Windows)

(Note that autoconf is currently the most mature and supported build
enviroment for libevent; the cmake instructions here are new and
experimental, though they should be solid. We hope that cmake will
still be supported in future versions of Libevent, and will try to
make sure that happens.)

First of all install http://www.cmake.org.

To build libevent using Microsoft Visual studio open the "Visual Studio Command prompt" and type:

$ cd <libevent source dir>
$ mkdir build && cd build
$ cmake -G "Visual Studio 10" ..   # Or whatever generator you want to use cmake --help for a list.
$ start libevent.sln

In the above, the ".." refers to the dir containing the Libevent source code.
You can build multiple versions (with different compile time settings) from the same source tree
by creating other build directories.

It is highly recommended to build "out of source" when using
CMake instead of "in source" like the normal behaviour of autoconf for this reason.

The "NMake Makefiles" CMake generator can be used to build entirely via the command line.

To get a list of settings available for the project you can type:

$ cmake -LH ..

GUI

CMake also provides a GUI that lets you specify the source directory and output (binary) directory
that the build should be placed in.

OpenSSL support

To build Libevent with OpenSSL support you will need to have OpenSSL binaries available when building,
these can be found here: http://www.openssl.org/related/binaries.html

2. USEFUL LINKS:

For the latest released version of Libevent, see the official website at
http://libevent.org/ .

There's a pretty good work-in-progress manual up at
http://www.wangafu.net/~nickm/libevent-book/ .

For the latest development versions of Libevent, access our Git repository
via

$ git clone git://levent.git.sourceforge.net/gitroot/levent/libevent

You can browse the git repository online at:

http://levent.git.sourceforge.net/git/gitweb-index.cgi

https://github.com/libevent/Libevent

To report bugs, request features, or submit patches to Libevent,
use the Sourceforge trackers at

https://sourceforge.net/tracker/?group_id=50884

There's also a libevent-users mailing list for talking about Libevent
use and development:

http://archives.seul.org/libevent/users/

3. ACKNOWLEDGMENTS

The following people have helped with suggestions, ideas, code or
fixing bugs:

  • Samy Al Bahra
  • Antony Antony
  • Jacob Appelbaum
  • Arno Bakker
  • Weston Andros Adamson
  • William Ahern
  • Ivan Andropov
  • Sergey Avseyev
  • Avi Bab
  • Joachim Bauch
  • Andrey Belobrov
  • Gilad Benjamini
  • Stas Bekman
  • Denis Bilenko
  • Julien Blache
  • Kevin Bowling
  • Tomash Brechko
  • Kelly Brock
  • Ralph Castain
  • Adrian Chadd
  • Lawnstein Chan
  • Shuo Chen
  • Ka-Hing Cheung
  • Andrew Cox
  • Paul Croome
  • George Danchev
  • Andrew Danforth
  • Ed Day
  • Christopher Davis
  • Mike Davis
  • Frank Denis
  • Antony Dovgal
  • Mihai Draghicioiu
  • Alexander Drozdov
  • Mark Ellzey
  • Shie Erlich
  • Leonid Evdokimov
  • Juan Pablo Fernandez
  • Christophe Fillot
  • Mike Frysinger
  • Remi Gacogne
  • Artem Germanov
  • Alexander von Gernler
  • Diego Giagio
  • Artur Grabowski
  • Diwaker Gupta
  • Kuldeep Gupta
  • Sebastian Hahn
  • Dave Hart
  • Greg Hazel
  • Nicholas Heath
  • Michael Herf
  • Sebastian Hahn
  • Savg He
  • Mark Heily
  • Maxime Henrion
  • Michael Herf
  • Greg Hewgill
  • Andrew Hochhaus
  • Aaron Hopkins
  • Tani Hosokawa
  • Jamie Iles
  • Xiuqiang Jiang
  • Claudio Jeker
  • Evan Jones
  • Marcin Juszkiewicz
  • George Kadianakis
  • Makoto Kato
  • Phua Keat
  • Azat Khuzhin
  • Alexander Klauer
  • Kevin Ko
  • Brian Koehmstedt
  • Marko Kreen
  • Ondřej Kuzník
  • Valery Kyholodov
  • Ross Lagerwall
  • Scott Lamb
  • Christopher Layne
  • Adam Langley
  • Graham Leggett
  • Volker Lendecke
  • Philip Lewis
  • Zhou Li
  • David Libenzi
  • Yan Lin
  • Moshe Litvin
  • Simon Liu
  • Mitchell Livingston
  • Hagne Mahre
  • Lubomir Marinov
  • Abilio Marques
  • Nicolas Martyanoff
  • Abel Mathew
  • Nick Mathewson
  • James Mansion
  • Nicholas Marriott
  • Andrey Matveev
  • Caitlin Mercer
  • Dagobert Michelsen
  • Andrea Montefusco
  • Mansour Moufid
  • Mina Naguib
  • Felix Nawothnig
  • Trond Norbye
  • Linus Nordberg
  • Richard Nyberg
  • Jon Oberheide
  • John Ohl
  • Phil Oleson
  • Alexey Ozeritsky
  • Dave Pacheco
  • Derrick Pallas
  • Tassilo von Parseval
  • Catalin Patulea
  • Patrick Pelletier
  • Simon Perreault
  • Dan Petro
  • Pierre Phaneuf
  • Amarin Phaosawasdi
  • Ryan Phillips
  • Dimitre Piskyulev
  • Pavel Plesov
  • Jon Poland
  • Roman Puls
  • Nate R
  • Robert Ransom
  • Balint Reczey
  • Bert JW Regeer
  • Nate Rosenblum
  • Peter Rosin
  • Maseeb Abdul Qadir
  • Wang Qin
  • Alex S
  • Gyepi Sam
  • Hanna Schroeter
  • Ralf Schmitt
  • Mike Smellie
  • Steve Snyder
  • Nir Soffer
  • Dug Song
  • Dongsheng Song
  • Hannes Sowa
  • Joakim Soderberg
  • Joseph Spadavecchia
  • Kevin Springborn
  • Harlan Stenn
  • Andrew Sweeney
  • Ferenc Szalai
  • Brodie Thiesfield
  • Jason Toffaletti
  • Brian Utterback
  • Gisle Vanem
  • Bas Verhoeven
  • Constantine Verutin
  • Colin Watt
  • Zack Weinberg
  • Jardel Weyrich
  • Jay R. Wren
  • Zack Weinberg
  • Mobai Zhang
  • Alejo
  • Alex
  • Taral
  • propanbutan
  • masksqwe
  • mmadia
  • yangacer

If we have forgotten your name, please contact us.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.