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