• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

bench/H13-Jun-2011-8463

bin/H13-Jun-2011-9667

debian/H13-Jun-2011-222156

demo/H13-Jun-2011-288102

dev/H13-Jun-2011-593435

doc/H03-May-2022-11075

etc/H13-Jun-2011-179

examples/H13-Jun-2011-302210

lib/H13-Jun-2011-12,0097,989

t/H13-Jun-2011-2,7102,040

CHANGESH A D13-Jun-20115.1 KiB14295

MANIFESTH A D13-Jun-20113.9 KiB159158

MANIFEST.SKIPH A D13-Jun-2011373 3024

META.ymlH A D13-Jun-2011800 3130

Makefile.PLH A D13-Jun-2011939 2321

READMEH A D13-Jun-20112.7 KiB8354

djabberdH A D13-Jun-20112.9 KiB10470

README

1This is the README file for DJabberd, a scalable, extensible Jabber/XMPP server.
2
3Please refer to 'perldoc DJabberd' after installation for details.
4
5#####################################################################
6
7* Description
8
9DJabberd was the answer to LiveJournal's Jabber (XMPP) server needs.
10We needed:
11
12* good performance for tons of connected users
13* ability to scale to multiple nodes
14* ability to hook into LiveJournal at all places, not just auth
15
16Basically we wanted the swiss army knife of Jabber servers (think
17qpsmtpd or mod_perl), but none existed in any language.  While some
18popular Jabber servers let us do pluggable auth, none let us get our
19hands into roster storage, vcards, avatars, presence, etc.
20
21So we made DJabberd.  It's a Jabber server where almost everything
22defers to hooks to be implemented by plugins.  It does the core spec
23itself (including SSL, StartTLS, server-to-server, etc), but it doesn't
24come with any way to do authentication or storage or rosters, etc.
25You'll need to go pick up a plugin to do those.
26
27You should be able to plop DJabberd into your existing systems / user-
28base with minimal pain.  Just find a plugin that's close (if a perfect
29match doesn't already exist!) and tweak.
30
31#####################################################################
32
33* Installation
34
35DJabberd follows the standard perl module install process
36
37perl Makefile.PL
38make
39make test
40make install
41
42The module uses no C or XS parts, so no c-compiler is required.
43
44######################################################################
45
46* Documentation
47
48The documentation for DJabberd is somewhat lacking. Although 'perldoc
49DJabberd' will give you the basics, and pointers for hackers, the best
50way to get started is by delving into a demo application.
51
52In the demo/ directory, you'll find a fully functional demo application,
53which consists of:
54
55  * A running server
56  * 2 pre-configured clients
57  * An echo bot that is on all clients' roster
58
59The demo application is heavily commented, and it's suggested you read
60through the source code & comments to understand how it works.
61
62Start by reading the demo/demo.conf file, and follow the classnames
63from there.
64
65To start the server, type the following commands from the same directory
66as this README:
67
68  perl -Ilib -Idemo/lib djabberd --conffile demo/demo.conf
69
70You can now connect to it using the standard jabber ports on your localhost.
71Read the demo/demo.conf file for additional notes.
72
73For extra diagnostics from the server, you can increase the debuglevel
74by setting the following environment variable:
75
76  set LOGLEVEL=DEBUG
77
78
79In the examples/ directory there's an example djabberd.conf
80configuration file and the 'sixatalk' program.  'sixatalk' is an
81example djabberd based server integrating with an LDAP directory.
82
83