|
Revision tags: release-2.2.1-alpha, release-2.1.12-stable, release-2.1.11-stable |
|
| #
598f247d |
| 31-Jul-2019 |
Azat Khuzhin <[email protected]> |
buffer: fix possible NULL dereference in evbuffer_setcb() on ENOMEM
[ @azat:
- add return heredoc for evbuffer_setcb() - add unit test with event_set_mem_functions() - look through the report
buffer: fix possible NULL dereference in evbuffer_setcb() on ENOMEM
[ @azat:
- add return heredoc for evbuffer_setcb() - add unit test with event_set_mem_functions() - look through the report from abi-compliance-checker/abi-dumper ]
Closes: #855 (cherry picked from commit bdcade47224f154052c927aed3c363a18b37112e)
show more ...
|
|
Revision tags: release-2.1.10-stable, release-2.1.9-beta, release-2.0.23-beta, release-2.1.8-stable, release-2.1.7-rc, release-2.1.6-beta |
|
| #
575ff678 |
| 29-Oct-2015 |
Azat Khuzhin <[email protected]> |
buffer_compat: fix comment -- we have EVBUFFER_EOL_ANY not EOL_STYLE_ANY
|
|
Revision tags: release-2.0.22-stable, release-1.4.15-stable, release-2.1.5-beta, release-2.1.4-alpha |
|
| #
4545fa9b |
| 19-Feb-2014 |
Trond Norbye <[email protected]> |
Add option to build shared library
|
|
Revision tags: release-2.1.3-alpha, release-2.1.2-alpha, release-2.0.21-stable, release-2.0.20-stable, release-2.0.19-stable, release-2.1.1-alpha, release-2.0.18-stable |
|
| #
3f8c7cd0 |
| 29-Feb-2012 |
Nick Mathewson <[email protected]> |
Convert include-guard macro convention to avoid reserved identifiers
Previously we used include-guards with names like _EVENT2_EVENT_H_. But C reserves macros beginning with an underscore for use by
Convert include-guard macro convention to avoid reserved identifiers
Previously we used include-guards with names like _EVENT2_EVENT_H_. But C reserves macros beginning with an underscore for use by the system. This patch converts all include guards for files like include/event2/<fname.h> to be of form EVENT2_<FNAME_H>_INCLUDED_, and all Libevent 1.x headers in include/<fname.h> to be of the form EVENT1_<FNAME_H>_INCLUDED_, and all internal libevent headers with names like <fname.h> to the form <FNAME_H>_INCLUDED_.
FNAME_H is here derived from fname.h by replacing every non-macro-usable character in fname.h with an underscore, and putting every remaining character in uppercase.
This is an automatic conversion. The script that produced was made by running the following script over all header files:
===== #!/usr/bin/perl -w
# Run this on every .h file except config.h, sys/queue.h, WIN32/event2/event-config.h
use strict;
my %macros = (); my %skipped = (); FILE: for my $fn (@ARGV) { my $f = $fn; if ($fn !~ /^\.\//) { $f = "./$fn"; } if ($f eq './config.h' or $f =~ m#/tree.h$# or $f =~ m#/queue.h# or $f =~ m#/event-config.h# or $f =~ m#/evconfig-private.h#) { $skipped{$fn} = 1; next FILE; } $skipped{$fn} = 0; open(F, $fn); while (<F>) { if (/^#ifndef ([A-Za-z0-9_]+)/) { $macros{$fn} = $1; next FILE; } } }
print "#!/usr/bin/perl -w -i -p\n\n"; for my $fn (@ARGV) { if (! exists $macros{$fn}) { print "# No macro known for $fn!\n" if (!$skipped{$fn}); } else { if ($macros{$fn} !~ /_H_?$/) { print "# Weird macro for $fn...\n"; } my $goodmacro = uc $fn; $goodmacro =~ s#^\./##; $goodmacro =~ s#INCLUDE/EVENT2#EVENT2#; $goodmacro =~ s#INCLUDE/#EVENT1_#; $goodmacro =~ s#TEST/##;
$goodmacro =~ s#[\/\-\.]#_#g;
print "s/(?<![A-Za-z0-9_])$macros{$fn}(?![A-Za-z0-9_])/${goodmacro}_INCLUDED_/g;\n" } } === And then running the script below that it generated over all === the .h files again #!/usr/bin/perl -w -i -p
s/(?<![A-Za-z0-9_])_BUFFEREVENT_INTERNAL_H_(?![A-Za-z0-9_])/BUFFEREVENT_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_CHANGELIST_H_(?![A-Za-z0-9_])/CHANGELIST_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_DEFER_INTERNAL_H_(?![A-Za-z0-9_])/DEFER_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVBUFFER_INTERNAL_H_(?![A-Za-z0-9_])/EVBUFFER_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT_INTERNAL_H_(?![A-Za-z0-9_])/EVENT_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVMAP_H_(?![A-Za-z0-9_])/EVMAP_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVRPC_INTERNAL_H_(?![A-Za-z0-9_])/EVRPC_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVSIGNAL_H_(?![A-Za-z0-9_])/EVSIGNAL_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVTHREAD_INTERNAL_H_(?![A-Za-z0-9_])/EVTHREAD_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT_HT_H(?![A-Za-z0-9_])/HT_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_HTTP_INTERNAL_H_(?![A-Za-z0-9_])/HTTP_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVDNS_H_(?![A-Za-z0-9_])/EVENT1_EVDNS_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT_H_(?![A-Za-z0-9_])/EVENT1_EVENT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_BUFFER_H_(?![A-Za-z0-9_])/EVENT2_BUFFER_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_BUFFER_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_BUFFER_COMPAT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_BUFFEREVENT_H_(?![A-Za-z0-9_])/EVENT2_BUFFEREVENT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_BUFFEREVENT_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_BUFFEREVENT_COMPAT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_BUFFEREVENT_SSL_H_(?![A-Za-z0-9_])/EVENT2_BUFFEREVENT_SSL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_BUFFEREVENT_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_BUFFEREVENT_STRUCT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_DNS_H_(?![A-Za-z0-9_])/EVENT2_DNS_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_DNS_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_DNS_COMPAT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_DNS_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_DNS_STRUCT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_EVENT_H_(?![A-Za-z0-9_])/EVENT2_EVENT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_EVENT_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_EVENT_COMPAT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_EVENT_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_EVENT_STRUCT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_HTTP_H_(?![A-Za-z0-9_])/EVENT2_HTTP_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_HTTP_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_HTTP_COMPAT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_HTTP_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_HTTP_STRUCT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_EVENT_KEYVALQ_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_KEYVALQ_STRUCT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_LISTENER_H_(?![A-Za-z0-9_])/EVENT2_LISTENER_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_RPC_H_(?![A-Za-z0-9_])/EVENT2_RPC_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_RPC_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_RPC_COMPAT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_RPC_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_RPC_STRUCT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_TAG_H_(?![A-Za-z0-9_])/EVENT2_TAG_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_TAG_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_TAG_COMPAT_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_THREAD_H_(?![A-Za-z0-9_])/EVENT2_THREAD_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT2_UTIL_H_(?![A-Za-z0-9_])/EVENT2_UTIL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVHTTP_H_(?![A-Za-z0-9_])/EVENT1_EVHTTP_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVRPC_H_(?![A-Za-z0-9_])/EVENT1_EVRPC_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVUTIL_H_(?![A-Za-z0-9_])/EVENT1_EVUTIL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT_IOCP_INTERNAL_H(?![A-Za-z0-9_])/IOCP_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT_IPV6_INTERNAL_H(?![A-Za-z0-9_])/IPV6_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_LOG_H_(?![A-Za-z0-9_])/LOG_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_MIN_HEAP_H_(?![A-Za-z0-9_])/MINHEAP_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT_MM_INTERNAL_H(?![A-Za-z0-9_])/MM_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_RATELIM_INTERNAL_H_(?![A-Za-z0-9_])/RATELIM_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_STRLCPY_INTERNAL_H_(?![A-Za-z0-9_])/STRLCPY_INTERNAL_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_REGRESS_H_(?![A-Za-z0-9_])/REGRESS_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_TESTUTILS_H(?![A-Za-z0-9_])/REGRESS_TESTUTILS_H_INCLUDED_/g; # Weird macro for test/tinytest.h... s/(?<![A-Za-z0-9_])TINYTEST_H_INCLUDED_(?![A-Za-z0-9_])/TINYTEST_H_INCLUDED_/g; # No macro known for test/tinytest_local.h! # Weird macro for test/tinytest_macros.h... s/(?<![A-Za-z0-9_])TINYTEST_MACROS_H_INCLUDED_(?![A-Za-z0-9_])/TINYTEST_MACROS_H_INCLUDED_/g; s/(?<![A-Za-z0-9_])_EVENT_UTIL_INTERNAL_H(?![A-Za-z0-9_])/UTIL_INTERNAL_H_INCLUDED_/g;
show more ...
|
|
Revision tags: release-2.0.17-stable |
|
| #
e49e2891 |
| 10-Feb-2012 |
Nick Mathewson <[email protected]> |
Update copyright notices to 2012
|
|
Revision tags: release-2.0.16-stable |
|
| #
3c824bd3 |
| 24-Oct-2011 |
Nick Mathewson <[email protected]> |
Update copyright dates to 2011.
|
|
Revision tags: release-2.0.15-stable, release-2.0.14-stable, release-2.0.13-stable |
|
| #
2888facc |
| 05-Jul-2011 |
Nick Mathewson <[email protected]> |
Revise the event/evbuffer/bufferevent doxygen for clarity and accuracy
|
|
Revision tags: release-2.0.12-stable, release-2.0.11-stable, release-2.0.10-stable, release-2.0.9-rc, release-2.0.8-rc, release-2.0.7-rc, release-2.0.6-rc, release-1.4.14b-stable, release-1.4.14-stable, release-2.0.5-beta |
|
| #
17efc1cd |
| 04-Mar-2010 |
Nick Mathewson <[email protected]> |
Update all our copyright notices to say "2010"
|
|
Revision tags: release-2.0.4-alpha |
|
| #
e5bbd40a |
| 18-Feb-2010 |
Nick Mathewson <[email protected]> |
Clean up formatting: use tabs, not 8-spaces, to indent.
|
| #
07e9e9b4 |
| 20-Nov-2009 |
Nick Mathewson <[email protected]> |
Parenthesize macro arguments more aggressively
|
|
Revision tags: release-2.0.3-alpha, release-1.4.13-stable, release-2.0.2-alpha@1379, release-1.4.12-stable |
|
| #
0b4ab122 |
| 28-May-2009 |
Nick Mathewson <[email protected]> |
Spell-check the the headers
svn:r1320
|
|
Revision tags: release-1.4.11-stable |
|
| #
eda27f95 |
| 19-Apr-2009 |
Nick Mathewson <[email protected]> |
Update copyright notices, add some missing license statements
svn:r1208
|
|
Revision tags: release-2.0.1-alpha |
|
| #
a8f6d961 |
| 17-Apr-2009 |
Nick Mathewson <[email protected]> |
Actually stop using EVBUFFER_LENGTH/DATA, and move them to buffer_compat.h
svn:r1183
|
|
Revision tags: release-1.4.10-stable |
|
| #
f1b1bad4 |
| 03-Apr-2009 |
Nick Mathewson <[email protected]> |
Make the new evbuffer callbacks use a new struct-based interface.
The old interface would fail pretty hard when we had to batch up multiple adds and drains in a single call.
svn:r1131
|
| #
f90500a5 |
| 03-Apr-2009 |
Nick Mathewson <[email protected]> |
Add a new improved search function.
The old evbuffer_find didn't allow iterative searching, and forced us to repack the buffer completely every time we searched in it. The new evbuffer_search addre
Add a new improved search function.
The old evbuffer_find didn't allow iterative searching, and forced us to repack the buffer completely every time we searched in it. The new evbuffer_search addresses both of these. As a side-effect, the evbuffer_find implementation is now a little more efficient.
svn:r1130
show more ...
|
| #
bdbd5e0e |
| 26-Jan-2009 |
Nick Mathewson <[email protected]> |
For every deprecated function, explain why it is deprecated and what you should call instead.
svn:r1052
|
| #
ec2f4cbc |
| 23-Jan-2009 |
Nick Mathewson <[email protected]> |
Move obsolete evbuffer function into include/event2/buffer_compat.h
svn:r1043
|