Changeset 722

Show
Ignore:
Timestamp:
10/01/06 21:28:07 (2 years ago)
Author:
bradfitz
Message:

add changes, fix manifest, check in POD i forgot to check in earlier

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/DJabberd/MANIFEST

    r716 r722  
     1djabberd 
     2CHANGES 
     3Makefile.PL 
     4MANIFEST                        This list of files 
     5META.yml 
    16lib/DJabberd.pm 
     7lib/DJabberd/Agent.pm 
     8lib/DJabberd/Agent/Node.pm 
    29lib/DJabberd/Authen.pm 
    310lib/DJabberd/Authen/AllowedUsers.pm 
    411lib/DJabberd/Authen/InMemoryOnly.pm 
    512lib/DJabberd/Authen/StaticPassword.pm 
     13lib/DJabberd/Bot.pm 
     14lib/DJabberd/Bot/Admin.pm 
     15lib/DJabberd/BotContext.pm 
    616lib/DJabberd/Callback.pm 
     17lib/DJabberd/Cluster.pm 
     18lib/DJabberd/ClusterMessage.pm 
     19lib/DJabberd/ClusterMessage/DeliverStanza.pm 
     20lib/DJabberd/Component.pm 
     21lib/DJabberd/Component/Example.pm 
     22lib/DJabberd/Component/External.pm 
     23lib/DJabberd/Component/External/Connection.pm 
     24lib/DJabberd/Component/Node.pm 
    725lib/DJabberd/Connection.pm 
     26lib/DJabberd/Connection/Admin.pm 
    827lib/DJabberd/Connection/ClientIn.pm 
     28lib/DJabberd/Connection/ClusterIn.pm 
     29lib/DJabberd/Connection/ClusterOut.pm 
    930lib/DJabberd/Connection/DialbackVerify.pm 
    1031lib/DJabberd/Connection/OldSSLClientIn.pm 
     
    1233lib/DJabberd/Connection/ServerOut.pm 
    1334lib/DJabberd/Connection/SimpleIn.pm 
    14 lib/DJabberd/Connection/ClusterIn.pm 
     35lib/DJabberd/DNS.pm 
    1536lib/DJabberd/Delivery.pm 
    1637lib/DJabberd/Delivery/Local.pm 
     38lib/DJabberd/Delivery/LocalVHosts.pm 
    1739lib/DJabberd/Delivery/S2S.pm 
    1840lib/DJabberd/DialbackParams.pm 
    19 lib/DJabberd/DNS.pm 
    2041lib/DJabberd/HookDocs.pm 
    2142lib/DJabberd/IQ.pm 
     
    2647lib/DJabberd/Presence.pm 
    2748lib/DJabberd/PresenceChecker.pm 
     49lib/DJabberd/PresenceChecker/Dummy.pm 
    2850lib/DJabberd/PresenceChecker/Local.pm 
     51lib/DJabberd/Queue.pm 
     52lib/DJabberd/Queue/ClusterOut.pm 
    2953lib/DJabberd/Queue/ServerOut.pm 
    3054lib/DJabberd/Roster.pm 
     
    3862lib/DJabberd/Stanza/StartTLS.pm 
    3963lib/DJabberd/Stanza/StreamFeatures.pm 
     64lib/DJabberd/Stats.pm 
    4065lib/DJabberd/StreamStart.pm 
    4166lib/DJabberd/StreamVersion.pm 
     
    4671lib/DJabberd/XMLElement.pm 
    4772lib/DJabberd/XMLParser.pm 
    48 Makefile.PL 
    49 MANIFEST                        This list of files 
    50 META.yml 
    5173t/10-specimpl.t 
    5274t/directed-presence.t 
  • trunk/DJabberd/Makefile.PL

    r704 r722  
    66              VERSION_FROM => 'lib/DJabberd.pm', 
    77              EXE_FILES    => ['djabberd'], 
     8              ABSTRACT_FROM => 'lib/DJabberd.pm', 
    89              PREREQ_PM    => { 
    910                  'Danga::Socket'                => 1.51, 
  • trunk/DJabberd/lib/DJabberd.pm

    r704 r722  
    4242use DJabberd::Util qw(tsub as_bool as_num as_abs_path); 
    4343 
    44 our $VERSION = '0.80'; 
     44our $VERSION = '0.81'; 
    4545 
    4646our $logger = DJabberd::Log->get_logger(); 
     
    547547 
    5485481; 
     549 
     550__END__ 
     551 
     552=head1 NAME 
     553 
     554DJabberd - scalable, extensible Jabber/XMPP server. 
     555 
     556=head1 SYNOPSIS 
     557 
     558 $ djabberd --conf=config-file.conf --daemonize 
     559 
     560=head1 DESCRIPTION 
     561 
     562DJabberd was the answer to LiveJournal's Jabber (XMPP) 
     563server 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 
     575Basically we wanted the swiss army knife of Jabber servers (think 
     576qpsmtpd or mod_perl), but none existed in any language.  While some 
     577popular Jabber servers let us do pluggable auth, none let us get our 
     578hands into roster storage, vcards, avatars, presence, etc. 
     579 
     580So we made DJabberd.  It's a Jabber server where almost everything 
     581defers to hooks to be implemented by plugins.  It does the core spec 
     582itself (including SSL, StartTLS, server-to-server, etc), but it 
     583doesn't come with any way to do authentication or storage or rosters, 
     584etc.  You'll need to go pick up a plugin to do those. 
     585 
     586You should be able to plop DJabberd into your existing systems / 
     587userbase with minimal pain.  Just find a plugin that's close (if a 
     588perfect match doesn't already exist!) and tweak. 
     589 
     590DJabberd is event-based so we can have really low per-connection 
     591memory requirements, smaller than is possible with a threaded jabber 
     592server.  Because of this, all plugins can operate asynchronously, 
     593taking as long as they want to finish their work, or to decline to the 
     594next handler.  (in the meantime, while plugins wait on a response from 
     595whatever they're talking to, the DJabberd event loop continues at full 
     596speed) However, that's more work, so some plugins may choose to 
     597operate synchronously, but they do so with the understanding that 
     598those plugins will cause the whole server to get bogged down.  If 
     599you're running a Jabber server for 5 users, you may not care that the 
     600SQLite authentication backend pauses your server for milliseconds at a 
     601time, but on a site with hundreds of thousands of connections, that 
     602wouldn't be acceptable.  Watch out for those plugins. 
     603 
     604=head1 HACKING 
     605 
     606Read HookDocs.pm, read the major base classes (Authen, RosterStorage, 
     607PresenceChecker), join the mailing list, ask questions ... we're here 
     608to help.  If you want more hooks, let us know!  If we forgot one, it 
     609doesn't hurt us to add more. 
     610 
     611=head1 COPYRIGHT 
     612 
     613This module is Copyright (c) 2006 Six Apart, Ltd. 
     614All rights reserved. 
     615 
     616You may distribute under the terms of either the GNU General Public 
     617License or the Artistic License, as specified in the Perl README file. 
     618 
     619=head1 WARRANTY 
     620 
     621This is free software. IT COMES WITHOUT WARRANTY OF ANY KIND. 
     622 
     623=head1 WEBSITE 
     624 
     625Visit: 
     626 
     627   http://danga.com/djabberd/ 
     628 
     629=head1 AUTHORS 
     630 
     631Brad Fitzpatrick <brad@danga.com> 
     632 
     633Artur Bergman <sky@crucially.net> 
     634 
     635Jonathan Steinert <jsteinert@sixapart.com> 
     636 
  • trunk/DJabberd/t/lib/djabberd-test.pl

    r714 r722  
    88use DJabberd::TestSAXHandler; 
    99use DJabberd::RosterStorage::InMemoryOnly; 
    10 use DJabberd::Plugin::MUC; 
    1110use DJabberd::Util; 
    1211use IO::Socket::UNIX;