Differences between revisions 1 and 18 (spanning 17 versions)
Revision 1 as of 2014-05-03 14:35:45
Size: 3702
Editor: dx
Comment: fist WIP of FAQ page
Revision 18 as of 2016-05-25 16:49:13
Size: 6808
Editor: dx
Comment:
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.

=== 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 [[http://znc.in/|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.

----

== SSL / TLS ==

=== 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)

=== 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 [[https://people.gnome.org/~markmc/openssl-and-the-gpl.html|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:

 * Ubuntu 14.04 users can fix this by using the APT repo in http://code.bitlbee.org/debian/ which builds against gnutls28
 * 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 [[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.

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.

----

== 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?
Line 21: Line 108:
== OTR4 builds losing messages or crashing ==

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.

See: VersionReference http://bugs.bitlbee.org/bitlbee/ticket/1109 http://bugs.bitlbee.org/bitlbee/ticket/1110

== "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.

== Skype plugin losing messages ==

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

== jabber: Setting `oauth' does not exist. ==
=== jabber: Setting `oauth' does not exist. ===
Line 39: Line 112:
You can force compiling the bitlbee jabber module in the libpurple build with this simple one line change. This replaces the libpurple one. You can build bitlbee with the builtin jabber module and libpurple by running ./configure with --jabber=1 --purple=1
Line 41: Line 114:
{{{
--- 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
 
}}}
=== How to register a new jabber account in a server? ===
Line 55: Line 116:
Tickets: http://bugs.bitlbee.org/bitlbee/ticket/1141 http://bugs.bitlbee.org/bitlbee/ticket/731 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.
Line 57: Line 118:
== I've rebuilt bitlbee and everything seems the same == === Is there google hangouts groupchat support? ===
Line 59: Line 120:
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) Not with jabber. Try [[https://bitbucket.org/EionRobb/purple-hangouts|purple-hangouts]] or [[https://github.com/mtomwing/pickups|pickups]]
Line 61: Line 122:
== msn - Error: Session terminated by remote server (RCT) == ----
Line 63: Line 124:
RCT means reconnect. The remote server needs to restart for maintenance. == Twitter ==
Line 65: Line 126:
== The nick is (probably) not registered == See also issues listed in HowtoTwitter
Line 67: Line 128:
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) ==
=== twitter: Error: Could not retrieve /1.1/favorites/create.json: 404 Not Found (Sorry, that page does not exist) ===
Line 73: Line 132:
== `make install` throws errors about xmlto not found == === twitter: Error: Stream closed (200 OK) ===
Line 75: Line 134:
It's building the user guide. Install asciidoc. You could also ignore the error. Bitlbee has to reconnect due to twitter server side maintenance. It's often harmless, but might be annoying, see the following question.
Line 77: Line 136:
== Random issues that make no sense at all and absolutely nobody understands == === Twitter shows messages from blocked users ===
Line 79: Line 138:
Might be selinux. 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]]
Line 81: Line 140:
== <root> Setting ` ' does not exist. (and similar errors) == === Is the "mute" feature implemented? ===
Line 83: Line 142:
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). Yes, since {{{3.4.2+20160417+master+24-ga244877-git}}} (that's a few commits after 3.4.2)
Line 85: Line 144:
== How to register a new jabber account in a server? == === How can i change the name of the #twitter_<username> channel? ===
Line 87: Line 146:
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. (TODO: docs)

== How to show offline nicks in /names list ==
It's a hack, but you can remove the "username" part of it like this
Line 96: Line 149:
chan &bitlbee set show_users online+,away+,offline account twitter set username ""
Line 99: Line 152:
== Twitter shows messages from blocked users == And you get a channel named {{{#twitter_}}}. (It doesn't break because the username is irrelevant when using oauth)
Line 101: Line 154:
Turns out we're supposed to get a list of blocked users and hide them on our side. (TODO: trac ticket) ----

== 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.


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:

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

  • 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)