Version 2.0 released!
The binary package has been updated to v2.0 (see this thread for download and installation instructions).
This version contains major code updates in two directions:
Performance
The main AsmBB component, the templates render (`render.asm`) has been replaced by render2.asm
. Rewritten from scratch it uses more "assembly style" algorithms. As a result it is faster and uses less memory, compared with the old implementation.
In addition, all chained string comparisons in the URL parsing logic, has been replaced by hash tables accelerating the common logic of the engine.
This way the speed of AsmBB was approximately doubled. Now it is much harder to overload the engine and it can handle even more visitors simultaneously.
The code security
After serious testing with different web application testing tools (including OWASP ZAP and Tinfoil security) some vulnerabilities has been discovered and fixed.
The hard fuzzing and near DDOS loads of the above tests, as a side effect, revealed several obscure resource and memory leaks, that has been fixed as well.
In order to track the leaks easier, was implemented a debugging tool that collects statistics about resources and memory allocations and deallocations and report them on a web page.
As a result I am pretty confident that v2.0 is clean from memory leaks and SQLite hanging statements.
Here is a screenshot from the final test by "Tinfoil Security" and their aggressive bot, named "Spider-Pig".
After 1 million requests (logged in as a regular user) it found no vulnerabilities at all: