README 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. OpenBSD_malloc_Linux.c:
  2. The OpenBSD malloc implementation, ported to Linux. Used only when
  3. --enable-openbsd-malloc is passed to the configure script.
  4. strlcat.c
  5. strlcpy.c
  6. Implementations of strlcat and strlcpy, the more sane replacements
  7. for strcat and strcpy. These are nonstandard, and some libc
  8. implementations refuse to add them for religious reasons.
  9. eventdns.[ch]
  10. A fork of Libevent's DNS implementation, used by Tor when Libevent
  11. 2.0 or later is not available. Once Libevent 2.0 is required, we
  12. should throw this away; it has diverged from evdns.[ch], and is
  13. no longer easily mergeable.
  14. ht.h
  15. An implementation of a hash table in the style of Niels Provos's
  16. tree.h. Shared with Libevent.
  17. tinytest.[ch]
  18. tinytest_demos.c
  19. tinytest_macros.h
  20. A unit testing framework. https://github.com/nmathewson/tinytest
  21. tor_queue.h
  22. A copy of sys/queue.h from OpenBSD. We keep our own copy rather
  23. than using sys/queue.h, since some platforms don't have a
  24. sys/queue.h, and the ones that do have diverged in incompatible
  25. ways. (CIRCLEQ or no CIRCLEQ? SIMPLQ or STAILQ?) We also rename
  26. the identifiers with a TOR_ prefix to avoid conflicts with
  27. the system headers.
  28. curve25519_donna/*.c
  29. A copy of Adam Langley's curve25519-donna mostly-portable
  30. implementations of curve25519.
  31. csiphash.c
  32. siphash.h
  33. Marek Majkowski's implementation of siphash 2-4, a secure keyed
  34. hash algorithm to avoid collision-based DoS attacks against hash
  35. tables.
  36. trunnel/*.[ch]
  37. Headers and runtime code for Trunnel, a system for generating
  38. code to encode and decode binary formats.