Differences between revisions 8 and 21 (spanning 13 versions)
Revision 8 as of 2014-05-03 17:18:04
Size: 6934
Editor: dx
Comment: "unusuable" nss bug, twitter ssl, session takeover
Revision 21 as of 2017-02-05 04:07:56
Size: 7130
Editor: dx
Comment: handle_unknown
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= FAQ (WORK IN PROGRESS!) = = FAQ =
Line 3: Line 3:
I'm going to put #bitlbee frequently asked questions here, in no particular order, based on answers given in #bitlbee. <<TableOfContents>>
Line 5: Line 5:
== How to get the bitlbee version == == General ==

=
== How to get the bitlbee version ===
Line 13: Line 15:
== Can't connect to google talk == === Do people still use <insert service name here>? ===
Line 15: Line 17:
Probably a SRV resolution error, related to http://bugs.bitlbee.org/bitlbee/ticket/1098 Yes.
Line 17: Line 19:
{{{
account jabber set server talk.google.com
}}}
=== Loop of "Trying to take over existing session" ===
Line 21: Line 21:
== OTR4 builds losing messages or crashing == The session takeover feature isn't particularly good, and should be avoided. Do {{{set allow_takeover off}}} and consider using a bouncer like [[http://znc.in/|ZNC]] instead if you need this.
Line 23: Line 23:
Upgrade to latest bzr. Applies to early development versions and the ones that are currently shipped with debian testing/unstable and ubuntu trusty 14.04. === <root> Setting ` ' does not exist. (and similar errors) ===
Line 25: Line 25:
See: VersionReference http://bugs.bitlbee.org/bitlbee/ticket/1109 http://bugs.bitlbee.org/bitlbee/ticket/1110 You might have a OTR plugin in your irc client or bouncer, which sends a whitespace pattern (made of spaces and tabs) when it's set to "opportunistic" mode, and having that at the end of root commands confuses bitlbee. Find a way to disable it.
Line 27: Line 27:
== "help otr" gives a help message but "otr foo" says "unknown command" == (Note that the bitlbee otr plugin does the same, but only where it makes sense).
Line 29: Line 29:
The help text is always included even if you don't have the otr plugin installed. Install it.

== Skype plugin losing messages ==

See known issues section of HowtoSkype, a few workarounds there.

== jabber: Setting `oauth' does not exist. ==

You're using bitlbee-libpurple, which has a different jabber implementation without oauth. Install the normal bitlbee if you don't need any libpurple specific plugins.

You can force compiling the bitlbee jabber module in the libpurple build with this simple one line change. This replaces the libpurple one.

{{{
--- a/configure
+++ b/configure
@@ -604,7 +604,7 @@ EOF
        # Having both libpurple and native IM modules in one binary may
        # do strange things. Let's not do that.
        msn=0
- jabber=0
+ jabber=1
        oscar=0
        yahoo=0
 
}}}

Tickets: http://bugs.bitlbee.org/bitlbee/ticket/1141 http://bugs.bitlbee.org/bitlbee/ticket/731

== I've rebuilt bitlbee and everything seems the same ==

Check {{{ps aux}}}, kill all old bitlbee processes. Disconnect your irc client. Ensure that you installed to the right place (the configure script installs to /usr/local by default)

== msn - Error: Session terminated by remote server (RCT) ==

RCT means reconnect. The remote server needs to restart for maintenance.

== The nick is (probably) not registered ==

Check that the permissions of the files in /var/lib/bitlbee match the user that is running the bitlbee daemon.

== twitter: Error: Could not retrieve /1.1/favorites/create.json: 404 Not Found (Sorry, that page does not exist) ==

The tweet was deleted

== `make install` throws errors about xmlto not found ==

It's building the user guide. Install asciidoc. You could also ignore the error.

== Random issues that make no sense at all and absolutely nobody understands ==

Might be selinux.

