source: doc/README @ f06894d

Last change on this file since f06894d was 08cdb93, checked in by Wilmer van der Gaast <wilmer@…>, at 2006-08-14T13:25:05Z

Updated the note about encryption in the README file.

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