Opened at 2012-01-10T16:51:20Z
Closed at 2012-01-12T10:40:32Z
#893 closed defect (fixed)
Multiple twitter accounts causes 'Authentication failure'
| Reported by: | DjSlash | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | BitlBee | Version: | devel | 
| Keywords: | Cc: | ||
| IRC client+version: | Client-independent | Operating System: | Linux | 
| OS version/distro: | 
Description
I have three twitter accounts enabled in bitlbee, but since two days or so, bitlbee seems to be having problems authenticating them seperatly. So I got a bit testing going on and I can not pinpoint the exact trigger yet. Sometimes it looks like if it's working fine, but then it disconnects again. Since it *can* connect fine when enabling the account, there is obviously nothing wrong with the authentication process (nor with my account credentials).
This is on a debian testing (wheezy) system with http://code.bitlbee.org/debian/devel/testing/amd64/ as apt-source. Affected/tested versions: bitlbee-3.0.4+devel+849-1 & bitlbee-3.0.4+z+20120104+devel+870-2
Attachments (0)
Change History (5)
comment:1 Changed at 2012-01-10T17:23:19Z by
comment:2 Changed at 2012-01-10T19:45:24Z by
I've seen something similar - getting bumped off Twitter with a 401 Unauthorized.
Debug log of HTTP traffic: https://gist.github.com/1590748
comment:3 Changed at 2012-01-10T23:50:57Z by
Patch for people who like those:
=== modified file 'protocols/twitter/twitter_lib.c'
--- protocols/twitter/twitter_lib.c	2011-12-26 18:17:51 +0000
+++ protocols/twitter/twitter_lib.c	2012-01-10 23:36:29 +0000
@@ -886,10 +886,6 @@
 		td->http_fails = 0;
 		if (!(ic->flags & OPT_LOGGED_IN))
 			imcb_connected(ic);
-	} else if (req->status_code == 401) {
-		imcb_error(ic, "Authentication failure");
-		imc_logout(ic, FALSE);
-		goto end;
 	} else {
 		// It didn't go well, output the error and return.
 		if (++td->http_fails >= 5)
@@ -938,10 +934,6 @@
 		td->http_fails = 0;
 		if (!(ic->flags & OPT_LOGGED_IN))
 			imcb_connected(ic);
-	} else if (req->status_code == 401) {
-		imcb_error(ic, "Authentication failure");
-		imc_logout(ic, FALSE);
-		goto end;
 	} else {
 		// It didn't go well, output the error and return.
 		if (++td->http_fails >= 5)
    comment:4 Changed at 2012-01-11T01:59:26Z by
Thanks - I'll run it and report back. It's strange though that one request will fail with a 401, and another in the debug log will get a 200. Could it be a threading issue?
comment:5 Changed at 2012-01-12T10:40:32Z by
| Resolution: | → fixed | 
|---|---|
| Status: | new → closed | 
Oh yes, so this was fixed in a commit two days ago..


This is Twitter fucking up. They sometimes reject BitlBee's authentication info and BitlBee treats that as a fatal error. Which is IMHO a reasonable thing to do but not when the service is being unreasonable.