### standard jabber client port number
ClientPort 5222

### server to server delivery port number
ServerPort 5269

### server admin port
AdminPort 5200

### the name of your vhost. Clients must connect with the string:
### username@demo.localhost
<VHost demo.localhost>

    ### Note that the order of defining plugins matters; Their respective
    ### ->register() methods are called in the order the classes are 
    ### read, which means if any callbacks are registered, they are executed
    ### also in that order. 
    ### This is double important if a callback stops the chain; all callbacks
    ### registered after that one will not be executed!
    
    ### A base plugin to set up the demo application. 
    ### It sets the below bot to be your buddy at
    ### start up, and intercept any messages sent
    ### to the bot so it can answer them
    <Plugin DJabberd::Plugin::Demo />

    ### PLAIN and LOGIN send user's password in clear, 
    ### you should really use that only if you also enable StartTLS
    <Plugin DJabberd::SASL::AuthenSASL>
        Optional   No
        Mechanisms PLAIN LOGIN DIGEST-MD5
    </Plugin>

    ### this loads a bot that will echo back everything
    ### you tell it. 'Nodename' is the userid, 'name' is
    ### the pretty printed name you'll see in the buddy list
    <Plugin DJabberd::Bot::Demo>
        nodename    EchoBot
        name        Echo Bot
    </Plugin>        

    ### The buddy list is called a 'Roster', and it can
    ### be stored in different ways. InMemoryOnly is not
    ### persistant between runs. You can use the SQLite
    ### one instead by uncommenting it, and commenting
    ### out InMemoryOnly
    #<Plugin DJabberd::RosterStorage::InMemoryOnly />
     <Plugin DJabberd::RosterStorage::SQLite>
         Database roster.sqlite
     </Plugin> 

    ### A fixed list of allowed users. You can use different
    ### authen schemes as well. See for example an authentication
    ### implemented against livejournal:
    ### http://code.sixapart.com/svn/djabberd/trunk/DJabberd-LiveJournal/
    <Plugin DJabberd::Authen::AllowedUsers>
        policy          deny
        allowedusers    partya partyb
    </Plugin>        

    ### this sets one master password (secret) for all users.
    <Plugin DJabberd::Authen::StaticPassword>
        password secret
    </Plugin>
    
    ### Delivery methods. Basic users need not worry about this.
    <Plugin DJabberd::Delivery::Local />
    <Plugin DJabberd::Delivery::S2S />
    
</VHost>