EionRobb / pidgin-opensteamworks

Steam plugin for Pidgin/libpurple
153 stars 5 forks source link

Resetting Steam Guard mobile authenticator device results in pidgin-opensteamworks state silently freezing #168

Open Shados opened 6 years ago

Shados commented 6 years ago

Steps to Reproduce

1) Have Steam Guard enabled, use a mobile authenticator 2) Log in on pidgin-opensteamworks, send some messages 3) Change the mobile authenticator device by installing Steam on a new mobile device (or re-installing it on the existing one) 4) When attempting to log in on the new Steam installation, select "Please help, I no longer have access to my Mobile Authenticator codes." 5) As prompted, provide the code you are sent via SMS to the mobile number associated with your account to the Steam install 6) Attempt to send some more messages with pidgin-opensteamworks

What I Expect

The messages should actually send in both steps 2 and 6.

What Happens

The messages sent in step 2 go out just fine.

The messages sent in step 6 appear to be sent, and pidgin shows them in the chat window, but the recipient does not actually receive them. Moreover, you can't receive messages or presence updates from anyone else, as far as I can tell, until either the account is disabled/enabled or pidgin is restarted.

Once you do that, you are prompted to provide a new Steam Guard code (after which everything works), so it looks like Steam is invalidating existing logins after the mobile authenticator is changed, but pidgin-opensteamworks does not handle this currently?

EionRobb commented 6 years ago

Hmm. Is there any feedback in the debug log (from the Buddy List, Help->Debug Window) when you send a message that doesn't get sent/received?

It might be that the server isn't telling us that we need to authenticate (although, it normally does, and that causes Pidgin to display "reconnect needed" as an error at the bottom of the buddy list)

I have to say, this isn't a scenario that I've thought about, but would be happy to fix with a bit more debug info :)

Shados commented 6 years ago

Hmmm. After further testing, it looks like that isn't what is causing it... something else had caused pidgin-opensteamworks to essentially freeze prior to my resetting steam guard. Not sure what though.

Shados commented 5 years ago

Had this happen again recently. Resolved itself after restarting Pidgin, and was notably prompted to re-enter my Steam guard code. So you may be right and the server isn't prompting to re-authenticate? Could this be complicated by me running multiple clients simultaneously (official Android one, pidgin at home, finch on a remote server)? Perhaps the re-auth message only goes to 1/n of the connected clients?