[b7d3cc34] | 1 | INSTALLATION |
---|
| 2 | ============ |
---|
| 3 | |
---|
| 4 | If you installed BitlBee from a .deb or .rpm you probably don't have to do |
---|
| 5 | anything anymore for installation. Just skip this section. |
---|
| 6 | |
---|
| 7 | If you want to compile BitlBee yourself, that's fine. Just run ./configure |
---|
| 8 | to set up the build system. If configure succeeds, run make to build BitlBee. |
---|
| 9 | make install will move all the files to the right places. |
---|
| 10 | |
---|
[42bdeec] | 11 | --- inetd installation |
---|
| 12 | |
---|
[b7d3cc34] | 13 | After installation you have to set up inetd (you got that one running, |
---|
| 14 | right? If not, just take a look at utils/bitlbeed.c) to start BitlBee. You |
---|
| 15 | need to add BitlBee to inetd.conf, like this: |
---|
| 16 | |
---|
| 17 | 6667 stream tcp nowait nobody /usr/sbin/tcpd /usr/local/sbin/bitlbee |
---|
| 18 | |
---|
| 19 | Creating a special BitlBee user and running BitlBee with that UID (instead |
---|
| 20 | of just 'nobody') might be a good idea. |
---|
| 21 | |
---|
[42bdeec] | 22 | *BSD/Darwin/OSX NOTE: Most *BSD inetds are more scrict than the one that |
---|
| 23 | comes with Linux systems. Possibly all non-Linux inetds are like this. They |
---|
| 24 | don't allow you to specify a port number in the inetd.conf entry, instead |
---|
| 25 | you have to put a service name there (one that is also mentioned in |
---|
| 26 | /etc/services). So if there's no line in /services for 6667/tcp (or whatever |
---|
| 27 | you choose), add it and use that name in the inetd.conf entry. |
---|
| 28 | |
---|
| 29 | -- xinetd installation |
---|
| 30 | |
---|
| 31 | Most machines use xinetd instead of inetd these days. If your machine runs |
---|
| 32 | xinetd, you can copy the bitlbee.xinetd file from the doc/ directory to your |
---|
| 33 | xinetd.d/ directory. Most likely you'll have to change a thing or two before |
---|
| 34 | it'll work. |
---|
| 35 | |
---|
| 36 | After configuring your (x)inetd, send the daemon a SIGHUP and things should |
---|
| 37 | work. If not, see your syslogs, since both daemons will complain there when |
---|
| 38 | something's wrong. |
---|
| 39 | |
---|
[b7d3cc34] | 40 | Also, don't forget to create the configuration directory (/var/lib/bitlbee/ |
---|
| 41 | by default) and chown it to the UID BitlBee is running as. Make sure this |
---|
| 42 | directory is read-/writable by this user only. |
---|
| 43 | |
---|
| 44 | |
---|
| 45 | DEPENDENCIES |
---|
| 46 | ============ |
---|
| 47 | |
---|
| 48 | BitlBee's only real dependency is GLib. This is available on virtually every |
---|
| 49 | platform. Any recent version of GLib (including 1.x versions) will work. |
---|
| 50 | |
---|
| 51 | These days, MSN Messenger clients have to connect to the MS Passport servers |
---|
| 52 | through HTTPS. BitlBee can use serveral SSL libraries for this: GnuTLS, NSS |
---|
| 53 | (which comes with Mozilla) and OpenSSL. OpenSSL is not GPL-compatible in some |
---|
| 54 | situations, so using GnuTLS or NSS is preferred. However, especially on *BSD, |
---|
| 55 | OpenSSL can be considered part of the operating system, which eliminates the |
---|
| 56 | GPL incompatibility. |
---|
| 57 | |
---|
| 58 | The incompatibility is also the reason why the SSL library detection code |
---|
| 59 | doesn't attempt to use OpenSSL. If you want to use OpenSSL, you have to |
---|
| 60 | force configure to use it using the --ssl=openssl parameter. For more |
---|
| 61 | information about this problem, see the URL's configure will write to stdout |
---|
| 62 | when you attempt to use OpenSSL. |
---|
| 63 | |
---|
| 64 | |
---|
| 65 | PORTABILITY ISSUES |
---|
| 66 | ================== |
---|
| 67 | |
---|
| 68 | Cygwin NOTE: You'll need a glib installation to run BitlBee. However, Cygwin |
---|
| 69 | doesn't provide a glib package. You can download a binary tar.gz from: |
---|
| 70 | <http://my.dreamwiz.com/jbdoll/>. When you installed it, BitlBee should work |
---|
| 71 | fine. You'll probably like bitlbeed or xinetd to get it running on the |
---|
| 72 | network. |
---|
| 73 | |
---|
| 74 | On some non-Linux systems the program still suffers from some random bugs. |
---|
| 75 | Please do report them, we might be able to fix them if they're not too |
---|
| 76 | mysterious. |
---|
| 77 | |
---|
[42bdeec] | 78 | Also, the configure script is known to not work very well with non-Bash |
---|
| 79 | shells, so if you experience problems, make sure you use bash to run the |
---|
| 80 | script. Same for the Makefile, it only works well with GNU make. (gmake on |
---|
| 81 | most BSD systems) |
---|
| 82 | |
---|
| 83 | If someone can tell us how to write Makefiles that work with both/all |
---|
| 84 | versions of make, we'd love to hear it, but it seems this just isn't |
---|
| 85 | possible. |
---|
| 86 | |
---|
[b7d3cc34] | 87 | |
---|
| 88 | RUNNING ON SERVERS WITH MANY USERS |
---|
| 89 | ================================== |
---|
| 90 | |
---|
| 91 | BitlBee is not yet bug-free. Sometimes a bug causes the program to get into |
---|
| 92 | an infinite loop. Something you really don't want on a public server, |
---|
| 93 | especially when that machine is also used for other (mission-critical) things. |
---|
| 94 | For now we can't do much about it. We haven't seen that happen for a long |
---|
| 95 | time already on our own machines, but some people still manage to get |
---|
| 96 | themselves in nasty situations we haven't seen before. |
---|
| 97 | |
---|
| 98 | For now the best we can offer against this problem is bitlbeed, which allows |
---|
| 99 | you to setrlimit() the child processes to use no more than a specified |
---|
| 100 | number of CPU seconds. Not the best solution (not really a solution anyway), |
---|
| 101 | but certainly trashing one busy daemon process is better than trashing your |
---|
| 102 | whole machine. |
---|
| 103 | |
---|
| 104 | We don't believe adding a limit for bitlbee to /etc/security/limits.conf will |
---|
| 105 | work, because that file is only read by PAM (ie just for real login users, |
---|
| 106 | not daemons). |
---|
| 107 | |
---|
| 108 | See utils/bitlbeed.c for more information about the program. |
---|
| 109 | |
---|
| 110 | Just a little note: We run our public server im.bitlbee.org for a couple of |
---|
| 111 | months now, and so far we haven't experienced this problem yet. The only |
---|
| 112 | BitlBee processes killed because of CPU-time overuse were running for a long |
---|
| 113 | time already, they were usually killed during the MSN login process (which |
---|
| 114 | is quite CPU-time consuming). |
---|
| 115 | |
---|
| 116 | |
---|
| 117 | USAGE |
---|
| 118 | ===== |
---|
| 119 | |
---|
| 120 | Not much to say here, it's all documented elsewhere already. Just connect to |
---|
| 121 | the new BitlBee IRC server and the bot (root) will tell you what to do. |
---|
| 122 | |
---|
| 123 | |
---|
| 124 | BACKGROUNDS |
---|
| 125 | =========== |
---|
| 126 | |
---|
| 127 | We are both console lovers. But it is annoying to have a few tty's open with |
---|
| 128 | chat things in them. IRC, ICQ, MSN, AIM, Jabber... For X there is Gaim, which |
---|
| 129 | supports many chatprotocols. Why wasn't there such a thing for the console? |
---|
| 130 | |
---|
| 131 | The idea to port Gaim was easily thought of, of course. But we liked our IRC |
---|
| 132 | clients. And we used it the most, so we used it best. Importing it into the |
---|
| 133 | IRC client was a nice idea. But what if someone liked a different client. |
---|
| 134 | Then (s)he had to duplicate our work. |
---|
| 135 | |
---|
| 136 | That's a shame, we thought. Doing work twice is pointless. So when Wilmer |
---|
| 137 | got the ingenious thought in his mind while farming, to create an IRC to |
---|
| 138 | other chatnetworks gateway, we were both so excited, that we started working |
---|
| 139 | on it almost immediately. And the result is BitlBee. |
---|
| 140 | |
---|
| 141 | |
---|
| 142 | WEBSITE |
---|
| 143 | ======= |
---|
| 144 | |
---|
| 145 | You can find new releases of BitlBee at: |
---|
| 146 | http://www.bitlbee.org/ |
---|
| 147 | |
---|
| 148 | |
---|
| 149 | A NOTE ON ENCRYPTION |
---|
| 150 | ==================== |
---|
| 151 | |
---|
| 152 | BitlBee stores the accounts and settings (not your contact list though) in |
---|
| 153 | some sort of encrypted/obfuscated format. |
---|
| 154 | |
---|
| 155 | *** THIS IS NOT A SAFE FORMAT! *** |
---|
| 156 | |
---|
| 157 | You should still make sure the rights to the configuration directory and |
---|
| 158 | files are set so that only root and the BitlBee user can read/write them. |
---|
| 159 | |
---|
| 160 | This format is not to prevent malicicous users from running with your |
---|
| 161 | passwords, but to prevent accidental glimpses of the administrators to cause |
---|
| 162 | any harm. You have no choice but to trust root though. |
---|
| 163 | |
---|
| 164 | |
---|
| 165 | LEGAL |
---|
| 166 | ===== |
---|
| 167 | |
---|
| 168 | BitlBee is distributed under the GPL (GNU General Public License). See the |
---|
| 169 | file COPYING for this license. |
---|
| 170 | |
---|
| 171 | Unfortunately some parts of the Gaim Jabber plugin (most notably the XML |
---|
| 172 | code) were licensed under the MPL (Mozilla Public License) version 1.1. We |
---|
| 173 | could not relicense this code under the GPL. As such it is still licensed |
---|
| 174 | under the MPL. The parts of the code to which this applies are marked as |
---|
| 175 | such. |
---|
| 176 | |
---|
| 177 | The MPL is provided in the file MPL-1.1.txt. This license is not GPL |
---|
| 178 | compatible. It is however a free software license. |
---|
| 179 | |
---|
| 180 | Another part (the md5 algorithm) is licensed under the Aladdin license. |
---|
| 181 | This license can be found in the files, to which this applies. |
---|
| 182 | |
---|
| 183 | The Yahoo! library used by BitlBee is libyahoo2 <http://libyahoo2.sf.net/>, |
---|
| 184 | also licensed under the GPL. |
---|
| 185 | |
---|
| 186 | |
---|
| 187 | BitlBee - An IRC to other chat networks gateway |
---|
| 188 | <http://www.bitlbee.org/> |
---|
| 189 | Copyright (C) 2002-2004 Wilmer van der Gaast <wilmer@gaast.net> |
---|
| 190 | and others |
---|