POCKET Bug found: all confirmation bots immediately upgrade and sync from old database snapshot
A bug was discovered in my Pocket code a few hours ago that caused confirmation bots to spam invalid confirmation messages.
If you are running a confirmation bot, immediately pull my fix from the master branch of the github:
https://github.com/biophil/pocket
You must replace your .db file with an older version, from before the bug was discovered (prior to September 14th, 2017). Contact me if you need a snapshot.
Details:
The bug was due to a corner case in the regex that parses pocketsend commands. If the receiving account name was followed by a single LF character, the send was correctly parsed as valid, but the code included the LF character as part of the receiving account name - and the confirmation message included this LF character. However, LF characters are not allowed in account names, so the confirmation message validator rejected these confirmation messages. Rejecting these messages was essentially the correct thing to do, but resulted in the confirmation bots repeatedly posting these mal-formed messages because the pending_confirm was never removed from the database.
The fix:
I included code which checks for this corner case, and does not include the LF character in the account name.
Many thanks to @planetenamek for finding the bug!