libevent, evacuated from NSA/Microsoft Github
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
@jeffcliff@shitposter.club 65ccb23a9f degithubbing 5 months ago
WIN32-Code test: fix 32bit linux regress 7 years ago
cmake Fix CheckFunctionExistsEx() cmake macro on win32 6 years ago
compat/sys Fix all identifiers with names beginning with underscore. 12 years ago
include Make rpc headers self-compilable 6 years ago
m4 autotools: confirm openssl is working before using 7 years ago
sample Fix build with LibreSSL 2.7 6 years ago
test Make rpc headers self-compilable 6 years ago
.clang-format Add config for clang-format 8 years ago
.gitignore Adopt ignore rules for cmake + ninja 6 years ago
.travis.yml travis-ci: allow tests under osx to fail (temporary, until we will fix them) 6 years ago
.uncrustify Add config for uncrustify 8 years ago
CMakeLists.txt Fix typo in cmake because of which EVENT__SIZEOF_SIZE_T was wrong 6 years ago
CONTRIBUTING.md Add CONTRIBUTING.md (with checkpatch.sh examples) 8 years ago
ChangeLog Update ChangeLog for 2.1.8-stable 7 years ago
ChangeLog-1.4 Try to finalize changelog situation for 2.1.1-alpha 12 years ago
ChangeLog-2.0 Update ChangeLog-2.0 11 years ago
Doxyfile Fix doxygen to use new macro conventions 12 years ago
LICENSE Implement fast/precise monotonic clocks on Windows 12 years ago
Makefile.am Give priority to the build directory headers 6 years ago
Makefile.nmake Revert "The Windows socket type is defined as SOCKET." 8 years ago
README.md degithubbing 5 months ago
Vagrantfile Vagrant test 7 years ago
appveyor.yml appveyor: remove -DEVENT__ENABLE_VERBOSE_DEBUG=ON build 7 years ago
arc4random.c Merge remote-tracking branch 'origin/patches-2.0' 11 years ago
autogen.sh autogen.sh: learn about gmake 7 years ago
buffer.c Fix assert() condition in evbuffer_drain() for IOCP 6 years ago
buffer_iocp.c Have all visible internal function names end with an underscore. 12 years ago
bufferevent-internal.h Fix evhttp_connection_get_addr() fox incomming http connections 6 years ago
bufferevent.c be: just a simple mistake, reinclude the <errno.h> 8 years ago
bufferevent_async.c bufferevent: refactor to use type check macros 7 years ago
bufferevent_filter.c don't fail be_null_filter if bytes are copied 6 years ago
bufferevent_openssl.c fix spelling mistakes 6 years ago
bufferevent_pair.c bufferevent: refactor to use type check macros 7 years ago
bufferevent_ratelim.c Pass and return const for bufferevent_get_token_bucket_cfg 11 years ago
bufferevent_sock.c Fix evhttp_connection_get_addr() fox incomming http connections 6 years ago
changelist-internal.h Implemented EV_CLOSED event for epoll backend (EPOLLRDHUP). 10 years ago
checkpatch.sh Add checkpatch script 8 years ago
configure.ac configure: avoid false positive in DragonFlyBSD 7 years ago
defer-internal.h Export symbols for -fvisibility=hidden (under cmake) 7 years ago
devpoll.c Have all visible internal function names end with an underscore. 12 years ago
epoll.c epoll: introduce PRINT_CHANGES() macro to avoid copy-pasting 8 years ago
epoll_sub.c Merge remote-tracking branch 'origin/patches-2.0' 10 years ago
epolltable-internal.h Split epoll lookup table into a separate header file 10 years ago
evbuffer-internal.h Fixed last_with_datap description 6 years ago
evconfig-private.h.cmake Generate a dummy evconfig-private.h so things build properly. 10 years ago
evconfig-private.h.in Clean up lingering _identifiers. 12 years ago
evdns.3 improved nroff mdoc for the man page 18 years ago
evdns.c Fix -Werror=implicit-fallthrough (fixes gcc-7) 7 years ago
event-config.h.cmake Fix arc4random_addrandom() detecting and fallback (regression) 7 years ago
event-internal.h fix evutil_make_internal_pipe_'s comment that fd[0] for read and f[1] for write 7 years ago
event.3 Don't use BSD u_* types. 9 years ago
event.c Notify event base if there are no more events, so it can exit without delay 6 years ago
event_iocp.c Merge remote-tracking branch 'origin/patches-2.0' 10 years ago
event_rpcgen.py Port `event_rpcgen.py` and `test/check-dumpevents.py` to Python 3. 7 years ago
event_tagging.c Export symbols for -fvisibility=hidden (under cmake) 7 years ago
evmap-internal.h Have all visible internal function names end with an underscore. 12 years ago
evmap.c Implemented EV_CLOSED event for epoll backend (EPOLLRDHUP). 10 years ago
evport.c Have all visible internal function names end with an underscore. 12 years ago
evrpc-internal.h Add an include to evrpc-internal to fix openbsd compilation warning 10 years ago
evrpc.c Fix even more coverity warnings. 10 years ago
evsignal-internal.h Add a new libevent_global_shutdown() to free all globals before exiting. 12 years ago
evthread-internal.h cmake: Export missing symbols for win32 7 years ago
evthread.c Export symbols for -fvisibility=hidden (under cmake) 7 years ago
evthread_pthread.c Clean up lingering _identifiers. 12 years ago
evthread_win32.c Merge remote-tracking branch 'origin/patches-2.0' 11 years ago
evutil.c fix evutil_make_internal_pipe_'s comment that fd[0] for read and f[1] for write 7 years ago
evutil_rand.c Detect arch4random_addrandom() existence 7 years ago
evutil_time.c Avoid possible SEGVs in select() (in unit tests) 6 years ago
ht-internal.h ht-internal: don't reset hth_table_length explicitly in name_##HT_CLEAR 9 years ago
http-internal.h http: add callback to allow server to decline (and thereby close) incoming connections. 6 years ago
http.c Fix evhttp_connection_get_addr() fox incomming http connections 6 years ago
iocp-internal.h cmake: Export missing symbols for win32 7 years ago
ipv6-internal.h Convert include-guard macro convention to avoid reserved identifiers 12 years ago
kqueue-internal.h Replace pipe-based notification with EVFILT_USER where possible 12 years ago
kqueue.c Check for Mac OS X 10.4 kqueue bug properly 8 years ago
libevent.pc.in Change use of AC_CHECK_LIB to AC_SEARCH_LIBS. 15 years ago
libevent_core.pc.in libevent_core and libevent_extra also deserve a pkgconfig file 8 years ago
libevent_extra.pc.in libevent_core and libevent_extra also deserve a pkgconfig file 8 years ago
libevent_openssl.pc.in Use correct openssl libs and includes in pkgconfig file 11 years ago
libevent_pthreads.pc.in Add pkgconfig files for libevent_{openssl,pthreads} 14 years ago
listener.c Immediately stop trying to accept more connections if listener disabled 6 years ago
log-internal.h Fix event_debug_logging_mask_ exporting on win32 7 years ago
log.c Revert "Make event_debug_get_logging_mask_() real symbol (win32)" 7 years ago
make-event-config.sed config.h can't be prefixed unconditionally 6 years ago
make_epoll_table.py Implemented EV_CLOSED event for epoll backend (EPOLLRDHUP). 10 years ago
minheap-internal.h Remove an unreachable return statement in minheap-internal.h 11 years ago
mm-internal.h Export symbols for -fvisibility=hidden (under cmake) 7 years ago
openssl-compat.h Fix build with LibreSSL 2.7 6 years ago
poll.c poll: Prevent libevent from spinning if POLLNVAL occurs 7 years ago
ratelim-internal.h Have all visible internal function names end with an underscore. 12 years ago
select.c Tweak the new evutil_weakrand_() code 12 years ago
signal.c Merge remote-tracking branch 'github/20_win64_compilation' into 21_win64_compilation 11 years ago
strlcpy-internal.h Export symbols for -fvisibility=hidden (under cmake) 7 years ago
strlcpy.c Fix all identifiers with names beginning with underscore. 12 years ago
time-internal.h Export symbols for -fvisibility=hidden (under cmake) 7 years ago
util-internal.h cmake: Export missing symbols for win32 7 years ago
whatsnew-2.0.txt "buffer" spelling 11 years ago
whatsnew-2.1.txt Bump whatsnew-2.1 document 7 years ago
whatsnew-2.2.txt Provide Makefile variables LIBEVENT_{CFLAGS,CPPFLAGS,LDFLAGS} 6 years ago
win32select.c Don't use BSD u_* types. 9 years ago