== <root> Setting ` ' does not exist. (and similar errors) ==

You might have a OTR plugin in your irc client or bouncer, which sends a whitespace pattern (made of spaces and tabs) when it's set to "opportunistic" mode, and having that at the end of root commands confuses bitlbee. Find a way to disable it. (Note that the bitlbee otr plugin does the same, but only where it makes sense).

== How to register a new jabber account in a server? ==

Not supported yet. You can use a client like psi or gajim one time just to do the registration step, then do the rest in bitlbee.

== How to configure bitlbee to listen on SSL/TLS? ==

Use stunnel or tls-enabled irc bouncer (e.g. [[http://znc.in/|ZNC]]) in front of it. (TODO: docs)

== How to show offline nicks in /names list ==
=== How to show offline nicks in /names list ===
Line 99: Line 35:
== Twitter shows messages from blocked users == === I restarted bitlbee and my settings didn't save ===
Line 101: Line 37:
Turns out we're supposed to get a list of blocked users and hide them on our side. (TODO: trac ticket) Some methods of restarting don't save the user settings - do "save" in the control channel to ensure they are saved. Of course, you need an account for that.
Line 103: Line 39:
== facebook: Several "FacebookUser" contacts that can't be identified == === Can I use bitlbee to connect to IRC? ===
Line 105: Line 41:
These are most likely profiles that were deleted or that blocked you. They might be included in the friends list of your facebook profile. The facebook mobile app might show an option to remove those contacts. Maybe, but don't do it. See [[IRCThroughBitlbee]]
Line 107: Line 43:
== facebook: Users join before sending messages, then quit == === Why do some people talk to me through &bitlbee? ===
Line 109: Line 45:
This is bitlbee showing exactly what the facebook xmpp server says. You might want to ignore it in your irc client. Those may be people who are not in your contact list. See `help set handle_unknown` to customize this behavior.
Line 111: Line 47:
Example /ignore for irssi (will not work for other clients) ----
Line 113: Line 49:
{{{
/ignore *!*@chat.facebook.com JOINS QUITS
}}}
== SSL / TLS ==
Line 117: Line 51:
== twitter: Error: Stream closed (200 OK) == === How to connect to the bitlbee server with SSL/TLS? ===
 
Use stunnel or tls-enabled irc bouncer (e.g. [[http://znc.in/|ZNC]]) in front of it. (TODO: docs)
Line 119: Line 55:
Bitlbee has to reconnect due to twitter server side maintenance. It's often harmless, but might be annoying, see the following question.

== Twitter reconnects too often, it's annoying ==

Try this:

{{{
account twitter set show_old_mentions 0
}}}

== What SSL/TLS library does bitlbee use? ==
=== What SSL/TLS library does bitlbee use? ===
Line 137: Line 63:
NSS is used by redhat based distros - RHEL, centos, fedora, etc. Affected by this bug http://bugs.bitlbee.org/bitlbee/ticket/785 - but should be okay when using the systemd scripts provided in their packages, or inetd mode. NSS is used by redhat based distros - RHEL, centos, fedora, etc.
Line 139: Line 65:
== Is there facebook groupchat support? == === Can't connect to servers that use cacert certificates such as jabber.ccc.de ===
Line 141: Line 67:
No.

== Is there google hangouts groupchat support? ==

No. One to one chats should still work through jabber.

== Whatsapp? ==

There's a libpurple plugin here: https://github.com/davidgfnet/whatsapp-purple

== Telegram? ==

Probably not. http://bugs.bitlbee.org/bitlbee/ticket/1140

== Is MSN still alive? ==

Yes, and microsoft still uses the msn protocol internally. See HowtoMsn

== Facebook says that I use an application called "Rtgw_xmpp_username_password_login" ==

This probably means "Realtime gateway xmpp username/password login" and it happens when you use password based login instead of oauth. See HowtoFacebook

== OAuth failure (Unusuable response) [sic] ==

You're probably using NSS, the default ssl/tls library in redhat based distros. Workaround, start bitlbee like this:
The error looks like this:
Line 168: Line 70:
nohup bitlbee -Dn & <@root> jabber - Logging in: Converting stream to TLS
<@root> jabber - Login error: Could not connect to server
Line 171: Line 74:
Or start bitlbee using xinetd. Or use the distro provided systemd units (the fedora ones start it correctly) It affects the following ubuntu/debian releases (Newer releases are not affected)
Line 173: Line 76:
Bug http://bugs.bitlbee.org/bitlbee/ticket/785  * Debian 7 (wheezy, oldstable)
 * Ubuntu 12.04 (precise)
 * Ubuntu 14.04 (trusty)
Line 175: Line 80:
== twitter - Login error: Could not retrieve /friends/ids.xml: 403 Forbidden (SSL is required) == Solutions: (pick one)
Line 177: Line 82:
Upgrade to 3.2.1  * Ubuntu 14.04 users can fix this by using the APT repo in http://code.bitlbee.org/debian/ which builds against gnutls28
 * Debian 7 and ubuntu 12.04 users can upgrade to a newer debian/ubuntu release
 * Install gnutls28 (possibly in backports) and rebuild bitlbee against it
 * Rebuild bitlbee with {{{./configure --ssl=nss}}} to not use gnutls at all.
 * Not recommended, but downgrading your gnutls26 package to not include the CVE-2015-7575 fix will also allow you to connect again.
Line 179: Line 88:
Note that some builds are labeled 3.2-1, this is not the same as 3.2.1 Context: The ubuntu/debian gnutls26 package [[https://bugs.launchpad.net/ubuntu/+source/gnutls26/+bug/1553819|introduced a security "fix"]] that prevents connections to servers with certificates with RSA-MD5 signatures. Cacert has that kind of signatures, and jabber.ccc.de is the most common server that uses those certificates.
Line 181: Line 90:
== Loop of "Trying to take over existing session" == The real solution here is for cacert to stop sucking ([[http://blog.cacert.org/2016/03/successful-root-re-sign/|they are working on it]]... slowly), or to have jabber.ccc.de use a real CA like letsencrypt. Both are out of our control.
Line 183: Line 92:
The session takeover feature isn't particularly good, and should be avoided. Do {{{set allow_takeover off}}} and consider using a bouncer like [[http://znc.in/|ZNC]] instead if you need this. ----

== Compilation / installation issues ==

=== "help otr" gives a help message but "otr foo" says "unknown command" ===

The help text is always included even if you don't have the otr plugin installed. Install it.

=== I've rebuilt bitlbee and everything seems the same ===

Check {{{ps aux}}}, kill all old bitlbee processes. Disconnect your irc client. Ensure that you installed to the right place (the configure script installs to /usr/local by default)

----

== Jabber ==

=== Can't connect to google talk ===

Probably a SRV resolution error?

{{{
account jabber set server talk.google.com
}}}

=== jabber: Setting `oauth' does not exist. ===

