zedshaw/mongrel2 — pull request #206 by pjkundert (2014-02-22 20:32:28+00:00)
Title: Clean up preparation and testing of src/polarssl git submodule

The tests/ca/m2-cert.pem has expired, and building of mongrel2 version 1.9.0 now fails, due to a failing tests/cert_tests. This will (of course) occur from time to time, and should be detected and logged appropriately by the test/cert_tests.c, so that the maintainer can update the cert. However, in order for tests to pass appropriately in the (far) future when this version of the software is rebuilt, the tests must detect the certificate expiry, and expect the validation to fail.

I have fixed the handling of the src/polarssl git submodule in the Makefile, to cleanly handle patching of multiple version of PolarSSL. Version 1.3.0 is supported, and remains the configured version. However, 1.3.4 support has been added in preparation for upgrading, and it is now simple to provide support for other versions, by simply adding an appropriate src/polarssl_config.patch.X.Y.Z file, for PolarSSL version X.Y.Z.

o Move all submodule preparatory scripting inline so it is visible
o Support multiple versions of polarssl, by providing version specific
patch files for their src/polarssl/include/polarssl/config.h
o Support patch for PolarSSL 1.3.4, in preparation for future support
o Improve tests/cert_tests.c to detect an invalid tests/ca/m2-cert.pem,
and adjust its certificate validation expectations accordingly,
while ensuring that the maintainer is warned to update the cert.
o Fix tests/runtests.sh to allow passage of stderr output to maintainer