github haproxytech/spoa-mirror v1.2.21
Memory safety fixes and SPOP regression tests

4 hours ago

spoa-mirror 1.2.21

What's new

  • Added the SPOP regression tests: the spop-client.py client speaks the protocol on its own, and the spop-test.sh script starts the program for every test case and checks what it answers.
  • Added the '--enable-sanitizer' configure option, which builds the program with the sanitizer flags so that the tests can detect the memory faults.
  • The connection backlog value is checked now, and the random generator is seeded with the program start time, so the IP scores differ between the runs.

Bug fixes

  • Fixed the heap overflow that the second fragment of a frame caused when the fragmentation capability was enabled.
  • Fixed several defects in the memory allocation: a double release of the mirror data, an unchecked duplication of the SPOE engine identifier, the header that a truncated header block left behind, and the payload of a fragmented frame that grew without a limit.
  • Fixed the same memory allocation faults in the example agent.
  • Moved the client handover into the thread of the worker, so a client that arrives while the workers are busy is not left without an answer.
  • Released the cURL data when a worker stops, together with the transfers that are still running at that moment.
  • Fixed the build without the cURL library.
  • Corrected the checks in several error paths.

Other changes

  • Moved the str_hex() and str_ctrl() string helpers to a shared source file.
  • Used explicit comparisons in the conditionals that test values that are not boolean.
  • Added the function and the structure descriptions to all the source files.

Full Changelog: v1.2.20...v1.2.21

Don't miss a new spoa-mirror release

NewReleases is sending notifications on new releases.