POCKET Bug found: all confirmation bots immediately upgrade and sync from old database snapshot

biophil(66)
Published in
#pocket
Words
215
Reading
1 min
9y
Listen to this post
~1 min

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.

Thanks to foundation for (unofficial) logo, I'm trying it out now!

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@planetenamek for finding the bug!

POCKET Bug found: all confirmation bots immediately upgrade and syn... | Ecency