The forced TFA enrollment form submitted the raw credential JSON in the 'token' field, which set_tfa()'s webauthn case never reads. It expects the parsed \['registration'] object that only the JSON API builds, so the form POST inserted a row with an empty keyHandle and a NULL publicKey while still reporting success. Every WebAuthn 2FA login then failed, because webauthn-tfa-get-args sent an empty credential id in allowCredentials. - base.twig: POST the attestation to /api/v1/add/webauthn-tfa-registration like the regular WebAuthn modal does - functions.inc.php: refuse incomplete WebAuthn registrations - lang.en-gb.json: message for the new guard
mailcow: dockerized - 🐮 + 🐋 = 💕
Want to support mailcow?
Please consider a support contract with Servercow to support further development. We support you while you support us. :)
You can also get a SAL which is a one-time payment with no liabilities or returning fees.
Or just spread the word: moo.
Many thanks to our GitHub Sponsors ❤️
A big thank you to everyone supporting us on GitHub Sponsors—your contributions mean the world to us! Special thanks to the following amazing supporters:
100$/Month Sponsors
50$/Month Sponsors
Info, documentation and support
Please see the official documentation for installation and support instructions. 🐄
🐛 If you found a critical security issue, please mail us to info at servercow.de.
Cowmunity
Telegram mailcow Off-Topic channel
Telegram desktop clients are available for multiple platforms. You can search the groups history for keywords.
Misc
Important: mailcow makes use of various open-source software. Please assure you agree with their license before using mailcow. Any part of mailcow itself is released under GNU General Public License, Version 3.
mailcow is a registered word mark of The Infrastructure Company GmbH, Parkstr. 42, 47877 Willich, Germany.
The project is managed and maintained by The Infrastructure Company GmbH.
Originated from @andryyy (André)
