Changeset 722
- Timestamp:
- 10/01/06 21:28:07 (2 years ago)
- Files:
-
- trunk/DJabberd/CHANGES (added)
- trunk/DJabberd/MANIFEST (modified) (5 diffs)
- trunk/DJabberd/Makefile.PL (modified) (1 diff)
- trunk/DJabberd/lib/DJabberd.pm (modified) (2 diffs)
- trunk/DJabberd/t/lib/djabberd-test.pl (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/DJabberd/MANIFEST
r716 r722 1 djabberd 2 CHANGES 3 Makefile.PL 4 MANIFEST This list of files 5 META.yml 1 6 lib/DJabberd.pm 7 lib/DJabberd/Agent.pm 8 lib/DJabberd/Agent/Node.pm 2 9 lib/DJabberd/Authen.pm 3 10 lib/DJabberd/Authen/AllowedUsers.pm 4 11 lib/DJabberd/Authen/InMemoryOnly.pm 5 12 lib/DJabberd/Authen/StaticPassword.pm 13 lib/DJabberd/Bot.pm 14 lib/DJabberd/Bot/Admin.pm 15 lib/DJabberd/BotContext.pm 6 16 lib/DJabberd/Callback.pm 17 lib/DJabberd/Cluster.pm 18 lib/DJabberd/ClusterMessage.pm 19 lib/DJabberd/ClusterMessage/DeliverStanza.pm 20 lib/DJabberd/Component.pm 21 lib/DJabberd/Component/Example.pm 22 lib/DJabberd/Component/External.pm 23 lib/DJabberd/Component/External/Connection.pm 24 lib/DJabberd/Component/Node.pm 7 25 lib/DJabberd/Connection.pm 26 lib/DJabberd/Connection/Admin.pm 8 27 lib/DJabberd/Connection/ClientIn.pm 28 lib/DJabberd/Connection/ClusterIn.pm 29 lib/DJabberd/Connection/ClusterOut.pm 9 30 lib/DJabberd/Connection/DialbackVerify.pm 10 31 lib/DJabberd/Connection/OldSSLClientIn.pm … … 12 33 lib/DJabberd/Connection/ServerOut.pm 13 34 lib/DJabberd/Connection/SimpleIn.pm 14 lib/DJabberd/ Connection/ClusterIn.pm35 lib/DJabberd/DNS.pm 15 36 lib/DJabberd/Delivery.pm 16 37 lib/DJabberd/Delivery/Local.pm 38 lib/DJabberd/Delivery/LocalVHosts.pm 17 39 lib/DJabberd/Delivery/S2S.pm 18 40 lib/DJabberd/DialbackParams.pm 19 lib/DJabberd/DNS.pm20 41 lib/DJabberd/HookDocs.pm 21 42 lib/DJabberd/IQ.pm … … 26 47 lib/DJabberd/Presence.pm 27 48 lib/DJabberd/PresenceChecker.pm 49 lib/DJabberd/PresenceChecker/Dummy.pm 28 50 lib/DJabberd/PresenceChecker/Local.pm 51 lib/DJabberd/Queue.pm 52 lib/DJabberd/Queue/ClusterOut.pm 29 53 lib/DJabberd/Queue/ServerOut.pm 30 54 lib/DJabberd/Roster.pm … … 38 62 lib/DJabberd/Stanza/StartTLS.pm 39 63 lib/DJabberd/Stanza/StreamFeatures.pm 64 lib/DJabberd/Stats.pm 40 65 lib/DJabberd/StreamStart.pm 41 66 lib/DJabberd/StreamVersion.pm … … 46 71 lib/DJabberd/XMLElement.pm 47 72 lib/DJabberd/XMLParser.pm 48 Makefile.PL49 MANIFEST This list of files50 META.yml51 73 t/10-specimpl.t 52 74 t/directed-presence.t trunk/DJabberd/Makefile.PL
r704 r722 6 6 VERSION_FROM => 'lib/DJabberd.pm', 7 7 EXE_FILES => ['djabberd'], 8 ABSTRACT_FROM => 'lib/DJabberd.pm', 8 9 PREREQ_PM => { 9 10 'Danga::Socket' => 1.51, trunk/DJabberd/lib/DJabberd.pm
r704 r722 42 42 use DJabberd::Util qw(tsub as_bool as_num as_abs_path); 43 43 44 our $VERSION = '0.8 0';44 our $VERSION = '0.81'; 45 45 46 46 our $logger = DJabberd::Log->get_logger(); … … 547 547 548 548 1; 549 550 __END__ 551 552 =head1 NAME 553 554 DJabberd - scalable, extensible Jabber/XMPP server. 555 556 =head1 SYNOPSIS 557 558 $ djabberd --conf=config-file.conf --daemonize 559 560 =head1 DESCRIPTION 561 562 DJabberd was the answer to LiveJournal's Jabber (XMPP) 563 server needs. We needed: 564 565 =over 4 566 567 =item * good performance for tons of connected users 568 569 =item * ability to scale to multiple nodes 570 571 =item * ability to hook into LiveJournal at all places, not just auth 572 573 =back 574 575 Basically we wanted the swiss army knife of Jabber servers (think 576 qpsmtpd or mod_perl), but none existed in any language. While some 577 popular Jabber servers let us do pluggable auth, none let us get our 578 hands into roster storage, vcards, avatars, presence, etc. 579 580 So we made DJabberd. It's a Jabber server where almost everything 581 defers to hooks to be implemented by plugins. It does the core spec 582 itself (including SSL, StartTLS, server-to-server, etc), but it 583 doesn't come with any way to do authentication or storage or rosters, 584 etc. You'll need to go pick up a plugin to do those. 585 586 You should be able to plop DJabberd into your existing systems / 587 userbase with minimal pain. Just find a plugin that's close (if a 588 perfect match doesn't already exist!) and tweak. 589 590 DJabberd is event-based so we can have really low per-connection 591 memory requirements, smaller than is possible with a threaded jabber 592 server. Because of this, all plugins can operate asynchronously, 593 taking as long as they want to finish their work, or to decline to the 594 next handler. (in the meantime, while plugins wait on a response from 595 whatever they're talking to, the DJabberd event loop continues at full 596 speed) However, that's more work, so some plugins may choose to 597 operate synchronously, but they do so with the understanding that 598 those plugins will cause the whole server to get bogged down. If 599 you're running a Jabber server for 5 users, you may not care that the 600 SQLite authentication backend pauses your server for milliseconds at a 601 time, but on a site with hundreds of thousands of connections, that 602 wouldn't be acceptable. Watch out for those plugins. 603 604 =head1 HACKING 605 606 Read HookDocs.pm, read the major base classes (Authen, RosterStorage, 607 PresenceChecker), join the mailing list, ask questions ... we're here 608 to help. If you want more hooks, let us know! If we forgot one, it 609 doesn't hurt us to add more. 610 611 =head1 COPYRIGHT 612 613 This module is Copyright (c) 2006 Six Apart, Ltd. 614 All rights reserved. 615 616 You may distribute under the terms of either the GNU General Public 617 License or the Artistic License, as specified in the Perl README file. 618 619 =head1 WARRANTY 620 621 This is free software. IT COMES WITHOUT WARRANTY OF ANY KIND. 622 623 =head1 WEBSITE 624 625 Visit: 626 627 http://danga.com/djabberd/ 628 629 =head1 AUTHORS 630 631 Brad Fitzpatrick <brad@danga.com> 632 633 Artur Bergman <sky@crucially.net> 634 635 Jonathan Steinert <jsteinert@sixapart.com> 636 trunk/DJabberd/t/lib/djabberd-test.pl
r714 r722 8 8 use DJabberd::TestSAXHandler; 9 9 use DJabberd::RosterStorage::InMemoryOnly; 10 use DJabberd::Plugin::MUC;11 10 use DJabberd::Util; 12 11 use IO::Socket::UNIX;
