Batman-adv 2012.0.0 released
Today the B.A.T.M.A.N. team releases its latest edition, 2012.0.0, containing a series of stabilization changes and bug fixes. This release does not introduce any new features and uniquely focuses on stability. As the kernel module always depends on the Linux kernel it was compiled against, it does not make sense to provide binaries on our website. As usual, you will find the signed tarballs in our download section:
as well as prepackaged binaries in your distribution.
Thanks to all people sending in patches:
- Antonio Quartulli <firstname.lastname@example.org>
- Dan Carpenter <email@example.com>
- Marek Lindner <firstname.lastname@example.org>
- Paul Kot <email@example.com>
- Simon Wunderlich <firstname.lastname@example.org>
- Sven Eckelmann <email@example.com>
and to all those that supported us with good advice or rigorous testing:
The gateway handling code was refactored as it became nearly impossible to understand the various gateway handling cases that were added over time. Also refactored was the TT handling code and a common subtype for locally and globally announced mac addresses was introduced. All told, the TT code was thoroughly reviewed leading to numerous fixes: When adding a tt entry to the hash failed its memory is properly freed. Globally roaming clients are now clearly marked as such. The length of a TT packet is compared with the length the packet claims to have, thereby avoiding memory corruptions. The expensive packet linearize function is called only when absolutely necessary.
We also were in the lucky position of getting a security audit from Paul Kot who did find a possible memory corruption in the batman socket reading code (CVE-2011-4604). However, since there is no way to exploit it, according to him, we judged the risk to be low. Obviously, the fix for this corruption is part of the release. Also fixed was a kernel freeze when the bat0 interface could not be created.
The log level parameter parser was fixed, so that it now correctly exits after receiving an invalid option as well as correctly handles the 'all' log level option.
The B.A.T.M.A.N. team