README.md

Evacuated Libevent

Chat used to be available at https://gitter.im/libevent/libevent We don't know if they still are there.

This project used to be at github, and before that presumably at sourceforge there's still an older version in sourceforge apparently at git://levent.git.sourceforge.net/gitroot/levent/libevent

but, of course, in 2018 NSA/Microsoft bought github, making the github-version stuck and inaccessible behind microsoft's walled-garden

So here we are. Send us your pull requests (ie instead of github!)

0. BUILDING AND INSTALLATION (Briefly)

Autoconf

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

Cmake (General)

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

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

# 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=OFF

# 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

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

CMake (Windows)

We do not support windows. Any windows-specific code, if found, will be removed with prejudice.

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.

GUI

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

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 https://github.com/libevent/libevent.git

To report bugs, issues, or ask for new features:

Patches: https://git.freecumextremist.com/themusicgod1/libevent/pulls

OK, those are not really patches You fork, modify, and hit the "Create Pull Request" button. You can still submit normal git patchs via the mailing list.

Bugs, Features [RFC], and Issus: https://git.freecumextremist.com/themusicgod1/libevent/issues

There used to be a mailing list, apparently: for talking about Libevent use and development:

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

If you decide to use it, mention you're using this version and/or tell them to quit using NSA/Microsoft Github.

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
  • 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
  • Andrey Skriabin
  • basavesh.as
  • billsegall
  • Bill Vaughan
  • Christopher Wiley
  • David Paschich
  • Ed Schouten
  • Eduardo Panisset
  • Jan Heylen
  • jer-gentoo
  • Joakim Söderberg
  • kirillDanshin
  • lzmths
  • Marcus Sundberg
  • Mark Mentovai
  • Mattes D
  • Matyas Dolak
  • Neeraj Badlani
  • Nick Mathewson
  • Rainer Keller
  • Seungmo Koo
  • Thomas Bernard
  • Xiao Bao Clark
  • zeliard
  • Zonr Chang
  • Kurt Roeckx
  • Seven
  • Simone Basso
  • Vlad Shcherban
  • Tim Hentenaar
  • Breaker
  • johnsonlee
  • Philip Prindeville
  • Vis Virial

If we have forgotten your name, please contact us at @jeffcliff@shitposter.club