Move description of ext contents into an md file.

This way, doxygen can include it.
This commit is contained in:
Nick Mathewson 2020-07-02 13:46:09 -04:00
parent fbf8bda30b
commit b0a716dfb0
4 changed files with 90 additions and 88 deletions

View File

@ -1,86 +0,0 @@
This directory holds code that was written elsewhere, and is not
reliably packaged as a library where we want to build, so we ship
it along with Tor.
In general, you should not edit this code: we are not the maintainers.
Instead, you should submit patches upstream.
OpenBSD_malloc_Linux.c:
The OpenBSD malloc implementation, ported to Linux. Used only when
--enable-openbsd-malloc is passed to the configure script.
strlcat.c
strlcpy.c
Implementations of strlcat and strlcpy, the more sane replacements
for strcat and strcpy. These are nonstandard, and some libc
implementations refuse to add them for religious reasons.
ht.h
An implementation of a hash table in the style of Niels Provos's
tree.h. Shared with Libevent.
tinytest.[ch]
tinytest_demos.c
tinytest_macros.h
A unit testing framework. https://github.com/nmathewson/tinytest
tor_queue.h
A copy of sys/queue.h from OpenBSD. We keep our own copy rather
than using sys/queue.h, since some platforms don't have a
sys/queue.h, and the ones that do have diverged in incompatible
ways. (CIRCLEQ or no CIRCLEQ? SIMPLQ or STAILQ?) We also rename
the identifiers with a TOR_ prefix to avoid conflicts with
the system headers.
curve25519_donna/*.c
A copy of Adam Langley's curve25519-donna mostly-portable
implementations of curve25519.
csiphash.c
siphash.h
Marek Majkowski's implementation of siphash 2-4, a secure keyed
hash algorithm to avoid collision-based DoS attacks against hash
tables.
trunnel/*.[ch]
Headers and runtime code for Trunnel, a system for generating
code to encode and decode binary formats.
ed25519/ref10/*
Daniel Bernsten's portable ref10 implementation of ed25519.
Public domain.
ed25519/donna/*
Andrew Moon's semi-portable ed25519-donna implementation of
ed25519. Public domain.
keccak-tiny/
David Leon Gil's portable Keccak implementation. CC0.
readpassphrase.[ch]
Portable readpassphrase implementation from OpenSSH portable, version
6.8p1.
timeouts/
William Ahern's hierarchical timer-wheel implementation. MIT license.
mulodi/
Contains an overflow-checking 64-bit signed integer multiply
from LLVM's compiler_rt. For some reason, this is missing from
32-bit libclang in many places. Dual licensed MIT-license and
BSD-like license; see mulodi/LICENSE.TXT.

88
src/ext/ext.md Normal file
View File

@ -0,0 +1,88 @@
@dir /ext
@brief Externally maintained code
The "ext" directory holds code that was written elsewhere, and is not
reliably packaged as a library where we want to build, so we ship
it along with Tor.
In general, you should not edit this code: we are not the maintainers.
Instead, you should submit patches upstream.
OpenBSD_malloc_Linux.c:
> The OpenBSD malloc implementation, ported to Linux. Used only when
> --enable-openbsd-malloc is passed to the configure script.
strlcat.c
strlcpy.c
> Implementations of strlcat and strlcpy, the more sane replacements
> for strcat and strcpy. These are nonstandard, and some libc
> implementations refuse to add them for religious reasons.
ht.h
> An implementation of a hash table in the style of Niels Provos's
> tree.h. Shared with Libevent.
tinytest.c tinytest.h
tinytest_demos.c
tinytest_macros.h
> A unit testing framework. https://github.com/nmathewson/tinytest
tor_queue.h
> A copy of sys/queue.h from OpenBSD. We keep our own copy rather
> than using sys/queue.h, since some platforms don't have a
> sys/queue.h, and the ones that do have diverged in incompatible
> ways. (CIRCLEQ or no CIRCLEQ? SIMPLQ or STAILQ?) We also rename
> the identifiers with a TOR_ prefix to avoid conflicts with
> the system headers.
curve25519_donna/*.c
> A copy of Adam Langley's curve25519-donna mostly-portable
> implementations of curve25519.
csiphash.c
siphash.h
> Marek Majkowski's implementation of siphash 2-4, a secure keyed
> hash algorithm to avoid collision-based DoS attacks against hash
> tables.
trunnel/*.[ch]
> Headers and runtime code for Trunnel, a system for generating
> code to encode and decode binary formats.
ed25519/ref10/*
> Daniel Bernsten's portable ref10 implementation of ed25519.
> Public domain.
ed25519/donna/*
> Andrew Moon's semi-portable ed25519-donna implementation of
> ed25519. Public domain.
keccak-tiny/
> David Leon Gil's portable Keccak implementation. CC0.
readpassphrase.[ch]
> Portable readpassphrase implementation from OpenSSH portable, version
> 6.8p1.
timeouts/
> William Ahern's hierarchical timer-wheel implementation. MIT license.
mulodi/
> Contains an overflow-checking 64-bit signed integer multiply
> from LLVM's compiler_rt. For some reason, this is missing from
> 32-bit libclang in many places. Dual licensed MIT-license and
> BSD-like license; see mulodi/LICENSE.TXT.

View File

@ -1,7 +1,7 @@
AM_CPPFLAGS += -I$(srcdir)/src/ext -Isrc/ext
EXTRA_DIST += src/ext/README
EXTRA_DIST += src/ext/ext.md
EXTHEADERS = \
src/ext/ht.h \

View File

@ -83,7 +83,7 @@ will be scheduled.
The codebase is divided into a few top-level subdirectories, each of
which contains several sub-modules.
- `ext` -- Code maintained elsewhere that we include in the Tor
- \refdir{ext} -- Code maintained elsewhere that we include in the Tor
source distribution. You should not edit this code if you can
avoid it: we try to keep it identical to the upstream versions.