Re: Patch to compile against Botan 2.x
Markus Wanner <[email protected]> Wed, 8 Nov 2017 22:39:55 +0100
| Newsgroups | gmane.comp.version-control.monotone.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, I finally made some progress on the nvm.botan branch. I figured two important things: First, the CRC32 calculation was broken due to comparing it with the entire 8 bytes of the footer (which couldn't ever match). That was easy to fix. Second, our custom gzip filter sets the timestamp in the gzip header to all all zeroes. More importantly, the parser *requires* it to be all zeroes. This does not work with more standard gzip behaviour (like the one implemented with Botan's (De)Compression_Filter that's available since 2.0 and newer). I already made the parser more tolerant (in nvm.botan). However, we cannot simply start writing non-zero timestamps without breaking backwards-compatibility. Therefore, I left the custom gzip code in place and in use, even when compiled against newer Botan versions. It's also worth mentioning that I've already dropped support for Botan 1.6.x and 1.7.x. However, the 1.8.x still works, so I kept it for now. I'm tempted to drop it as soon as it poses problems, though. (I haven't even tested Botan 1.6, so the decision is pretty arbitrary.) All of the unit tests now pass with the following Botan versions I'm currently testing against: 1.8.15, 1.10.17, 2.0.1, 2.1.0, 2.2.0, and 2.3.0. However, I'm still facing Botan-version dependent failures on various functional tests. I'll investigate on those, next. Kind Regards Markus Wanner