You're using bitlbee-libpurple, which has a different jabber implementation without oauth. Install the normal bitlbee if you don't need any libpurple specific plugins.

You can build bitlbee with the builtin jabber module and libpurple by running ./configure with --jabber=1 --purple=1

=== How to register a new jabber account in a server? ===

Not supported yet. You can use a client like pidgin, psi or gajim one time just to do the registration step, then do the rest in bitlbee.

=== Is there google hangouts groupchat support? ===

Not with jabber. Try [[https://bitbucket.org/EionRobb/purple-hangouts|purple-hangouts]] or [[https://github.com/mtomwing/pickups|pickups]]

----

== Twitter ==

See also issues listed in HowtoTwitter

=== twitter: Error: Could not retrieve /1.1/favorites/create.json: 404 Not Found (Sorry, that page does not exist) ===

The tweet was deleted

=== twitter: Error: Stream closed (200 OK) ===

Bitlbee has to reconnect due to twitter server side maintenance. It's often harmless, but might be annoying, see the following question.

=== Twitter shows messages from blocked users ===

Turns out we're supposed to get a list of blocked users and hide them on our side. [[http://bugs.bitlbee.org/bitlbee/ticket/1166|Ticket]]

=== Is the "mute" feature implemented? ===

Yes, since {{{3.4.2+20160417+master+24-ga244877-git}}} (that's a few commits after 3.4.2)

=== How can i change the name of the #twitter_<username> channel? ===

It's a hack, but you can remove the "username" part of it like this

{{{
account twitter set username ""
}}}

And you get a channel named {{{#twitter_}}}. (It doesn't break because the username is irrelevant when using oauth)

----

== Development ==

=== Are there docs? ===

No. But the [[https://github.com/jgeboski/bitlbee-steam|bitlbee-steam]] plugin is wonderfully documented. Go look at that. Also, read the source, and feel free to ask any questions in #bitlbee.

=== Can I write plugins in languages other than C? ===

Maybe, check the 'parson' branch. You could also do like the skype plugin (connects to a daemon over a plain tcp+ssl connection).

----

== Other questions ==

(Add new questions here, move them later.)

=== Can I rename/remove &bitlbee? ===

You can create a new control channel with a different name, see "help channel".

Bitlbee will always join &bitlbee because you get messages there before logging in to your user. Currently there is no way to avoid this.

This is often asked as a way to workaround IRC client bugs - remember to report those to the developers!

FAQ

General

How to get the bitlbee version

/ctcp root version

The result might be in the status window, depending on irc client.

Do people still use <insert service name here>?

Yes.

Loop of "Trying to take over existing session"

The session takeover feature isn't particularly good, and should be avoided. Do set allow_takeover off and consider using a bouncer like ZNC instead if you need this.

<root> Setting ` ' does not exist. (and similar errors)

You might have a OTR plugin in your irc client or bouncer, which sends a whitespace pattern (made of spaces and tabs) when it's set to "opportunistic" mode, and having that at the end of root commands confuses bitlbee. Find a way to disable it.

(Note that the bitlbee otr plugin does the same, but only where it makes sense).

How to show offline nicks in /names list

chan &bitlbee set show_users online+,away+,offline

I restarted bitlbee and my settings didn't save

Some methods of restarting don't save the user settings - do "save" in the control channel to ensure they are saved. Of course, you need an account for that.

Can I use bitlbee to connect to IRC?

Maybe, but don't do it. See IRCThroughBitlbee

Why do some people talk to me through &bitlbee?

Those may be people who are not in your contact list. See help set handle_unknown to customize this behavior.


SSL / TLS

How to connect to the bitlbee server with SSL/TLS?

Use stunnel or tls-enabled irc bouncer (e.g. ZNC) in front of it. (TODO: docs)

What SSL/TLS library does bitlbee use?

Either gnutls, openssl, or nss, depending on compilation parameters.

GnuTLS is the most common one, most distros use it, and it's the recommended option.

OpenSSL has no detection code (will never be used unless chosen explicitly) and will show a warning about the possible GNU GPL license incompatibility when trying to compile against it. Last time i checked, only openbsd compiled bitlbee against openssl.

NSS is used by redhat based distros - RHEL, centos, fedora, etc.

Can't connect to servers that use cacert certificates such as jabber.ccc.de

The error looks like this:

<@root> jabber - Logging in: Converting stream to TLS
<@root> jabber - Login error: Could not connect to server

It affects the following ubuntu/debian releases (Newer releases are not affected)

  • Debian 7 (wheezy, oldstable)
  • Ubuntu 12.04 (precise)
  • Ubuntu 14.04 (trusty)

Solutions: (pick one)

  • Ubuntu 14.04 users can fix this by using the APT repo in http://code.bitlbee.org/debian/ which builds against gnutls28

  • Debian 7 and ubuntu 12.04 users can upgrade to a newer debian/ubuntu release
  • Install gnutls28 (possibly in backports) and rebuild bitlbee against it
  • Rebuild bitlbee with ./configure --ssl=nss to not use gnutls at all.

  • Not recommended, but downgrading your gnutls26 package to not include the CVE-2015-7575 fix will also allow you to connect again.

Context: The ubuntu/debian gnutls26 package introduced a security "fix" that prevents connections to servers with certificates with RSA-MD5 signatures. Cacert has that kind of signatures, and jabber.ccc.de is the most common server that uses those certificates.

The real solution here is for cacert to stop sucking (they are working on it... slowly), or to have jabber.ccc.de use a real CA like letsencrypt. Both are out of our control.


Compilation / installation issues

"help otr" gives a help message but "otr foo" says "unknown command"

The help text is always included even if you don't have the otr plugin installed. Install it.

I've rebuilt bitlbee and everything seems the same

Check ps aux, kill all old bitlbee processes. Disconnect your irc client. Ensure that you installed to the right place (the configure script installs to /usr/local by default)


Jabber

Can't connect to google talk

Probably a SRV resolution error?

account jabber set server talk.google.com

jabber: Setting `oauth' does not exist.

You're using bitlbee-libpurple, which has a different jabber implementation without oauth. Install the normal bitlbee if you don't need any libpurple specific plugins.

You can build bitlbee with the builtin jabber module and libpurple by running ./configure with --jabber=1 --purple=1

How to register a new jabber account in a server?

Not supported yet. You can use a client like pidgin, psi or gajim one time just to do the registration step, then do the rest in bitlbee.

Is there google hangouts groupchat support?

Not with jabber. Try purple-hangouts or pickups


Twitter

See also issues listed in HowtoTwitter

twitter: Error: Could not retrieve /1.1/favorites/create.json: 404 Not Found (Sorry, that page does not exist)

The tweet was deleted

twitter: Error: Stream closed (200 OK)

Bitlbee has to reconnect due to twitter server side maintenance. It's often harmless, but might be annoying, see the following question.

Twitter shows messages from blocked users

Turns out we're supposed to get a list of blocked users and hide them on our side. Ticket

Is the "mute" feature implemented?

Yes, since 3.4.2+20160417+master+24-ga244877-git (that's a few commits after 3.4.2)

How can i change the name of the #twitter_<username> channel?

It's a hack, but you can remove the "username" part of it like this

account twitter set username ""

And you get a channel named #twitter_. (It doesn't break because the username is irrelevant when using oauth)


Development

Are there docs?

No. But the bitlbee-steam plugin is wonderfully documented. Go look at that. Also, read the source, and feel free to ask any questions in #bitlbee.

Can I write plugins in languages other than C?

Maybe, check the 'parson' branch. You could also do like the skype plugin (connects to a daemon over a plain tcp+ssl connection).


Other questions

(Add new questions here, move them later.)

Can I rename/remove &bitlbee?

You can create a new control channel with a different name, see "help channel".

Bitlbee will always join &bitlbee because you get messages there before logging in to your user. Currently there is no way to avoid this.

This is often asked as a way to workaround IRC client bugs - remember to report those to the developers!

BitlBee Wiki: FAQ (last edited 2017-02-05 04:07:56 by dx)