Commit 4330808e authored by Gaston Dombiak's avatar Gaston Dombiak Committed by gato

Refactoring work. Name changed.

git-svn-id: http://svn.igniterealtime.org/svn/repos/wildfire/trunk@7655 b35dd754-fafc-0310-a699-88a17e54d16e
parent 0bff500e
This diff is collapsed.
......@@ -77,7 +77,7 @@ static bool wildfireIsRunning()
}
}
static void toggleStartWildfireAtBoot()
static void toggleStartOpenfireAtBoot()
{
CFURLRef propFile = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
CFSTR("/Library/LaunchDaemons/org.jivesoftware.wildfire.plist"),
......@@ -108,7 +108,7 @@ static void toggleStartWildfireAtBoot()
CFQRelease(propFile);
}
static void toggleWildfire()
static void toggleOpenfire()
{
char *args[4];
args[0] = "launchctl";
......@@ -126,14 +126,14 @@ int main(int inArgsCount, char * const inArgs[])
{
char* selfPath = NULL;
int err = GetPathToSelf(&selfPath);
const char* correctPath = "/Library/PreferencePanes/Wildfire.prefPane/Contents/MacOS/HelperTool";
const char* correctPath = "/Library/PreferencePanes/Openfire.prefPane/Contents/MacOS/HelperTool";
if(err == 0 && strncmp(correctPath, selfPath, strlen(correctPath)) == 0) {
setuid(0);
if(inArgs[1] && strlen(inArgs[1]) == strlen("boot") && strncmp("boot", inArgs[1], strlen("boot")) == 0) {
toggleStartWildfireAtBoot();
toggleStartOpenfireAtBoot();
} else {
toggleWildfire();
toggleOpenfire();
}
}
......
//
// wildfirePrefPane.h
// Preference panel for Wildfire
// Preference panel for Openfire
//
// Created by Daniel Henninger on 7/7/06.
// Copyright (c) 2006 Jive Software. All rights reserved.
......@@ -13,7 +13,7 @@
#import <SecurityInterface/SFAuthorizationView.h>
#include <unistd.h>
// 'ps' command to use to check for running wildfire daemon
// 'ps' command to use to check for running openfire daemon
char *pscmd = "/bin/ps auxww | fgrep -v 'fgrep' | fgrep wildfire/lib/startup.jar";
// The path to the plist file
......
......@@ -2,13 +2,13 @@
<html>
<head>
<title>Wildfire License: GPL</title>
<title>Openfire License: GPL</title>
</head>
<body>
<pre>
Please see README.html for full licensing terms for Wildfire.
Please see README.html for full licensing terms for Openfire.
---------------------------------------------------------------------
GNU GENERAL PUBLIC LICENSE
......
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire Readme</title>
<title>Openfire Readme</title>
<style type="text/css">
/* global font and body settings */
body {
......@@ -153,7 +153,7 @@ hr {
<div id="pageContainer">
<div id="pageHeader">
<h1>Wildfire Readme</h1>
<h1>Openfire Readme</h1>
</div>
<div class="navigation">
<a href="README.html"><strong>Readme</strong></a>|<a href="changelog.html">Changelog</a>|<a href="LICENSE.html">License</a>
......@@ -176,14 +176,14 @@ hr {
<br>
<p>
Thank you for downloading Wildfire!
Thank you for downloading Openfire!
<p>
Wildfire is an instant messaging (IM) and groupchat server that uses the
XMPP protocol. Start off by viewing the <a href="documentation/index.html"><strong>Wildfire Documentation</strong></a>
Openfire is an instant messaging (IM) and groupchat server that uses the
XMPP protocol. Start off by viewing the <a href="documentation/index.html"><strong>Openfire Documentation</strong></a>
that can be found in the "documentation" directory included with this distribution.
<p>
Further information can be found on the <a href="http://www.igniterealtime.org/projects/wildfire/">
Wildfire website</a>.
Openfire website</a>.
<h2>Changelog</h2>
......@@ -192,35 +192,35 @@ last release.
<h2>Support</h2>
Free support is provided by the Wildfire community in the
Free support is provided by the Openfire community in the
<a href="http://www.igniterealtime.org/forum/index.jspa">online forums</a>. Commercial
support (email and phone) from Jive Software is
<a href="http://www.igniterealtime.org/projects/wildfire/">also available</a>.
<h2>License Agreements</h2>
The Wildfire source code is governed by the GNU Public License (GPL), which
The Openfire source code is governed by the GNU Public License (GPL), which
can be found in the <a href="LICENSE.html">LICENSE.html</a> file in this distribution.
Wildfire also contains Open Source software from third-parties.
Openfire also contains Open Source software from third-parties.
Licensing terms for those components is specifically noted in the relevant source
files.<p>
Wildfire contains icons and images licensed from INCORS GmbH. All other
images are owned by Jive Software. All icons and images in Wildfire
Openfire contains icons and images licensed from INCORS GmbH. All other
images are owned by Jive Software. All icons and images in Openfire
are provided under the following license agreement:
<pre>
License Agreement
This is a legal agreement between You, the User of the Wildfire application
This is a legal agreement between You, the User of the Openfire application
("The Software"), and Jive Software ("Jive Software"). By downloading the Software,
you agree to be bound by the terms of this agreement.
All ownership and copyright of the images and icons included in the Software
distribution remain the property of Jive Software and INCORS GmbH. Jive Software
grants to you a nonexclusive, non-sublicensable right to use the icons royalty-free
as part of Wildfire.
as part of Openfire.
You may not lease, license or sub-license the icons, or a subset of the icons,
or any modified icons to any third party. You may not incorporate them into your
......
This diff is collapsed.
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire: Database Schema Guide</title>
<title>Openfire: Database Schema Guide</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
......@@ -23,7 +23,7 @@
<h2>Introduction</h2>
<p>
This document outlines the data type conventions and tables in the Wildfire database schema.
This document outlines the data type conventions and tables in the Openfire database schema.
Some information, like column indexes and foreign keys, is omitted. For this, please read
the individual schema of the database you're interested in.
......@@ -32,7 +32,7 @@ the individual schema of the database you're interested in.
<h2>Data Type Conventions</h2>
<p>
Date column type support varies widely across databases. Therefore,
Wildfire specially encodes dates as VARCHAR values. Each date is a Java long
Openfire specially encodes dates as VARCHAR values. Each date is a Java long
value which is 0-padded to 15 characters. The long value is the internal
representation of Java Date objects, which can be obtained with code such as the
following:
......@@ -43,7 +43,7 @@ Boolean values are always represented a numeric values: 0 for false and 1 for tr
</p>
<h2>Database Tables</h2>
<p>
Below is a description of each of the tables in the Wildfire
Below is a description of each of the tables in the Openfire
database schema.
A <span class="primary-key">yellow row</span> denotes a primary key.
......@@ -675,18 +675,12 @@ roster)</th>
<td>User Name (Primary Key)</td>
</tr>
<tr class="primary-key">
<td>name</td>
<td>VARCHAR</td>
<td>100</td>
<td>Name of the vCard entry (Primary Key)</td>
</tr>
<tr>
<td>propValue</td>
<td>TEXT</td>
<td>n/a</td>
<td>Value of the vCard entry</td>
<td>value</td>
<td>TEXT</td>
<td>n/a</td>
<td>Value of the vCard entry</td>
</tr>
</tbody>
......@@ -754,7 +748,7 @@ roster)</th>
<td>TEXT</td>
<td>n/a</td>
<td>Value of the vCard entry</td>
<td>Value of the entry</td>
</tr>
</tbody>
</table>
......@@ -934,7 +928,7 @@ roster)</th>
</tr>
<tr>
<td>invitationRequired</td>
<td>membersOnly</td>
<td>NUMBER</td>
<td>n/a</td>
<td>Flag indicating whether the room is members-only or not</td>
......
This diff is collapsed.
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire: Custom Database Integration Guide</title>
<title>Openfire: Custom Database Integration Guide</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
......@@ -24,16 +24,16 @@
<h2>Introduction</h2>
<p>
This document provides instructions for integrating Wildfire authentication, users, and
This document provides instructions for integrating Openfire authentication, users, and
groups with your custom database tables. This is useful when your users already have
accounts in an external system and you do not wish to duplicate those accounts in Wildfire.
accounts in an external system and you do not wish to duplicate those accounts in Openfire.
If your user information is available via an LDAP directory rather than custom database
tables, see the <a href="ldap-guide.html">LDAP guide</a>.
</p>
<p>
Simple integration with a custom database lets users authenticate using their existing
username and password. Optionally, you can configure Wildfire to load user profile and
group information from your custom database. Any group in Wildfire can be designated
username and password. Optionally, you can configure Openfire to load user profile and
group information from your custom database. Any group in Openfire can be designated
as a shared group, which means that you can pre-populate user's rosters using groups.
</p>
......@@ -42,7 +42,7 @@
<p>
The integration requires that you enter customized database queries to access your
database. You'll need to be familiar with your database table structure and simple SQL.
Your custom database can be a different database on a different server from the Wildfire
Your custom database can be a different database on a different server from the Openfire
database -- you'll enter database connection information as part of the configuration.
</p>
......@@ -51,11 +51,11 @@
<p>
In order to configure your server to integrate with your custom database tables:
<ol>
<li>Stop Wildfire.</li>
<li>Edit <tt>conf/wildfire.xml</tt> in your Wildfire installation folder as
<li>Stop Openfire.</li>
<li>Edit <tt>conf/openfire.xml</tt> in your Openfire installation folder as
described below using your favorite editor.
</li>
<li>Restart Wildfire.</li>
<li>Restart Openfire.</li>
</ol>
</p>
......@@ -67,8 +67,8 @@
</p>
<ul>
<li>jdbcProvider.driver -- the class name of the JDBC driver used to connect to your
custom database. The driver must also be in the Wildfire classpath (for example, by
placing it into the "lib/" directory of your Wildfire installation. See the
custom database. The driver must also be in the Openfire classpath (for example, by
placing it into the "lib/" directory of your Openfire installation. See the
<a href="database.html">database guide</a> for common driver names for major databases.
</li>
<li>jdbcProvider.connectionString -- the full connection string for the database. Please
......@@ -150,7 +150,7 @@
<h3>User Integration</h3>
<p>Optionally, Wildfire can load user data from your custom database. If you enable user integration
<p>Optionally, Openfire can load user data from your custom database. If you enable user integration
you must also enable authentication integration (see above). Use the following settings to
enable user integration.</p>
......@@ -204,7 +204,7 @@ enable user integration.</p>
<h3>Group Integration</h3>
<p>Wildfire can load group data from your custom database. If you enable group integration
<p>Openfire can load group data from your custom database. If you enable group integration
you must also enable authentication integration; you'll also likely want to enable user
integration (see above). Use the following settings to enable group integration.</p>
......
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire: Overview</title>
<title>Openfire: Overview</title>
<link type="text/css" rel="stylesheet" href="style.css">
</head>
<body>
......@@ -11,7 +11,7 @@
<div id="pageHeader">
<div id="logo"></div>
<h1>Wildfire @version@</h1>
<h1>Openfire @version@</h1>
</div>
<div class="navigation">
</div>
......@@ -19,7 +19,7 @@
<div id="pageBody">
<p>
Wildfire provides comprehensive group chat and instant
Openfire provides comprehensive group chat and instant
messaging (IM) services using the XMPP protocol.
</p>
......@@ -28,27 +28,27 @@ messaging (IM) services using the XMPP protocol.
<ul>
<li>
<a href="install-guide.html">Installation Guide</a> -
How to install Wildfire.
How to install Openfire.
</li>
<li>
<a href="http://wiki.igniterealtime.org/display/WILDFIRE/Wildfire+Upgrade+Guide">Upgrade Guide</a> -
Instructions for upgrading an existing Wildfire installation.
Instructions for upgrading an existing Openfire installation.
</li>
<li>
<a href="database.html">Database Installation Guide</a> -
How to setup your database for use with Wildfire.
How to setup your database for use with Openfire.
</li>
<li>
<a href="ssl-guide.html">SSL Guide</a> -
A guide to setting up Wildfire's SSL secure socket support.
A guide to setting up Openfire's SSL secure socket support.
</li>
<li>
<a href="ldap-guide.html">LDAP Guide</a> -
A guide to setting up Wildfire to work with LDAP user stores.
A guide to setting up Openfire to work with LDAP user stores.
</li>
<li>
<a href="db-integration-guide.html">Custom Database Integration Guide</a> -
A guide to integrating Wildfire authentication, user, and group data with a custom database.
A guide to integrating Openfire authentication, user, and group data with a custom database.
</li>
</ul>
......@@ -57,34 +57,34 @@ messaging (IM) services using the XMPP protocol.
<ul>
<li>
<a href="javadoc/index.html">JavaDocs</a> -
Wildfire API documentation.
Openfire API documentation.
</li>
<li>
<a href="source-build.html">Building the Source</a> -
Instructions for downloading and compiling the Wildfire source code.
Instructions for downloading and compiling the Openfire source code.
</li>
<li>
<a href="protocol-support.html">Protocol Support</a> -
Provides details on the XMPP support and JEPs that Wildfire implements.
Provides details on the XMPP support and JEPs that Openfire implements.
</li>
<li>
<a href="plugin-dev-guide.html">Plugin Developer Guide</a> -
A guide to writing and installing plugins for Wildfire.
A guide to writing and installing plugins for Openfire.
</li>
<li>
<a href="translator-guide.html">Translator Guide</a> -
Information for those interested in translating the admin console of Wildfire into other languages.
Information for those interested in translating the admin console of Openfire into other languages.
</li>
<li>
<a href="database-guide.html">Database Schema Guide</a> -
A tour of the Wildfire database schema for developers and database administrators.
A tour of the Openfire database schema for developers and database administrators.
</li>
</ul>
<br>
<p>
An active support community for Wildfire is available at
An active support community for Openfire is available at
<a href="http://www.igniterealtime.org/forum/index.jspa">http://www.igniterealtime.org/forum/index.jspa</a>.
</p>
......
This diff is collapsed.
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire: LDAP Guide</title>
<title>Openfire: LDAP Guide</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
......@@ -24,11 +24,11 @@
<h2>Introduction</h2>
<p>
This document details how to configure your Wildfire installation to use
This document details how to configure your Openfire installation to use
an external directory such as Open LDAP or Active Directory. Integration with a directory
lets users authenticate using their directory username and password. Optionally, you can
configure Wildfire to load user profile and group information from the directory. Any group in
Wildfire can be designated as a shared group, which means that you can pre-populate user's
configure Openfire to load user profile and group information from the directory. Any group in
Openfire can be designated as a shared group, which means that you can pre-populate user's
rosters using directory groups.
</p>
......@@ -46,28 +46,28 @@
</p>
<p>
By default, Wildfire stores all user data in its database and performs
By default, Openfire stores all user data in its database and performs
authentication using database lookups. The LDAP module replaces that
functionality and allows Wildfire to:
functionality and allows Openfire to:
<ul>
<li>Use a LDAP server to authenticate a user's identity.</li>
<li>Load user profile information from a LDAP directory.</li>
<li>Load group information from an LDAP directory.</li>
</ul>
<b>Note:</b> Wildfire treats the LDAP directory as read-only.
<b>Note:</b> Openfire treats the LDAP directory as read-only.
</p>
<p>
This document will guide you through configuring LDAP support in Wildfire. These
This document will guide you through configuring LDAP support in Openfire. These
instructions assume that you're a competent LDAP user, and that you're familiar
with Wildfire setup issues.
with Openfire setup issues.
</p>
<h2>Configuration</h2>
<p>
The Wildfire setup tool includes an easy to use LDAP setup wizard.
The Openfire setup tool includes an easy to use LDAP setup wizard.
Choose the LDAP option on the Profile Settings page to configure directory integration.
The wizard along with in-line help will guide you through the rest of the process.
<a href="#activedirectory">Specific tips</a> for working with Active Directory are noted below.
......@@ -80,13 +80,13 @@
<ol>
<li>
Stop Wildfire.
Stop Openfire.
</li>
<li>Edit <tt>conf/wildfire.xml</tt> in your Wildfire installation folder and set
<li>Edit <tt>conf/openfire.xml</tt> in your Openfire installation folder and set
&lt;setup&gt;true&lt;/setup&gt; to &lt;setup&gt;false&lt;/setup&gt;.
</li>
<li>
Restart Wildfire and enter the setup tool.
Restart Openfire and enter the setup tool.
</li>
</ol>
......@@ -131,7 +131,7 @@ servers, some of which are detailed below:
<p>
If you prefer to edit the configuration file to enable LDAP integration directly, use the following
instructions. Open the configuration file <tt>conf/wildfire.xml</tt> from your Wildfire
instructions. Open the configuration file <tt>conf/openfire.xml</tt> from your Openfire
installation in your favorite
editor and add or change the following settings. Properties flagged with (<font color="red">
<b>*</b></font>)
......@@ -171,7 +171,7 @@ servers, some of which are detailed below:
performed
with this account. The admin must be able to perform searches and load user records. The
user does
not need to be able to make changes to the directory, as Wildfire treats the
not need to be able to make changes to the directory, as Openfire treats the
directory as read-only.
If this property is not set, an anonymous login to the server will be attempted.
</li>
......@@ -204,7 +204,7 @@ servers, some of which are detailed below:
installation is "(objectClass=organizationalPerson)". When combined with the default
filter, the actual search executed would be
"(&(sAMAccountName={0})(objectClass=organizationalPerson))".</li>
<li>ldap.subTreeSearch -- by default, Wildfire will search the entire LDAP sub-tree (starting
<li>ldap.subTreeSearch -- by default, Openfire will search the entire LDAP sub-tree (starting
at the base DN) when trying to load users. If this property is set to <tt>false</tt>, then
sub-tree searching is disabled and users will only be loaded directly from the base DN.
Disabling sub-tree can improve performance, but it will fail to find users if your directory
......@@ -327,7 +327,7 @@ servers, some of which are detailed below:
<p><a name=""><h2>Custom Search Filter</h2></a></p>
<p>By default, Wildfire will load all objects under the baseDN that
<p>By default, Openfire will load all objects under the baseDN that
have the attribute specified by <tt>ldap.usernameField</tt>. In the
case that the username field is set to "uid", the search for all users
would be "(uid=*)". However, there are cases when this logic does
......@@ -345,7 +345,7 @@ servers, some of which are detailed below:
loading the list of all users or a username when loading a single user.</p>
<p>Some custom search filters may include reserved XML entities such as
"&". In that case, you must enter the search filter into the wildfire.xml
"&". In that case, you must enter the search filter into the openfire.xml
file using CDATA:
<pre>&lt;searchFilter&gt;&lt;![CDATA[(&(sAMAccountName={0})(|(givenName=GEORGE)(givenName=admin)))]]&gt;&lt;/searchFilter&gt;</pre>
......@@ -356,7 +356,7 @@ servers, some of which are detailed below:
Some LDAP servers or application servers may require that a different LDAP
initial context factory be used rather than the default (com.sun.jndi.ldap.LdapCtxFactory).
You can set a custom initial context factory by adding the following to wildfire.xml:
You can set a custom initial context factory by adding the following to openfire.xml:
<pre>
&lt;ldap&gt;
......@@ -412,7 +412,7 @@ clients that support the XMPP vCard extension. First, enable the provider:</p>
&lt;/provider&gt;
</pre>
<p>Next, you must add mappings between LDAP fields and vCard fields in the wildfire.xml file.
<p>Next, you must add mappings between LDAP fields and vCard fields in the openfire.xml file.
The vcard attributes are configured by adding an attrs="attr1,attr2" attribute to the vcard
elements. Arbitrary text can be used for the element values as well as MessageFormat style
placeholders for the ldap attributes. For example, if you wanted to map the LDAP attribute
......@@ -478,8 +478,8 @@ clients that support the XMPP vCard extension. First, enable the provider:</p>
<p>
<b>Can I create new users through Wildfire when using LDAP?</b>
<ul>No, Wildfire treats LDAP directories as read-only. Therefore, it's
<b>Can I create new users through Openfire when using LDAP?</b>
<ul>No, Openfire treats LDAP directories as read-only. Therefore, it's
not possible to create or edit users through the application.</ul>
<b>Why is the list of usernames not sorted in the admin console when using LDAP?</b>
......@@ -502,7 +502,7 @@ clients that support the XMPP vCard extension. First, enable the provider:</p>
You can also enable debugging to get more information from the LDAP module. To
do this, add &lt;log&gt;&lt;debug&gt;&lt;enabled&gt;true&lt;/enabled&gt;&lt;/debug&gt;&lt;/log&gt;
to your <tt>conf/wildfire.xml</tt> file. Log statements will be written
to your <tt>conf/openfire.xml</tt> file. Log statements will be written
to the <tt>logs/debug.log</tt> file.
</ul>
......
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire: Plugin Developer Guide</title>
<title>Openfire: Plugin Developer Guide</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
......@@ -13,7 +13,7 @@
<div id="pageHeader">
<div id="logo"></div>
<h1>Wildfire Plugin Developer Guide</h1>
<h1>Openfire Plugin Developer Guide</h1>
</div>
<div class="navigation">
<a href="index.html">&laquo; Back to documentation index</a>
......@@ -25,14 +25,14 @@
<h2>Introduction</h2>
<p>
Plugins enhance the functionality of Wildfire. This document is a
Plugins enhance the functionality of Openfire. This document is a
developer's guide for creating plugins.
</p>
<h2>Structure of a Plugin</h2>
<p>
Plugins live in the <tt>plugins</tt> directory of <tt>wildfireHome</tt>. When a plugin
Plugins live in the <tt>plugins</tt> directory of <tt>openfireHome</tt>. When a plugin
is deployed as a JAR or WAR file, it is automatically expanded into a directory. The files in a
plugin directory are as follows:
......@@ -60,7 +60,7 @@ plugin directory are as follows:
</fieldset>
<p>The <tt>web</tt> directory exists for plugins that need to add content
to the Wildfire Admin Console. Further details are below.</p>
to the Openfire Admin Console. Further details are below.</p>
<p>
The <tt>plugin.xml</tt> file specifies the main Plugin class. A sample
......@@ -106,8 +106,8 @@ file might look like the following:
as 07/01/2006.</li>
<li>url -- a URL where additional information about the plugin is available.</li>
<li>minServerVersion -- the minimum version of Wildfire required
to run the plugin (supported by Wildfire 2.1.2 and later). If the
<li>minServerVersion -- the minimum version of Openfire required
to run the plugin (supported by Openfire 2.1.2 and later). If the
server version is less than the required value, the plugin will not be started.</li>
<li>databaseKey -- if the plugin requires it's own database tables, the databaseKey element should
be set with a schema key name (often the same name as the plugin). Database
......@@ -159,7 +159,7 @@ end-users (all placed in the main plugin directory):
<p>Your plugin class must be implement the
<tt><a href="javadoc/org/jivesoftware/wildfire/container/Plugin.html">Plugin</a></tt>
interface from the <a href="javadoc/index.html">Wildfire API</a> as
interface from the <a href="javadoc/index.html">Openfire API</a> as
well as have a default (no argument) contructor. The Plugin interface has
methods for initializing and destroying the plugin.
</p>
......@@ -175,7 +175,7 @@ import org.jivesoftware.wildfire.container.PluginManager;
import java.io.File;
/**
* A sample plugin for Wildfire.
* A sample plugin for Openfire.
*/
public class ExamplePlugin implements Plugin {
......@@ -204,7 +204,7 @@ are a several steps to accomplishing this:
<li>JSP files must be compiled and put into the classpath of the
plugin. A <tt>web.xml</tt> file containing the compiled JSP
servlet entries must be put into the <tt>web/</tt> directory
of the plugin. <i>Note:</i> the Wildfire build script
of the plugin. <i>Note:</i> the Openfire build script
can assist with compiling JSPs and creating the web.xml. This
is detailed below.
</li>
......@@ -253,7 +253,7 @@ the existing id attribute values in your own <tt>&lt;adminconsole&gt;</tt> defin
<h3>Admin Console Best Practices</h3>
There are several best practices to consider when making changes to
the Wildfire admin console via a plugin. The general theme is
the Openfire admin console via a plugin. The general theme is
that plugins should integrate seamlessly:
<ul>
......@@ -266,7 +266,7 @@ that plugins should integrate seamlessly:
<li>Try to match the UI of the existing admin console in your custom
plugin pages.
<li>There is no need to create an admin console entry to show plugin
meta-data. Instead, let Wildfire inform the user about which
meta-data. Instead, let Openfire inform the user about which
plugins are installed and provide plugin management.
</ul>
......@@ -274,7 +274,7 @@ that plugins should integrate seamlessly:
<p>
Wildfire uses the <a href="http://www.opensymphony.com/sitemesh/" target="_blank">Sitemesh</a>
Openfire uses the <a href="http://www.opensymphony.com/sitemesh/" target="_blank">Sitemesh</a>
framework to decorate pages in the admin console. A globally-defined decorator is applied to
each page in order to render the final output, as in the following diagram:</p>
<br>
......@@ -345,10 +345,10 @@ procedure:
<tt>org.jivesoftware.util.LocaleUtils.getLocalizedString("some.key.name", "[plugin_name]");</tt>
</ul>
</p>
<h2>Using the Wildfire Build Script</h2>
<h2>Using the Openfire Build Script</h2>
<p>
The Wildfire build script will help you build and develop plugins. It
The Openfire build script will help you build and develop plugins. It
looks for plugin development directories in the following format:
</p>
......@@ -394,7 +394,7 @@ process.</p>
<h2>Implementing Your Plugin</h2>
<p>Plugins have full access to the Wildfire API. This provides a tremendous
<p>Plugins have full access to the Openfire API. This provides a tremendous
amount of flexibility for what plugins can accomplish. However, there are several integration
points that are the most common:
......@@ -420,7 +420,7 @@ points that are the most common:
PacketInterceptor</a> to receive all packets being sent through the system and
optionally reject them. For example, an interceptor could reject all messages that contained
profanity or flag them for review by an administrator.</li>
<li>You can store persistent plugin settings as Wildfire properties using the
<li>You can store persistent plugin settings as Openfire properties using the
JiveGlobals.getProperty(String) and JiveGlobals.setProperty(String, String) methods. Make
your plugin a property listener to listen for changes to its properties by implementing the
<tt>org.jivesoftware.util.PropertyEventListener</tt> method.
......@@ -436,16 +436,16 @@ points that are the most common:
<b>Can I deploy a plugin as a directory instead of a JAR?</b>
<p>No, all plugins must be deployed as JAR or WAR files. When a JAR or WAR is not present for the plugin,
Wildfire assumes that the file has been deleted and that the users wants to destroy the plugin,
Openfire assumes that the file has been deleted and that the users wants to destroy the plugin,
so it also deletes the directory.</p>
<b>What license agreement are plugins subject to?</b>
<p>Because Wildfire is released under the Open Source GPL license, any plugins developed
<p>Because Openfire is released under the Open Source GPL license, any plugins developed
must also be released under the GPL or a compatible Open Source license if you distribute
the plugins outside your organization. It is a violation of the license agreement to create
plugins for distribution that are not Open Source. Please visit
<a href="http://www.jivesoftware.com/products/wildfire/">Jive Software</a> if you need different
licensing terms for Wildfire, including the right to create commercial plugins.</p>
licensing terms for Openfire, including the right to create commercial plugins.</p>
<br>
<br>
......
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire: Protocol Support</title>
<title>Openfire: Protocol Support</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
......@@ -22,15 +22,15 @@
<div id="pageBody">
<p>Wildfire provides full support for the
<p>Openfire provides full support for the
<acronym title="Extensible Messaging and Presence Protocol">XMPP</acronym>
protocol defined by <a href="http://www.xmpp.org/specs/rfc3920.html">RFC 3920</a> and
<a href="http://www.xmpp.org/specs/rfc3921.html">RFC 3921</a>. In addition to full
XMPP support, Wildfire also provides support for numerous extensions to XMPP
XMPP support, Openfire also provides support for numerous extensions to XMPP
that are defined through the
<acronym title="XMPP Enhancement Proposals">XEP</acronym> process at
<a href="http://www.xmpp.org">xmpp.org</a>. This document provides a
summary of that protocol support and is updated for every Wildfire
summary of that protocol support and is updated for every Openfire
release.</p>
<p>This document is broken down into the following sections:</p>
......@@ -132,7 +132,7 @@ Suite</a>.</p>
<a name="jeps"></a>
<h2>List of JEPs Supported</h2>
<p>The table below lists all JEPs supported by Wildfire and indicates which JEPs are part of the
<p>The table below lists all JEPs supported by Openfire and indicates which JEPs are part of the
<a href="#basic">Basic</a> or <a href="#intermediate">Intermediate</a> Protocol Suites listed above.
JEPs that only require client-side support are omitted.</p>
......@@ -240,7 +240,7 @@ JEPs that only require client-side support are omitted.</p>
[<a name="fn1">1</a>] Some requirements of <u>XEP-0117: Intermediate IM Protocol Suite</u> do not pertain to servers.
<br>
[<a name="fn2">2</a>] The entity capabilities XEP is primarily for clients to implement. However, Wildfire does not support an optional server extensions defined by the XEP.
[<a name="fn2">2</a>] The entity capabilities XEP is primarily for clients to implement. However, Openfire does not support an optional server extensions defined by the XEP.
<br>
[<a name="fn3">3</a>] Support for <u>XEP-0055: Jabber Search</u> is provided by the <a href="http://www.igniterealtime.org/projects/wildfire/plugins.jsp">Search plugin</a>.
<br>
......
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire: Building the Source</title>
<title>Openfire: Building the Source</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
......@@ -24,10 +24,10 @@
<p>This document provides detailed information for developers that wish to
compile and make changes to the Wildfire source code.
compile and make changes to the Openfire source code.
Use of the source code is governed by the GPL or the commercial license
you purchased for the codebase from Jive Software.
<b>If Wildfire
<b>If Openfire
source is embedded into another application, that application must also
be released under the Open Source GPL license (unless you have a commercial OEM license
in place with Jive Software). Please see the license agreement
......@@ -38,22 +38,22 @@ the source, and that source is governed by the license given to it by its author
<p>For additional developer resources, please visit:
<a href="http://www.igniterealtime.org">
http://www.igniterealtime.org</a>. The Wildfire build process is based on Ant. Visit the
http://www.igniterealtime.org</a>. The Openfire build process is based on Ant. Visit the
<a href="http://ant.apache.org/">Ant website</a>
for more information. There is no need to download and install Ant - a version of it is included
in this distribution.
<p>
This documentation is divided into three sections:
<ol>
<li> <a href="#source">Source</a> -- get te Wildfire source code.
<li> <a href="#setup">Setup</a> -- how to setup your environment for Wildfire development.
<li> <a href="#source">Source</a> -- get te Openfire source code.
<li> <a href="#setup">Setup</a> -- how to setup your environment for Openfire development.
<li> <a href="#tasks">Build tasks</a> -- tasks that can be performed using the build program.
</ol>
<p><a name="source"><b><font color="#0066cc">1.</font> Get the Wildfire Source</b></a><p>
<p><a name="source"><b><font color="#0066cc">1.</font> Get the Openfire Source</b></a><p>
You can get the Wildfire source code by downloading a source distribution or
You can get the Openfire source code by downloading a source distribution or
by checking out the source code from CVS. Instructions for both options can
be found on the <a href="http://www.igniterealtime.org/downloads/source.jsp">source page</a>.
......@@ -63,7 +63,7 @@ Getting your machine ready for development requires a few steps. Wherever
possible, instructions are provided for both Unix/Linux and Windows users.
<p>
<b><a name="javaSetup">Configure Java for Wildfire</a></b>
<b><a name="javaSetup">Configure Java for Openfire</a></b>
<ul>
Java 5 (JDK 1.5) must be installed and setup on your machine. To test the installation,
open a shell in a Unix or a MS-DOS prompt in Windows. Check your version of
......@@ -71,7 +71,7 @@ possible, instructions are provided for both Unix/Linux and Windows users.
If Java isn't installed, download a copy from the
<a href="http://java.sun.com/">Java website</a>.
<p>
<font color="red">Important!</font> -- the Wildfire build tool needs to know
<font color="red">Important!</font> -- the Openfire build tool needs to know
where Java is installed on your system. You must configure the "JAVA_HOME"
environment variable to point to the correct directory. Instructions on
how to set this variable for various platforms are as follows:
......@@ -138,7 +138,7 @@ possible, instructions are provided for both Unix/Linux and Windows users.
<p><b><a name="ant">Install the Ant Build Tool</a></b><p>
The Wildfire build process uses Ant, so that tool must be installed
The Openfire build process uses Ant, so that tool must be installed
and configured on your computer. First download Ant from:
<a href="http://ant.apache.org/">http://ant.apache.org</a>. Next, follow
the <a href="http://ant.apache.org/manual/installlist.html">installation instructions</a>.
......@@ -157,7 +157,7 @@ chmod u+x ant
</td></table>
<p>
Now, invoke the build tool to compile the Wildfire source code
Now, invoke the build tool to compile the Openfire source code
<p>
Windows:<span class="code"> ant <br> </span><br clear="left">
......@@ -165,14 +165,14 @@ Windows:<span class="code"> ant <br> </span><br clear="left">
Unix/Linux:<span class="code"> ./ant </span>
<p>
If the build tool is invoked correctly and Wildfire compiles, you've correctly
configured your copy of the Wildfire source distribution.
If the build tool is invoked correctly and Openfire compiles, you've correctly
configured your copy of the Openfire source distribution.
</ul>
<p><b>Finished!</b><p>
<ul>
If you've gotten this far, you've finished setting up the Wildfire source
If you've gotten this far, you've finished setting up the Openfire source
distribution. Now, read below to learn about some of the tasks that you can perform
with the build tool.
</ul>
......@@ -182,7 +182,7 @@ with the build tool.
<p><b><a name="tasks"><font color="#0066cc">3.</font> Build Tasks</a></b><p>
The list of common build tasks is below. All build commands should be
run from the "build" directory of your Wildfire distribution.
run from the "build" directory of your Openfire distribution.
<br><br>
......@@ -198,7 +198,7 @@ with the build tool.
<ul>
<li><a href="#noparams"><i>Default</i></a>
<li><a href="#wildfire">wildfire</a>
<li><a href="#openfire">openfire</a>
<li><a href="#plugins">plugins</a>
<li><a href="#clean">clean</a>
</ul>
......@@ -217,7 +217,7 @@ value of a property, add it to build/build.xml file.
<p><i>Description:</i></p>
Equivalent of calling "ant <a href="#jar">wildfire</a>".
Equivalent of calling "ant <a href="#jar">openfire</a>".
<p>[<a href="#tasks">return to task list</a>]
......@@ -225,16 +225,16 @@ Equivalent of calling "ant <a href="#jar">wildfire</a>".
<!--JAR-->
<p><b><a name="wildfire">wildfire</a></b>
<p><b><a name="openfire">openfire</a></b>
<ul>
<i>Syntax:</i><p>
<span class="code"> ant wildfire <br></span>
<span class="code"> ant openfire <br></span>
<p><i>Description:</i></p>
Builds Wildfire into the <tt>target/wildfire</tt> directory. You can then launch
Wildfire using the scripts in <tt>target/wildfire/bin</tt>.
Builds Openfire into the <tt>target/openfire</tt> directory. You can then launch
Openfire using the scripts in <tt>target/openfire/bin</tt>.
<p>[<a href="#tasks">return to task list</a>]
</ul>
......@@ -248,7 +248,7 @@ Wildfire using the scripts in <tt>target/wildfire/bin</tt>.
<p><i>Description:</i></p>
Builds all plugins into the <tt>target/wildfire/plugins</tt> directory.
Builds all plugins into the <tt>target/openfire/plugins</tt> directory.
<p>[<a href="#tasks">return to task list</a>]
</ul>
......
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire: SSL Guide</title>
<title>Openfire: SSL Guide</title>
<link type="text/css" rel="stylesheet" href="style.css">
</head>
<body>
......@@ -24,17 +24,17 @@
<h2>Introduction</h2>
<p>
This document outlines how to <b>manually</b> customize the SSL support in
Wildfire. As of Wildfire 3.2 certificate management can be performed from the
Openfire. As of Openfire 3.2 certificate management can be performed from the
Admin Console. However, if needed you can still manually manage certificates
using JDK 1.5 tools.
<font color="red"><b>Important note:</b></font>
Once the setup process is completed Wildfire will create self-signed certificates
for the assigned Wildfire's domain. Most users should either get the created
Once the setup process is completed Openfire will create self-signed certificates
for the assigned Openfire's domain. Most users should either get the created
certificates signed by a Certificate Authority or replace the created certificates
with your own certificates.</p>
<p>Wildfire's SSL support is built using the standard Java security
<p>Openfire's SSL support is built using the standard Java security
SSL implementation (javax.net.ssl.SSLServerSocket). In this document, we will
describe how use the standard JDK 1.5 tools to accomplish these tasks.
</p>
......@@ -94,11 +94,11 @@ record keeping, and costs).
<h2>Sun JDK 1.5 security tools</h2>
<p>
The Sun JDK (version 1.5.x) ships with all the security tools you need
to configure SSL with Wildfire. The most important is the
to configure SSL with Openfire. The most important is the
<tt>keytool</tt> located in the <tt>JAVA_HOME/bin directory</tt> of the
JDK. Sun JVMs persist keystores and truststores on the filesystem as
encrypted files. The <tt>keytool</tt> is used to create, read, update,
and delete entries in these files. Wildfire ships with a self-signed
and delete entries in these files. Openfire ships with a self-signed
"dummy" certificate designed for initial evaluation testing. You will need
to adjust the default configuration for most deployments.
......@@ -108,9 +108,9 @@ In order to configure SSL on your server you need complete the
following tasks:
</p>
<ol>
<li>Decide on your Wildfire server's domain.</li>
<li>Decide on your Openfire server's domain.</li>
<li>Create a self-signed SSL server certificate for your server
domain. Note: you may already have one if your Wildfire server
domain. Note: you may already have one if your Openfire server
domain matches an existing web domain with SSL.
If so, you can skip to step 4.</li>
<li>[Optional] Have a certificate authority (CA) certify the SSL
......@@ -127,13 +127,13 @@ generated in step 2, the certificate is already imported and you can
skip this step.</li>
<li>Remove default certificates from the keystore.</li>
<li>Import client certificates into the truststore.</li>
<li>Adjust the Wildfire configuration with proper keystore and
<li>Adjust the Openfire configuration with proper keystore and
truststore settings.</li>
</ol>
<h3>1. Decide on a Server Domain</h3>
<p>
The Wildfire server domain should match the host name of the server;
The Openfire server domain should match the host name of the server;
for example, "example.com". Your user accounts will have addresses with
the format "user@example.com" like email addresses. We'll assume
the domain is "example.com" for the rest of the examples.
......@@ -142,7 +142,7 @@ the domain is "example.com" for the rest of the examples.
<p>
In order to create a self-signed server certificate go to the command
line and change directories to the <tt>resources/security</tt>
directory of your Wildfire installation. You should see the default
directory of your Openfire installation. You should see the default
<tt>keystore</tt> and <tt>truststore</tt> files. First, you should
change the default keystore
password:
......@@ -222,9 +222,9 @@ Now import each certificate using the keytool:
</p>
<p><tt>keytool -import -keystore truststore -alias user_name -file
certificate_file</tt></p>
<h3>7. Configure Wildfire</h3>
<h3>7. Configure Openfire</h3>
<p>
Open the Wildfire Admin Console in your favorite
Open the Openfire Admin Console in your favorite
browser and add or change the following system properties:
</p>
<ul>
......@@ -233,16 +233,16 @@ browser and add or change the following system properties:
5223 for XMPP)</li>
<li>xmpp.socket.ssl.storeType -- the store type used ("JKS" is
the Sun Java Keystore format used by the JDK keytool). If this property is
not defined, Wildfire will assume a value of "jks".</li>
not defined, Openfire will assume a value of "jks".</li>
<li>xmpp.socket.ssl.keystore -- the location of the keystore file
relative to your Wildfire installation root directory. You can leave this property
relative to your Openfire installation root directory. You can leave this property
blank to use the default keystore.</li>
<li>xmpp.socket.ssl.keypass -- the keystore/key password you
changed in step 2.</li>
<li>xmpp.socket.ssl.truststore -- leave blank to not use a
truststore, otherwise the location of the truststore file relative to
your Wildfire installation root directory.</li>
your Openfire installation root directory.</li>
<li>xmpp.socket.ssl.trustpass -- the truststore/key password you
changed in step 6.</li>
</ul>
......
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire: Translator Guide</title>
<title>Openfire: Translator Guide</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
......@@ -25,11 +25,11 @@
<h2>Introduction</h2>
<p>
The Wildfire admin console can be easily translated into other languages. This document
The Openfire admin console can be easily translated into other languages. This document
provides instructions for those that wish to make translations.
</p>
<p>
All text in the Wildfire admin console is stored in a resource
All text in the Openfire admin console is stored in a resource
bundle. A resource bundle is a file containing key/value pairs. Words and phrases are
represented using keys. The correct values are retrieved based on locale settings
(English values are used for English locales, French values for French locales, etc).
......@@ -56,25 +56,25 @@ renaming the file, then translating its contents.</p>
<h2>Construct a Resource Bundle</h2>
<p>To start, make a copy of the default (English) locale file "wildfire_i18n.properties".
It can be found in the <tt>resources\i18n</tt> directory of your Wildfire
<p>To start, make a copy of the default (English) locale file "openfire_i18n.properties".
It can be found in the <tt>resources\i18n</tt> directory of your Openfire
installation. Note: the files found in <tt>resources\i18n</tt> are copies of the
real resource bundles used by the application (the real resource bundles are contained
in the wildfire.jar file). Editing the resource files in the <tt>resources\i18n</tt>
directory will not affect your running copy of Wildfire.</p>
in the openfire.jar file). Editing the resource files in the <tt>resources\i18n</tt>
directory will not affect your running copy of Openfire.</p>
<p>Next, you'll need to rename the file to match the locale that you're making a
translation for. The syntax of the name is "wildfire_i18n_[lang]_[country].properties".
translation for. The syntax of the name is "openfire_i18n_[lang]_[country].properties".
However, the country code should be used in most cases. For example, the German resource
bundle should be named "wildfire_i18n_de.properties" because
bundle should be named "openfire_i18n_de.properties" because
"de" is the language code for German. For French, the file would be called
"wildfire_i18n_fr.properties". A list of language codes can
"openfire_i18n_fr.properties". A list of language codes can
be found at:
<a href="http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt"
target="_new">http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt</a>.
Some locales require a combination of language and country code. For example
simplified Chinese would have the name "wildfire_i18n_zh_CN.properties"
while traditional Chinese would have the name "wildfire_i18n_zh_TW.properties".</p>
simplified Chinese would have the name "openfire_i18n_zh_CN.properties"
while traditional Chinese would have the name "openfire_i18n_zh_TW.properties".</p>
<h2>Translate the Resource Bundle</h2>
......@@ -91,7 +91,7 @@ use the "native2ascii" tool (bundled with Java) to convert international
characters to the ASCII format. To use the native2ascii tool:</p>
<pre>
native2ascii -encoding XXX my_translation.properties wildfire_i18n_YY.properties
native2ascii -encoding XXX my_translation.properties openfire_i18n_YY.properties
^ ^
input file output file
</pre>
......@@ -105,21 +105,21 @@ document. For example, if you created your translation using UTF-8 as your encod
you are making a Simplified Chinese translation:</p>
<pre>
native2ascii -encoding UTF8 my_translation.properties wildfire_i18n_zh_CN.properties
native2ascii -encoding UTF8 my_translation.properties openfire_i18n_zh_CN.properties
</pre>
<h2>Testing Your Translation</h2>
<p>To test your translation, copy the translated resource bundle file (example,
wildfire_i18n_de.properties) to the <tt>lib/</tt> directory of your Wildfire
installation. Make sure Wildfire is stopped and then edit the <tt>conf/wildfire.xml</tt>
openfire_i18n_de.properties) to the <tt>lib/</tt> directory of your Openfire
installation. Make sure Openfire is stopped and then edit the <tt>conf/openfire.xml</tt>
file. Set the <tt>locale</tt> property to match your new resource
bundle such as "de" or "zh_CN". Start Wildfire and the admin console
bundle such as "de" or "zh_CN". Start Openfire and the admin console
should now be using your translation. If you still see English text you may have
named your bundle incorrectly or used the wrong value for the <tt>locale</tt>
property.</p>
<p>Once your translation is complete and tested, please submit it to the Wildfire
<p>Once your translation is complete and tested, please submit it to the Openfire
developers so that others can enjoy it in the next release!</p>
<br>
......
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire: Upgrade Guide</title>
<title>Openfire: Upgrade Guide</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
......
......@@ -5,7 +5,7 @@ REM # $Date$
REM # Script to start the HSQLDB database viewer. The embedded-db.rc file
REM # contains connection settings. Visit http://hsqldb.org for documentation
REM # on using the tool. The classpath includes JDBC drivers shipped with Wildfire
REM # on using the tool. The classpath includes JDBC drivers shipped with Openfire
REM # to work with the Transfer tool. You will need to add any other JDBC driver
REM # that you'd like to use with the transfer tool to the classpath manually.
......
......@@ -3,7 +3,7 @@
# Script to start the HSQLDB database viewer. The embedded-db.rc file
# contains connection settings. Visit http://hsqldb.org for documentation
# on using the tool. The classpath includes JDBC drivers shipped with Wildfire
# on using the tool. The classpath includes JDBC drivers shipped with Openfire
# to work with the Transfer tool. You will need to add any other JDBC driver
# that you'd like to use with the transfer tool to the classpath manually.
......
......@@ -2,38 +2,38 @@
# redhat-poinstall.sh
#
# This script sets permissions on the Wildfire installtion
# This script sets permissions on the Openfire installtion
# and install the init script.
#
# Run this script as root after installation of wildfire
# Run this script as root after installation of openfire
# It is expected that you are executing this script from the bin directory
# If you used an non standard directory name of location
# Please specify it here
# WILDFIRE_HOME=
# OPENFIRE_HOME=
WILDFIRE_USER="jive"
WILDFIRE_GROUP="jive"
OPENFIRE_USER="jive"
OPENFIRE_GROUP="jive"
if [ ! $WILDFIRE_HOME ]; then
if [ ! $OPENFIRE_HOME ]; then
if [ -d "/opt/wildfire" ]; then
WILDFIRE_HOME="/opt/wildfire"
OPENFIRE_HOME="/opt/wildfire"
elif [ -d "/usr/local/wildfire" ]; then
WILDFIRE_HOME="/usr/local/wildfire"
OPENFIRE_HOME="/usr/local/wildfire"
fi
fi
# Grant execution permissions
chmod +x $WILDFIRE_HOME/bin/extra/wildfired
chmod +x $OPENFIRE_HOME/bin/extra/openfired
# Install the init script
cp $WILDFIRE_HOME/bin/extra/wildfired /etc/init.d
/sbin/chkconfig --add wildfired
/sbin/chkconfig wildfired on
cp $OPENFIRE_HOME/bin/extra/openfired /etc/init.d
/sbin/chkconfig --add openfired
/sbin/chkconfig openfired on
# Create the jive user and group
/usr/sbin/groupadd $WILDFIRE_GROUP
/usr/sbin/useradd $WILDFIRE_USER -g $WILDFIRE_GROUP -s /bin/bash
/usr/sbin/groupadd $OPENFIRE_GROUP
/usr/sbin/useradd $OPENFIRE_USER -g $OPENFIRE_GROUP -s /bin/bash
# Change the permissions on the installtion directory
/bin/chown -R $WILDFIRE_USER:$WILDFIRE_GROUP $WILDFIRE_HOME
/bin/chown -R $OPENFIRE_USER:$OPENFIRE_GROUP $OPENFIRE_HOME
......@@ -173,7 +173,7 @@ public class AdminConsole {
return getAdminText(globalVersion.getText(), pluginName);
}
else {
// Default to the Wildfire version if none has been provided via XML.
// Default to the Openfire version if none has been provided via XML.
XMPPServer xmppServer = XMPPServer.getInstance();
return xmppServer.getServerInfo().getVersion().getVersionString();
}
......@@ -208,7 +208,7 @@ public class AdminConsole {
*
* @param string the String.
* @param pluginName the name of the plugin that the i18n String can be found in,
* or <tt>null</tt> if the standard Wildfire resource bundle should be used.
* or <tt>null</tt> if the standard Openfire resource bundle should be used.
* @return the string, or if the string is encoded as an i18n key, the value from
* the appropriate resource bundle.
*/
......@@ -227,7 +227,7 @@ public class AdminConsole {
// Load the core model as the admin-sidebar.xml file from the classpath.
InputStream in = ClassUtils.getResourceAsStream("/admin-sidebar.xml");
if (in == null) {
Log.error("Failed to load admin-sidebar.xml file from Wildfire classes - admin "
Log.error("Failed to load admin-sidebar.xml file from Openfire classes - admin "
+ "console will not work correctly.");
return;
}
......@@ -359,7 +359,7 @@ public class AdminConsole {
}
}
// Special case: show an informational tab about Wildfire Enterprise if Enterprise
// Special case: show an informational tab about Openfire Enterprise if Enterprise
// is not installed and if the user has not chosen to hide tab.
PluginManager pluginManager = XMPPServer.getInstance().getPluginManager();
boolean pluginExists = pluginManager != null && pluginManager.isPluginDownloaded(
......@@ -372,12 +372,12 @@ public class AdminConsole {
enterprise.addAttribute("description", "Click for Enterprise information.");
Element sidebar = enterprise.addElement("sidebar");
sidebar.addAttribute("id", "sidebar-enterprise-info");
sidebar.addAttribute("name", "Wildfire Enterprise");
sidebar.addAttribute("name", "Openfire Enterprise");
Element item = sidebar.addElement("item");
item.addAttribute("id", "enterprise-info");
item.addAttribute("name", "Try Enterprise");
item.addAttribute("url", "enterprise-info.jsp");
item.addAttribute("description", "Wildfire Enterprise overview inforation");
item.addAttribute("description", "Openfire Enterprise overview inforation");
}
}
......
......@@ -71,7 +71,7 @@ public class PluginFilter implements Filter {
}
public void destroy() {
// If the destroy method is being called, the Wildfire instance is being shutdown.
// If the destroy method is being called, the Openfire instance is being shutdown.
// Therefore, clear out the list of plugin filters.
pluginFilters.clear();
}
......
......@@ -464,7 +464,7 @@ public class DbConnectionManager {
setMetaData(con);
// Check to see if the database schema needs to be upgraded.
schemaManager.checkWildfireSchema(con);
schemaManager.checkOpenfireSchema(con);
}
catch (Exception e) {
Log.error(e);
......@@ -630,7 +630,7 @@ public class DbConnectionManager {
/**
* Returns a SchemaManager instance, which can be used to manage the database
* schema information for Wildfire and plugins.
* schema information for Openfire and plugins.
*
* @return a SchemaManager instance.
*/
......
......@@ -65,7 +65,7 @@ public class EmbeddedConnectionProvider implements ConnectionProvider {
}
String serverURL = "jdbc:hsqldb:" + databaseDir.getCanonicalPath() +
File.separator + "wildfire";
File.separator + "openfire";
String username = "sa";
String password = "";
int minConnections = 3;
......
......@@ -22,7 +22,7 @@ import java.sql.*;
import java.util.Arrays;
/**
* Manages database schemas for Wildfire and Wildfire plugins. The manager uses the
* Manages database schemas for Openfire and Openfire plugins. The manager uses the
* jiveVersion database table to figure out which database schema is currently installed
* and then attempts to automatically apply database schema changes as necessary.<p>
*
......@@ -42,7 +42,7 @@ public class SchemaManager {
"SELECT version FROM jiveVersion WHERE name=?";
/**
* Current Wildfire database schema version.
* Current Openfire database schema version.
*/
private static final int DATABASE_VERSION = 11;
......@@ -54,16 +54,18 @@ public class SchemaManager {
}
/**
* Checks the Wildfire database schema to ensure that it's installed and up to date.
* Checks the Openfire database schema to ensure that it's installed and up to date.
* If the schema isn't present or up to date, an automatic update will be attempted.
*
* @param con a connection to the database.
* @return true if database schema checked out fine, or was automatically installed
* or updated successfully.
*/
public boolean checkWildfireSchema(Connection con) {
public boolean checkOpenfireSchema(Connection con) {
// Change 'wildfire' to 'openfire' in jiveVersion table (update to new name)
updateToOpenfire(con);
try {
return checkSchema(con, "wildfire", DATABASE_VERSION,
return checkSchema(con, "openfire", DATABASE_VERSION,
new ResourceLoader() {
public InputStream loadResource(String resourceName) {
File file = new File(JiveGlobals.getHomeDirectory() + File.separator +
......@@ -156,10 +158,10 @@ public class SchemaManager {
catch (SQLException sqle) {
DbConnectionManager.closeResultSet(rs);
DbConnectionManager.closeStatement(pstmt);
// Releases of Wildfire before 2.6.0 stored a major and minor version
// Releases of Openfire before 2.6.0 stored a major and minor version
// number so the normal check for version can fail. Check for the
// version using the old format in that case.
if (schemaKey.equals("wildfire")) {
if (schemaKey.equals("openfire")) {
try {
if (pstmt != null) {
pstmt.close();
......@@ -190,7 +192,7 @@ public class SchemaManager {
Arrays.asList(schemaKey)));
System.out.println(LocaleUtils.getLocalizedString("upgrade.database.missing_schema",
Arrays.asList(schemaKey)));
// Resource will be like "/database/wildfire_hsqldb.sql"
// Resource will be like "/database/openfire_hsqldb.sql"
String resourceName = schemaKey + "_" +
DbConnectionManager.getDatabaseType() + ".sql";
InputStream resource = resourceLoader.loadResource(resourceName);
......@@ -268,8 +270,8 @@ public class SchemaManager {
String schemaKey)
{
InputStream resource = null;
if ("wildfire".equals(schemaKey)) {
// Resource will be like "/database/upgrade/6/wildfire_hsqldb.sql"
if ("openfire".equals(schemaKey)) {
// Resource will be like "/database/upgrade/6/openfire_hsqldb.sql"
String path = JiveGlobals.getHomeDirectory() + File.separator + "resources" +
File.separator + "database" + File.separator + "upgrade" + File.separator +
upgradeVersion;
......@@ -290,6 +292,20 @@ public class SchemaManager {
return resource;
}
private void updateToOpenfire(Connection con){
PreparedStatement pstmt = null;
try {
pstmt = con.prepareStatement("UPDATE jiveVersion SET name='openfire' WHERE name='wildfire'");
pstmt.executeUpdate();
}
catch (Exception ex) {
Log.warn("Error when trying to update to new name", ex);
}
finally {
DbConnectionManager.closeStatement(pstmt);
}
}
/**
* Executes a SQL script.
*
......
......@@ -32,7 +32,7 @@ import java.util.*;
*/
public class JiveGlobals {
private static String JIVE_CONFIG_FILENAME = "conf" + File.separator + "wildfire.xml";
private static String JIVE_CONFIG_FILENAME = "conf" + File.separator + "openfire.xml";
/**
* Location of the jiveHome directory. All configuration files should be
......@@ -725,7 +725,7 @@ public class JiveGlobals {
/**
* Allows the name of the local config file name to be changed. The
* default is "wildfire.xml".
* default is "openfire.xml".
*
* @param configName the name of the config file.
*/
......
......@@ -35,8 +35,8 @@ public class LocaleUtils {
// The basename to use for looking up the appropriate resource bundles
// TODO - extract this out into a test that grabs the resource name from JiveGlobals
// TODO and defaults to wildfire_i18n if nothing set.
private static final String resourceBaseName = "wildfire_i18n";
// TODO and defaults to openfire_i18n if nothing set.
private static final String resourceBaseName = "openfire_i18n";
private LocaleUtils() {
}
......
......@@ -76,9 +76,9 @@ public class Log {
logDirectory = JiveGlobals.getXMLProperty("log.directory");
if (logDirectory == null) {
if (JiveGlobals.getHomeDirectory() != null) {
File wildfireHome = new File(JiveGlobals.getHomeDirectory());
if (wildfireHome.exists() && wildfireHome.canWrite()) {
logDirectory = (new File(wildfireHome, "logs")).toString();
File openfireHome = new File(JiveGlobals.getHomeDirectory());
if (openfireHome.exists() && openfireHome.canWrite()) {
logDirectory = (new File(openfireHome, "logs")).toString();
}
}
}
......@@ -154,7 +154,7 @@ public class Log {
try {
// home was not setup correctly
if (logName == null) {
throw new IOException("LogName was null - WildfireHome not set?");
throw new IOException("LogName was null - OpenfireHome not set?");
}
else {
RevolvingFileStrategy fileStrategy = new RevolvingFileStrategy(logName, 5);
......
......@@ -11,7 +11,7 @@
package org.jivesoftware.util;
/**
* Holds version information for Wildfire.
* Holds version information for Openfire.
*
* @author Iain Shigeoka
*/
......@@ -81,7 +81,7 @@ public class Version {
}
/**
* Returns the version number of this instance of Wildfire as a
* Returns the version number of this instance of Openfire as a
* String (ie major.minor.revision).
*
* @return The version as a string
......
......@@ -24,7 +24,7 @@ import java.net.URL;
import java.util.*;
/**
* A utility bean for Wildfire admin console pages.
* A utility bean for Openfire admin console pages.
*/
public class WebManager extends WebBean {
......@@ -42,7 +42,7 @@ public class WebManager extends WebBean {
}
/**
* Returns <tt>true</tt> if the Wildfire container is in setup mode, <tt>false</tt> otherwise.
* Returns <tt>true</tt> if the Openfire container is in setup mode, <tt>false</tt> otherwise.
*/
public boolean isSetupMode() {
return getXMPPServer().isSetupMode();
......
......@@ -16,7 +16,7 @@ import org.jivesoftware.util.Log;
/**
* A LogFactory implementation to override the default commons-logging behavior. All log
* statements are written to the Wildfire logs. Info level logging is sent to debug.
* statements are written to the Openfire logs. Info level logging is sent to debug.
*/
public class CommonsLogFactory extends LogFactory {
......
......@@ -14,13 +14,13 @@ import org.jivesoftware.util.Log;
/**
* A Logger implementation to override the default Jetty logging behavior. All log statements
* are written to the Wildfire logs. Info level logging is sent to debug.
* are written to the Openfire logs. Info level logging is sent to debug.
*/
public class JettyLog implements Logger {
/**
* Only enable Jetty debug logging if it's specifically enabled. Otherwise, Jetty debug logs
* pollute the Wildfire debug log with too much data.
* pollute the Openfire debug log with too much data.
*/
private boolean debugEnabled = JiveGlobals.getBooleanProperty("jetty.debugEnabled");
......
......@@ -58,10 +58,14 @@ public class SessionManager extends BasicModule {
private int conflictLimit;
/**
* Counter of user sessions. A session is counted just after it was created and not
* after the user came available.
* Counter of user connections. A connection is counted just after it was created and not
* after the user became available.
*/
private final AtomicInteger usersSessionsCounter = new AtomicInteger(0);
private final AtomicInteger connectionsCounter = new AtomicInteger(0);
/**
* Counter of non-anonymous user sessions.
*/
private final AtomicInteger userSessionsCounter = new AtomicInteger(0);
private ClientSessionListener clientSessionListener = new ClientSessionListener();
private ComponentSessionListener componentSessionListener = new ComponentSessionListener();
......@@ -536,7 +540,7 @@ public class SessionManager extends BasicModule {
// Add to pre-authenticated sessions.
preAuthenticatedSessions.put(session.getAddress().getResource(), session);
// Increment the counter of user sessions
usersSessionsCounter.incrementAndGet();
connectionsCounter.incrementAndGet();
return session;
}
......@@ -552,7 +556,7 @@ public class SessionManager extends BasicModule {
conn.init(session);
conn.registerCloseListener(clientSessionListener, session);
preAuthenticatedSessions.put(session.getAddress().getResource(), session);
usersSessionsCounter.incrementAndGet();
connectionsCounter.incrementAndGet();
return session;
}
......@@ -697,7 +701,10 @@ public class SessionManager extends BasicModule {
}
/**
* Add a new session to be managed.
* Add a new session to be managed. The session has been authenticated by
* a non-anonymous user.
*
* @param session the session that was authenticated.
*/
public void addSession(ClientSession session) {
String username = session.getAddress().getNode();
......@@ -713,6 +720,8 @@ public class SessionManager extends BasicModule {
}
// Remove the pre-Authenticated session but remember to use the temporary ID as the key
preAuthenticatedSessions.remove(session.getStreamID().toString());
// Increment counter of authenticated sessions
userSessionsCounter.incrementAndGet();
// Fire session created event.
SessionEventDispatcher
.dispatchEvent(session, SessionEventDispatcher.EventType.session_created);
......@@ -1027,8 +1036,8 @@ public class SessionManager extends BasicModule {
}
/**
* Returns a list that contains all client sessions connected to the server. The list
* contains sessions of anonymous and non-anonymous users.
* Returns a list that contains all authenticated client sessions connected to the server.
* The list contains sessions of anonymous and non-anonymous users.
*
* @return a list that contains all client sessions connected to the server.
*/
......@@ -1239,13 +1248,23 @@ public class SessionManager extends BasicModule {
}
/**
* Returns number of client sessions that are connected to the server. Anonymous users
* are included too.
* Returns number of client sessions that are connected to the server. Sessions that
* are authenticated and not authenticated will be included
*
* @return number of client sessions that are connected to the server.
*/
public int getSessionCount() {
return usersSessionsCounter.get();
public int getConnectionsCount() {
return connectionsCounter.get();
}
/**
* Returns number of client sessions that are authenticated with the server using a
* non-anoymous user.
*
* @return number of client sessions that are authenticated with the server using a non-anoymous user.
*/
public int getUserSessionsCount() {
return userSessionsCounter.get();
}
/**
......@@ -1271,7 +1290,7 @@ public class SessionManager extends BasicModule {
/**
* Returns the number of sessions for a user that are available. For the count
* of all sessions for the user, including sessions that are just starting
* or closed, see {@see #getSessionCount(String)}.
* or closed, see {@see #getConnectionsCount(String)}.
*
* @param username the user.
* @return number of available sessions for a user.
......@@ -1304,6 +1323,12 @@ public class SessionManager extends BasicModule {
return sessionCount;
}
/**
* Returns the number of users that are authenticated with the server. For users
* that are connected from more than one resource the count will be one.
*
* @return the number of users that are authenticated with the server.
*/
public Collection<String> getSessionUsers() {
return Collections.unmodifiableCollection(sessions.keySet());
}
......@@ -1412,6 +1437,8 @@ public class SessionManager extends BasicModule {
if (sessionMap != null) {
synchronized (username.intern()) {
auth_removed = sessionMap.removeSession(session);
// Decrement number of authenticated sessions (of non-anonymous users)
userSessionsCounter.decrementAndGet();
}
if (sessionMap.isEmpty()) {
sessions.remove(username);
......@@ -1438,7 +1465,7 @@ public class SessionManager extends BasicModule {
}
if (auth_removed || preauth_removed) {
// Decrement the counter of user sessions
usersSessionsCounter.decrementAndGet();
connectionsCounter.decrementAndGet();
return true;
}
return false;
......@@ -1448,7 +1475,6 @@ public class SessionManager extends BasicModule {
anonymousSessions.put(session.getAddress().getResource(), session);
// Remove the session from the pre-Authenticated sessions list
preAuthenticatedSessions.remove(session.getAddress().getResource());
// Fire session event.
SessionEventDispatcher.dispatchEvent(session,
SessionEventDispatcher.EventType.anonymous_session_created);
......
......@@ -72,16 +72,16 @@ import java.util.concurrent.CopyOnWriteArrayList;
* <p/>
* A configuration file keeps the server configuration. This information is required for the
* server to work correctly. The server assumes that the configuration file is named
* <b>wildfire.xml</b> and is located in the <b>conf</b> folder. The folder that keeps
* <b>openfire.xml</b> and is located in the <b>conf</b> folder. The folder that keeps
* the configuration file must be located under the home folder. The server will try different
* methods to locate the home folder.
* <p/>
* <ol>
* <li><b>system property</b> - The server will use the value defined in the <i>wildfireHome</i>
* <li><b>system property</b> - The server will use the value defined in the <i>openfireHome</i>
* system property.</li>
* <li><b>working folder</b> - The server will check if there is a <i>conf</i> folder in the
* working directory. This is the case when running in standalone mode.</li>
* <li><b>wildfire_init.xml file</b> - Attempt to load the value from wildfire_init.xml which
* <li><b>openfire_init.xml file</b> - Attempt to load the value from openfire_init.xml which
* must be in the classpath</li>
* </ol>
*
......@@ -111,7 +111,7 @@ public class XMPPServer {
* Location of the home directory. All configuration files should be
* located here.
*/
private File wildfireHome;
private File openfireHome;
private ClassLoader loader;
private PluginManager pluginManager;
......@@ -238,7 +238,7 @@ public class XMPPServer {
}
catch (IllegalArgumentException e) {
// Ignore usernames that when appended @server.com result in an invalid JID
Log.warn("Invalid username found in authorizedUsernames at wildfire.xml: " +
Log.warn("Invalid username found in authorizedUsernames at openfire.xml: " +
username, e);
}
}
......@@ -253,7 +253,7 @@ public class XMPPServer {
admins.add(new JID(jid));
}
catch (IllegalArgumentException e) {
Log.warn("Invalid JID found in authorizedJIDs at wildfire.xml: " + jid, e);
Log.warn("Invalid JID found in authorizedJIDs at openfire.xml: " + jid, e);
}
}
......@@ -281,11 +281,11 @@ public class XMPPServer {
}
private void initialize() throws FileNotFoundException {
locateWildfire();
locateOpenfire();
name = JiveGlobals.getProperty("xmpp.domain", "127.0.0.1").toLowerCase();
version = new Version(3, 2, 2, Version.ReleaseStatus.Release, 1);
version = new Version(3, 3, 0, Version.ReleaseStatus.Alpha, 1);
if ("true".equals(JiveGlobals.getXMLProperty("setup"))) {
setupMode = false;
}
......@@ -362,8 +362,6 @@ public class XMPPServer {
initModules();
// Start all the modules
startModules();
// Keep a reference to the internal component manager
componentManager = getComponentManager();
}
catch (Exception e) {
e.printStackTrace();
......@@ -385,7 +383,7 @@ public class XMPPServer {
initialize();
// Create PluginManager now (but don't start it) so that modules may use it
File pluginDir = new File(wildfireHome, "plugins");
File pluginDir = new File(openfireHome, "plugins");
pluginManager = new PluginManager(pluginDir);
// If the server has already been setup then we can start all the server's modules
......@@ -398,8 +396,6 @@ public class XMPPServer {
initModules();
// Start all the modules
startModules();
// Keep a reference to the internal component manager
componentManager = getComponentManager();
}
// Initialize statistics
ServerTrafficCounter.initStatistics();
......@@ -481,6 +477,8 @@ public class XMPPServer {
// Load this module always last since we don't want to start listening for clients
// before the rest of the modules have been started
loadModule(ConnectionManagerImpl.class.getName());
// Keep a reference to the internal component manager
componentManager = getComponentManager();
}
/**
......@@ -687,8 +685,8 @@ public class XMPPServer {
}
/**
* Verifies that the given home guess is a real Wildfire home directory.
* We do the verification by checking for the Wildfire config file in
* Verifies that the given home guess is a real Openfire home directory.
* We do the verification by checking for the Openfire config file in
* the config dir of jiveHome.
*
* @param homeGuess a guess at the path to the home directory.
......@@ -699,14 +697,14 @@ public class XMPPServer {
* directory provided
*/
private File verifyHome(String homeGuess, String jiveConfigName) throws FileNotFoundException {
File wildfireHome = new File(homeGuess);
File configFile = new File(wildfireHome, jiveConfigName);
File openfireHome = new File(homeGuess);
File configFile = new File(openfireHome, jiveConfigName);
if (!configFile.exists()) {
throw new FileNotFoundException();
}
else {
try {
return new File(wildfireHome.getCanonicalPath());
return new File(openfireHome.getCanonicalPath());
}
catch (Exception ex) {
throw new FileNotFoundException();
......@@ -719,14 +717,14 @@ public class XMPPServer {
*
* @throws FileNotFoundException If jiveHome could not be located
*/
private void locateWildfire() throws FileNotFoundException {
String jiveConfigName = "conf" + File.separator + "wildfire.xml";
// First, try to load it wildfireHome as a system property.
if (wildfireHome == null) {
String homeProperty = System.getProperty("wildfireHome");
private void locateOpenfire() throws FileNotFoundException {
String jiveConfigName = "conf" + File.separator + "openfire.xml";
// First, try to load it openfireHome as a system property.
if (openfireHome == null) {
String homeProperty = System.getProperty("openfireHome");
try {
if (homeProperty != null) {
wildfireHome = verifyHome(homeProperty, jiveConfigName);
openfireHome = verifyHome(homeProperty, jiveConfigName);
}
}
catch (FileNotFoundException fe) {
......@@ -737,9 +735,9 @@ public class XMPPServer {
// If we still don't have home, let's assume this is standalone
// and just look for home in a standard sub-dir location and verify
// by looking for the config file
if (wildfireHome == null) {
if (openfireHome == null) {
try {
wildfireHome = verifyHome("..", jiveConfigName).getCanonicalFile();
openfireHome = verifyHome("..", jiveConfigName).getCanonicalFile();
}
catch (FileNotFoundException fe) {
// Ignore.
......@@ -750,19 +748,19 @@ public class XMPPServer {
}
// If home is still null, no outside process has set it and
// we have to attempt to load the value from wildfire_init.xml,
// we have to attempt to load the value from openfire_init.xml,
// which must be in the classpath.
if (wildfireHome == null) {
if (openfireHome == null) {
InputStream in = null;
try {
in = getClass().getResourceAsStream("/wildfire_init.xml");
in = getClass().getResourceAsStream("/openfire_init.xml");
if (in != null) {
SAXReader reader = new SAXReader();
Document doc = reader.read(in);
String path = doc.getRootElement().getText();
try {
if (path != null) {
wildfireHome = verifyHome(path, jiveConfigName);
openfireHome = verifyHome(path, jiveConfigName);
}
}
catch (FileNotFoundException fe) {
......@@ -771,7 +769,7 @@ public class XMPPServer {
}
}
catch (Exception e) {
System.err.println("Error loading wildfire_init.xml to find home.");
System.err.println("Error loading openfire_init.xml to find home.");
e.printStackTrace();
}
finally {
......@@ -787,13 +785,13 @@ public class XMPPServer {
}
}
if (wildfireHome == null) {
if (openfireHome == null) {
System.err.println("Could not locate home");
throw new FileNotFoundException();
}
else {
// Set the home directory for the config file
JiveGlobals.setHomeDirectory(wildfireHome.toString());
JiveGlobals.setHomeDirectory(openfireHome.toString());
// Set the name of the config file
JiveGlobals.setConfigName(jiveConfigName);
}
......@@ -871,7 +869,7 @@ public class XMPPServer {
// Stop the Db connection manager.
DbConnectionManager.destroyConnectionProvider();
// hack to allow safe stopping
Log.info("Wildfire stopped");
Log.info("Openfire stopped");
}
/**
......
......@@ -25,7 +25,7 @@ public class AuditEvent {
/**
* All user generated codes must be equal to or greater than this constant
* to avoid clashing with Wildfire event codes.
* to avoid clashing with Openfire event codes.
*/
public static final int USER_CODES = 100;
......
......@@ -19,9 +19,9 @@ import java.security.NoSuchAlgorithmException;
import java.util.Map;
/**
* Pluggable authentication service. Users of Wildfire that wish to change the AuthProvider
* Pluggable authentication service. Users of Openfire that wish to change the AuthProvider
* implementation used to authenticate users can set the <code>AuthProvider.className</code>
* XML property. For example, if you have configured Wildfire to use LDAP for user information,
* XML property. For example, if you have configured Openfire to use LDAP for user information,
* you'd want to send a custom implementation of AuthFactory to make LDAP auth queries.
* After changing the <code>AuthProvider.className</code> XML property, you must restart your
* application server.
......@@ -232,7 +232,7 @@ public class AuthFactory {
* The encryption key is stored as the Jive property "passwordKey". If it's not present,
* it will be automatically generated.
*
* @return the Blowfish cipher, or <tt>null</tt> if Wildfire is not able to create a Cipher;
* @return the Blowfish cipher, or <tt>null</tt> if Openfire is not able to create a Cipher;
* for example, during setup mode.
*/
private static synchronized Blowfish getCipher() {
......
......@@ -16,7 +16,7 @@ import org.jivesoftware.wildfire.user.UserNotFoundException;
/**
* Provider interface for authentication. Users that wish to integrate with
* their own authentication system must implement this class and then register
* the implementation with Wildfire in the <tt>wildfire.xml</tt>
* the implementation with Openfire in the <tt>openfire.xml</tt>
* file. An entry in that file would look like the following:
*
* <pre>
......
......@@ -51,7 +51,7 @@ import java.sql.SQLException;
* &lt;passwordType&gt;plain&lt;/passwordType&gt;
* &lt;/jdbcAuthProvider&gt;</pre>
*
* The passwordType setting tells Wildfire how the password is stored. Setting the value
* The passwordType setting tells Openfire how the password is stored. Setting the value
* is optional (when not set, it defaults to "plain"). The valid values are:<ul>
* <li>{@link PasswordType#plain plain}
* <li>{@link PasswordType#md5 md5}
......
......@@ -68,7 +68,7 @@ public class NativeAuthProvider implements AuthProvider {
this.domain = JiveGlobals.getXMLProperty("nativeAuth.domain");
// Configure the library path so that we can load the shaj native library
// from the Wildfire lib directory.
// from the Openfire lib directory.
// Find the root path of this class.
try {
String binaryPath = (new URL(Shaj.class.getProtectionDomain()
......@@ -88,7 +88,7 @@ public class NativeAuthProvider implements AuthProvider {
Log.error(e);
}
// Configure Shaj to log output to the Wildfire logger.
// Configure Shaj to log output to the Openfire logger.
com.cenqua.shaj.log.Log.Factory.setInstance(new com.cenqua.shaj.log.Log() {
public boolean isDebug() {
return Log.isDebugEnabled();
......
......@@ -32,7 +32,8 @@ public class GetNumberUserSessions extends AdHocCommand {
field = form.addField();
field.setLabel(getLabel());
field.setVariable("onlineuserssessionsnum");
field.addValue(SessionManager.getInstance().getSessionCount());
SessionManager sessionManager = SessionManager.getInstance();
field.addValue(sessionManager.getUserSessionsCount() + sessionManager.getAnonymousSessionCount());
command.add(form.getElement());
}
......
......@@ -23,7 +23,7 @@ import java.util.Arrays;
import java.util.Map;
/**
* Adds a user to Wildfire if the provider is not read-only. See
* Adds a user to Openfire if the provider is not read-only. See
* <a href="http://www.xmpp.org/extensions/xep-0133.html#add-user">Service Administration:
* Add User</a>
*
......
......@@ -26,7 +26,7 @@ import java.util.List;
import java.util.Arrays;
/**
* Takes a user's username and password to authenticate them against the Wildfire authprovider.
* Takes a user's username and password to authenticate them against the Openfire authprovider.
*
* @author Alexander Wenckus
*/
......
......@@ -14,12 +14,12 @@ package org.jivesoftware.wildfire.container;
import java.io.File;
/**
* Plugin interface. Plugins enhance the functionality of Wildfire. They can:<ul>
* Plugin interface. Plugins enhance the functionality of Openfire. They can:<ul>
*
* <li>Act as {@link org.xmpp.component.Component Components} to implement
* additional features in the XMPP protocol.
* <li>Dynamically modify the admin console.
* <li>Use the Wildfire API to add new functionality to the server.
* <li>Use the Openfire API to add new functionality to the server.
* </ul>
*
* Plugins live in the <tt>plugins</tt> directory of <tt>home</tt>. Plugins
......@@ -53,7 +53,7 @@ import java.io.File;
* with a parent plugin.<p/>
*
* Please see the Plugin Developer Guide (available with the
* Wildfire documentation) for additional details about plugin development.
* Openfire documentation) for additional details about plugin development.
*
* @author Matt Tucker
*/
......@@ -72,7 +72,7 @@ public interface Plugin {
*
* Implementations of this method must release all resources held
* by the plugin such as file handles, database or network connections,
* and references to core Wildfire classes. In other words, a
* and references to core Openfire classes. In other words, a
* garbage collection executed after this method is called must be able
* to clean up all plugin classes.
*/
......
......@@ -15,7 +15,7 @@ import java.io.File;
/**
* Represents the data model used to represent development mode within the Jive
* Wildfire plugin framework.
* Openfire plugin framework.
*
* @author Derek DeMoro
*/
......
......@@ -216,7 +216,7 @@ public class PluginManager {
saxReader.setEncoding("UTF-8");
Document pluginXML = saxReader.read(pluginConfig);
// See if the plugin specifies a version of Wildfire
// See if the plugin specifies a version of Openfire
// required to run.
Element minServerVersion = (Element)pluginXML.selectSingleNode("/plugin/minServerVersion");
if (minServerVersion != null) {
......@@ -520,7 +520,7 @@ public class PluginManager {
// Wrap destroying the plugin in a try/catch block. Otherwise, an exception raised
// in the destroy plugin process will disrupt the whole unloading process. It's still
// possible that classloader destruction won't work in the case that destroying the plugin
// fails. In that case, Wildfire may need to be restarted to fully cleanup the plugin
// fails. In that case, Openfire may need to be restarted to fully cleanup the plugin
// resources.
try {
plugin.destroyPlugin();
......@@ -1007,7 +1007,7 @@ public class PluginManager {
String jarName = packedFile.getName().substring(0,
packedFile.getName().length() - ".pack".length());
// Delete JAR file with same name if it exists (could be due to upgrade
// from old Wildfire release).
// from old Openfire release).
File jarFile = new File(libDir, jarName);
if (jarFile.exists()) {
jarFile.delete();
......
......@@ -43,8 +43,8 @@ import javax.servlet.http.HttpServletResponse;
/**
* The plugin servlet acts as a proxy for web requests (in the admin console)
* to plugins. Since plugins can be dynamically loaded and live in a different place
* than normal Wildfire admin console files, it's not possible to have them
* added to the normal Wildfire admin console web app directory.<p>
* than normal Openfire admin console files, it's not possible to have them
* added to the normal Openfire admin console web app directory.<p>
* <p/>
* The servlet listens for requests in the form <tt>/plugins/[pluginName]/[JSP File]</tt>
* (e.g. <tt>/plugins/foo/example.jsp</tt>). It also listens for non JSP requests in the
......@@ -498,13 +498,13 @@ public class PluginServlet extends HttpServlet {
classpath.append(libFile.getAbsolutePath()).append(';');
}
File wildfireRoot = pluginDirectory.getParentFile().getParentFile().getParentFile();
File wildfireLib = new File(wildfireRoot, "target//lib");
File openfireRoot = pluginDirectory.getParentFile().getParentFile().getParentFile();
File openfireLib = new File(openfireRoot, "target//lib");
classpath.append(wildfireLib.getAbsolutePath()).append("//servlet.jar;");
classpath.append(wildfireLib.getAbsolutePath()).append("//wildfire.jar;");
classpath.append(wildfireLib.getAbsolutePath()).append("//jasper-compiler.jar;");
classpath.append(wildfireLib.getAbsolutePath()).append("//jasper-runtime.jar;");
classpath.append(openfireLib.getAbsolutePath()).append("//servlet.jar;");
classpath.append(openfireLib.getAbsolutePath()).append("//openfire.jar;");
classpath.append(openfireLib.getAbsolutePath()).append("//jasper-compiler.jar;");
classpath.append(openfireLib.getAbsolutePath()).append("//jasper-runtime.jar;");
if (pluginEnv.getClassesDir() != null) {
classpath.append(pluginEnv.getClassesDir().getAbsolutePath()).append(";");
......
......@@ -272,7 +272,7 @@ public class IQDiscoInfoHandler extends IQHandler {
Element identity = DocumentHelper.createElement("identity");
identity.addAttribute("category", "server");
identity.addAttribute("name", JiveGlobals.getProperty(
"xmpp.server.name", "Wildfire Server"));
"xmpp.server.name", "Openfire Server"));
identity.addAttribute("type", "im");
identities.add(identity);
......
......@@ -111,7 +111,7 @@ public class UserEventDispatcher {
* @param eventType the event type.
* @param params event parameters.
*/
public static void dispatchEvent(User user, EventType eventType, Map params) {
public static void dispatchEvent(User user, EventType eventType, Map<String,Object> params) {
for (UserEventListener listener : listeners) {
try {
switch (eventType) {
......
......@@ -30,7 +30,7 @@ public interface UserEventListener {
* @param user the user.
* @param params event parameters.
*/
public void userCreated(User user, Map params);
public void userCreated(User user, Map<String,Object> params);
/**
* A user is being deleted.
......@@ -38,7 +38,7 @@ public interface UserEventListener {
* @param user the user.
* @param params event parameters.
*/
public void userDeleting(User user, Map params);
public void userDeleting(User user, Map<String,Object> params);
/**
* A user's name, email, or an extended property was changed.
......@@ -46,5 +46,5 @@ public interface UserEventListener {
* @param user the user.
* @param params event parameters.
*/
public void userModified(User user, Map params);
public void userModified(User user, Map<String,Object> params);
}
\ No newline at end of file
......@@ -32,7 +32,7 @@ import java.util.concurrent.ConcurrentHashMap;
*
* The actual group implementation is controlled by the {@link GroupProvider}, which
* includes things like the group name, the members, and adminstrators. Each group
* also has properties, which are always stored in the Wildfire database.
* also has properties, which are always stored in the Openfire database.
*
* @see GroupManager#createGroup(String)
*
......
......@@ -18,7 +18,7 @@ import java.util.Collection;
/**
* Provider interface for groups. Users that wish to integrate with
* their own group system must implement this class and then register
* the implementation with Wildfire in the <tt>wildfire.xml</tt>
* the implementation with Openfire in the <tt>openfire.xml</tt>
* file. An entry in that file would look like the following:
*
* <pre>
......
......@@ -26,7 +26,7 @@ import java.util.*;
/**
* The JDBC group provider allows you to use an external database to define the make up of groups.
* It is best used with the JDBCAuthProvider to provide integration between your external system and
* Wildfire. All data is treated as read-only so any set operations will result in an exception.
* Openfire. All data is treated as read-only so any set operations will result in an exception.
*
* To enable this provider, set the following in the XML configuration file:
*
......
......@@ -30,7 +30,7 @@ import java.io.UnsupportedEncodingException;
import java.net.InetAddress;
/**
* Manages sessions for all users connecting to Wildfire using the HTTP binding protocal,
* Manages sessions for all users connecting to Openfire using the HTTP binding protocal,
* <a href="http://www.xmpp.org/extensions/xep-0124.html">XEP-0124</a>.
*/
public class HttpSessionManager {
......@@ -89,16 +89,16 @@ public class HttpSessionManager {
}
/**
* Creates an HTTP binding session which will allow a user to exchange packets with Wildfire.
* Creates an HTTP binding session which will allow a user to exchange packets with Openfire.
*
* @param address the internet address that was used to bind to Wildfie.
* @param rootNode the body element that was sent containing the request for a new session.
* @param connection the HTTP connection object which abstracts the individual connections to
* Wildfire over the HTTP binding protocol. The initial session creation response is returned to
* Openfire over the HTTP binding protocol. The initial session creation response is returned to
* this connection.
* @return the created HTTP session.
*
* @throws UnauthorizedException if the Wildfire server is currently in an uninitialized state.
* @throws UnauthorizedException if the Openfire server is currently in an uninitialized state.
* Either shutting down or starting up.
* @throws HttpBindException when there is an internal server error related to the creation of
* the initial session creation response.
......@@ -141,12 +141,12 @@ public class HttpSessionManager {
/**
* Returns the longest time (in seconds) that Wildfire is allowed to wait before responding to
* Returns the longest time (in seconds) that Openfire is allowed to wait before responding to
* any request during the session. This enables the client to prevent its TCP connection from
* expiring due to inactivity, as well as to limit the delay before it discovers any network
* failure.
*
* @return the longest time (in seconds) that Wildfire is allowed to wait before responding to
* @return the longest time (in seconds) that Openfire is allowed to wait before responding to
* any request during the session.
*/
public int getMaxWait() {
......@@ -155,7 +155,7 @@ public class HttpSessionManager {
}
/**
* Wildfire SHOULD include two additional attributes in the session creation response element,
* Openfire SHOULD include two additional attributes in the session creation response element,
* specifying the shortest allowable polling interval and the longest allowable inactivity
* period (both in seconds). Communication of these parameters enables the client to engage in
* appropriate behavior (e.g., not sending empty request elements more often than desired, and
......@@ -169,11 +169,11 @@ public class HttpSessionManager {
}
/**
* Wildfire MAY limit the number of simultaneous requests the client makes with the 'requests'
* Openfire MAY limit the number of simultaneous requests the client makes with the 'requests'
* attribute. The RECOMMENDED value is "2". Servers that only support polling behavior MUST
* prevent clients from making simultaneous requests by setting the 'requests' attribute to a
* value of "1" (however, polling is NOT RECOMMENDED). In any case, clients MUST NOT make more
* simultaneous requests than specified by the Wildfire.
* simultaneous requests than specified by the Openfire.
*
* @return the number of simultaneous requests allowable.
*/
......
......@@ -30,7 +30,7 @@ import java.io.*;
import java.net.URL;
/**
* Graphical launcher for Wildfire.
* Graphical launcher for Openfire.
*
* @author Matt Tucker
*/
......@@ -38,7 +38,7 @@ public class Launcher {
private String appName;
private File binDir;
private Process wildfired;
private Process openfired;
private File configFile;
private JPanel toolbar = new JPanel();
......@@ -78,7 +78,7 @@ public class Launcher {
appName = System.getProperty("app.name");
}
else {
appName = "Wildfire";
appName = "Openfire";
}
binDir = new File("").getAbsoluteFile();
......@@ -87,7 +87,7 @@ public class Launcher {
binDir = new File(System.getProperty("appdir"));
}
configFile = new File(new File(binDir.getParent(), "conf"), "wildfire.xml");
configFile = new File(new File(binDir.getParent(), "conf"), "openfire.xml");
frame = new DroppableFrame() {
public void fileDropped(File file) {
......@@ -111,8 +111,8 @@ public class Launcher {
splash = new ImageIcon(getClass().getClassLoader().getResource("splash.gif"));
splashLabel = new JLabel("", splash, JLabel.CENTER);
onIcon = new ImageIcon(getClass().getClassLoader().getResource("wildfire_on-16x16.gif"));
offIcon = new ImageIcon(getClass().getClassLoader().getResource("wildfire_off-16x16.gif"));
onIcon = new ImageIcon(getClass().getClassLoader().getResource("openfire_on-16x16.gif"));
offIcon = new ImageIcon(getClass().getClassLoader().getResource("openfire_off-16x16.gif"));
frame.setIconImage(offIcon.getImage());
}
catch (Exception e) {
......@@ -346,15 +346,15 @@ public class Launcher {
}
private synchronized void startApplication() {
if (wildfired == null) {
if (openfired == null) {
try {
File windowsExe = new File(binDir, "wildfired.exe");
File unixExe = new File(binDir, "wildfired");
File windowsExe = new File(binDir, "openfired.exe");
File unixExe = new File(binDir, "openfired");
if (windowsExe.exists()) {
wildfired = Runtime.getRuntime().exec(new String[]{windowsExe.toString()});
openfired = Runtime.getRuntime().exec(new String[]{windowsExe.toString()});
}
else if (unixExe.exists()) {
wildfired = Runtime.getRuntime().exec(new String[]{unixExe.toString()});
openfired = Runtime.getRuntime().exec(new String[]{unixExe.toString()});
}
else {
throw new FileNotFoundException();
......@@ -364,7 +364,7 @@ public class Launcher {
// Try one more time using the jar and hope java is on the path
try {
File libDir = new File(binDir.getParentFile(), "lib").getAbsoluteFile();
wildfired = Runtime.getRuntime().exec(new String[]{
openfired = Runtime.getRuntime().exec(new String[]{
"java", "-jar", new File(libDir, "startup.jar").toString()
});
}
......@@ -379,10 +379,10 @@ public class Launcher {
final SimpleAttributeSet styles = new SimpleAttributeSet();
SwingWorker inputWorker = new SwingWorker() {
public Object construct() {
if (wildfired != null) {
if (openfired != null) {
try {
// Get the input stream and read from it
InputStream in = wildfired.getInputStream();
InputStream in = openfired.getInputStream();
int c;
while ((c = in.read()) != -1) {
try {
......@@ -408,10 +408,10 @@ public class Launcher {
SwingWorker errorWorker = new SwingWorker() {
public Object construct() {
if (wildfired != null) {
if (openfired != null) {
try {
// Get the input stream and read from it
InputStream in = wildfired.getErrorStream();
InputStream in = openfired.getErrorStream();
int c;
while ((c = in.read()) != -1) {
try {
......@@ -453,10 +453,10 @@ public class Launcher {
}
private synchronized void stopApplication() {
if (wildfired != null) {
if (openfired != null) {
try {
wildfired.destroy();
wildfired.waitFor();
openfired.destroy();
openfired.waitFor();
cardLayout.show(cardPanel, "main");
}
catch (Exception e) {
......@@ -464,7 +464,7 @@ public class Launcher {
}
}
wildfired = null;
openfired = null;
}
private synchronized void launchBrowser() {
......
......@@ -3,6 +3,6 @@
<head>
</head>
<body>
<p>Laucher classes for Wildfire.</p>
<p>Laucher classes for Openfire.</p>
</body>
</html>
......@@ -26,7 +26,7 @@ import java.util.Enumeration;
/**
* Provider for authorization using LDAP. Checks if the authenticated
* principal is in the user's LDAP object using the authorizeField
* from the <tt>wildfire.xml</tt> file. An entry in that file would
* from the <tt>openfire.xml</tt> file. An entry in that file would
* look like the following:
*
* <pre>
......
......@@ -34,7 +34,7 @@ import java.util.*;
* &lt;/provider&gt;
* </pre><p/>
*
* and an xml vcard-mapping to wildfire.xml.<p/>
* and an xml vcard-mapping to openfire.xml.<p/>
*
* The vcard attributes can be configured by adding an <code>attrs="attr1,attr2"</code>
* attribute to the vcard elements.<p/>
......
......@@ -3,7 +3,7 @@
* $Revision: 3036 $
* $Date: 2005-11-07 15:15:00 -0300 (Mon, 07 Nov 2005) $
*
* Copyright (C) 2004 Jive Software. All rights reserved.
* Copyright (C) 2007 Jive Software. All rights reserved.
*
* This software is published under the terms of the GNU Public License (GPL),
* a copy of which is included in this distribution.
......@@ -307,4 +307,18 @@ public interface MultiUserChatServer extends Component {
* @return true if the MUC service is available.
*/
boolean isServiceEnabled();
/**
* Registers a listener to receive events.
*
* @param listener the listener.
*/
void addListener(MUCEventListener listener);
/**
* Unregisters a listener to receive events.
*
* @param listener the listener.
*/
void removeListener(MUCEventListener listener);
}
\ No newline at end of file
......@@ -204,8 +204,12 @@ public class MUCRoleImpl implements MUCRole {
}
public void changeNickname(String nickname) {
String oldNickname = this.nick;
this.nick = nickname;
setRoleAddress(new JID(room.getName(), server.getServiceDomain(), nick));
// Fire event that user changed his nickname
((MultiUserChatServerImpl) server)
.fireNicknameChanged(room.getRole().getRoleAddress(), user.getAddress(), oldNickname, nickname);
}
public MUCUser getChatUser() {
......
......@@ -39,7 +39,7 @@ public class MUCRoomImpl implements MUCRoom {
/**
* The server hosting the room.
*/
private MultiUserChatServer server;
private MultiUserChatServerImpl server;
/**
* The occupants of the room accessible by the occupants nickname.
......@@ -270,7 +270,7 @@ public class MUCRoomImpl implements MUCRoom {
* @param packetRouter the router for sending packets from the room.
*/
MUCRoomImpl(MultiUserChatServer chatserver, String roomname, PacketRouter packetRouter) {
this.server = chatserver;
this.server = (MultiUserChatServerImpl) chatserver;
this.name = roomname;
this.naturalLanguageName = roomname;
this.description = roomname;
......@@ -562,6 +562,8 @@ public class MUCRoomImpl implements MUCRoom {
}
// Update the date when the last occupant left the room
setEmptyDate(null);
// Fire event that occupant joined the room
server.fireOccupantJoined(getRole().getRoleAddress(), user.getAddress(), joinRole.getNickname());
return joinRole;
}
......@@ -620,6 +622,8 @@ public class MUCRoomImpl implements MUCRoom {
if (occupants.isEmpty() && !isPersistent()) {
endTime = System.currentTimeMillis();
server.removeChatRoom(name);
// Fire event that the room has been destroyed
server.fireRoomDestroyed(getRole().getRoleAddress());
}
if (occupants.isEmpty()) {
// Update the date when the last occupant left the room
......@@ -675,10 +679,12 @@ public class MUCRoomImpl implements MUCRoom {
}
}
occupantsByFullJID.remove(user.getAddress());
// Fire event that occupant left the room
server.fireOccupantLeft(getRole().getRoleAddress(), user.getAddress());
}
public void destroyRoom(String alternateJID, String reason) {
MUCRole leaveRole = null;
MUCRole leaveRole;
Collection<MUCRole> removedRoles = new ArrayList<MUCRole>();
lock.writeLock().lock();
try {
......@@ -733,6 +739,8 @@ public class MUCRoomImpl implements MUCRoom {
}
// Remove the room from the DB if the room was persistent
MUCPersistenceManager.deleteFromDB(this);
// Fire event that the room has been destroyed
server.fireRoomDestroyed(getRole().getRoleAddress());
}
public Presence createPresence(Presence.Type presenceType) throws UnauthorizedException {
......@@ -759,6 +767,9 @@ public class MUCRoomImpl implements MUCRoom {
// Send the message to all occupants
message.setFrom(senderRole.getRoleAddress());
send(message);
// Fire event that message was receibed by the room
server.fireMessageReceived(getRole().getRoleAddress(), senderRole.getChatUser().getAddress(),
senderRole.getNickname(), message);
}
public void sendPrivatePacket(Packet packet, MUCRole senderRole) throws NotFoundException {
......
......@@ -36,6 +36,7 @@ import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
......@@ -196,6 +197,8 @@ public class MultiUserChatServerImpl extends BasicModule implements MultiUserCha
*/
private boolean serviceEnabled = true;
Collection<MUCEventListener> listeners = new ConcurrentLinkedQueue<MUCEventListener>();
/**
* Create a new group chat server.
*/
......@@ -439,6 +442,10 @@ public class MultiUserChatServerImpl extends BasicModule implements MultiUserCha
}
}
room.addFirstOwner(userjid.toBareJID());
// Fire event that a new room has been created
for (MUCEventListener listener : listeners) {
listener.roomCreated(room.getRole().getRoleAddress());
}
}
rooms.put(roomName, room);
}
......@@ -1150,6 +1157,44 @@ public class MultiUserChatServerImpl extends BasicModule implements MultiUserCha
return room.isPublicRoom();
}
public void addListener(MUCEventListener listener) {
listeners.add(listener);
}
public void removeListener(MUCEventListener listener) {
listeners.remove(listener);
}
void fireOccupantJoined(JID roomJID, JID user, String nickname) {
for (MUCEventListener listener : listeners) {
listener.occupantJoined(roomJID, user, nickname);
}
}
void fireOccupantLeft(JID roomJID, JID user) {
for (MUCEventListener listener : listeners) {
listener.occupantLeft(roomJID, user);
}
}
void fireNicknameChanged(JID roomJID, JID user, String oldNickname, String newNickname) {
for (MUCEventListener listener : listeners) {
listener.nicknameChanged(roomJID, user, oldNickname, newNickname);
}
}
void fireMessageReceived(JID roomJID, JID user, String nickname, Message message) {
for (MUCEventListener listener : listeners) {
listener.messageReceived(roomJID, user, nickname, message);
}
}
void fireRoomDestroyed(JID roomJID) {
for (MUCEventListener listener : listeners) {
listener.roomDestroyed(roomJID);
}
}
/**
* Converts an array to a comma-delimitted String.
*
......
......@@ -24,9 +24,9 @@ import java.util.Map;
import java.util.TimerTask;
/**
* Publishes Wildfire information as a service using the Multicast DNS (marketed by Apple
* Publishes Openfire information as a service using the Multicast DNS (marketed by Apple
* as Rendezvous) protocol. This lets other nodes on the local network to discover
* the name and port of Wildfire.<p>
* the name and port of Openfire.<p>
*
* The multicast DNS entries published:<ul>
* <li>Client connections: type of "_xmpp-client._tcp.local.".
......
......@@ -578,7 +578,7 @@ public class SASLAuthentication {
* new mechanism will be offered to clients and connection managers as stream features.<p>
*
* Note: this method simply registers the SASL mechanism to be advertised as a supported
* mechanism by Wildfire. Actual SASL handling is done by Java itself, so you must add
* mechanism by Openfire. Actual SASL handling is done by Java itself, so you must add
* the provider to Java.
*
* @param mechanism the new SASL mechanism.
......
......@@ -27,7 +27,7 @@ import java.security.cert.X509Certificate;
import java.util.List;
/**
* Configuration of Wildfire's SSL settings.
* Configuration of Openfire's SSL settings.
*
* @author Iain Shigeoka
*/
......
......@@ -26,7 +26,7 @@ import org.jivesoftware.util.Log;
/**
* A custom KeyManagerFactory that creates a key manager list using the
* default key manager or a standard keystore as specified in wildfire.xml.
* default key manager or a standard keystore as specified in openfire.xml.
* The default keystore provided with the Jive distribution uses the Sun Java
* Keystore (JKS) and that takes a single password which must apply to both the
* keystore and the key itself. Users may specify another keystore type and keystore
......
......@@ -25,7 +25,7 @@ import org.jivesoftware.util.Log;
/**
* A custom TrustManagerFactory that creates a trust manager list using the
* default trust manager or a standard keystore as specified in wildfire.xml.
* default trust manager or a standard keystore as specified in openfire.xml.
* There is no default trust keystore provided with the Jive distribution as most
* clients will not need to be authenticated with the server.
* <p/>
......
......@@ -72,7 +72,7 @@ public class RosterItemProvider {
*
* <b>Important!</b> The item passed as a parameter to this method is strictly a convenience
* for passing all of the data needed for a new roster item. The roster item returned from the
* method will be cached by Wildfire. In some cases, the roster item passed in will be passed
* method will be cached by Openfire. In some cases, the roster item passed in will be passed
* back out. However, if an implementation may return RosterItems as a separate class
* (for example, a RosterItem that directly accesses the backend storage, or one that is an
* object in an object database).<p>
......@@ -117,7 +117,7 @@ public class RosterItemProvider {
* Update the roster item in storage with the information contained in the given item
* (optional operation).<p>
*
* If you don't want roster items edited through wildfire, throw UnsupportedOperationException.
* If you don't want roster items edited through openfire, throw UnsupportedOperationException.
*
* @param username the username of the user/chatbot that owns the roster item
* @param item The roster item to update
......@@ -158,7 +158,7 @@ public class RosterItemProvider {
/**
* Delete the roster item with the given itemJID for the user (optional operation).<p>
*
* If you don't want roster items deleted through wildfire, throw
* If you don't want roster items deleted through openfire, throw
* UnsupportedOperationException.
*
* @param username the long ID of the user/chatbot that owns the roster item
......
......@@ -21,7 +21,7 @@ package org.jivesoftware.wildfire.sasl;
* Users that wish to integrate with their own authorization
* system must extend this class and implement the
* AuthorizationProvider interface then register the class
* with Wildfire in the <tt>wildfire.xml</tt> file. An entry
* with Openfire in the <tt>openfire.xml</tt> file. An entry
* in that file would look like the following:
*
* <pre>
......
......@@ -24,7 +24,7 @@ import java.util.Collection;
* Users that wish to integrate with their own authorization
* system must extend this class and implement the
* AuthorizationProvider interface then register the class
* with Wildfire in the <tt>wildfire.xml</tt> file. An entry
* with Openfire in the <tt>openfire.xml</tt> file. An entry
* in that file would look like the following:
*
* <pre>
......
......@@ -77,7 +77,7 @@ public class AuthorizationManager {
* Returns the currently-installed AuthorizationProvider. Warning: You
* should not be calling the AuthorizationProvider directly to perform
* authorizations, it will not take into account the policy selected in
* the <tt>wildfire.xml</tt>. Use @see{authorize} in this class, instead.
* the <tt>openfire.xml</tt>. Use @see{authorize} in this class, instead.
*
* @return the current AuthorizationProvider.
*/
......
......@@ -16,7 +16,7 @@ import org.jivesoftware.wildfire.auth.UnauthorizedException;
/**
* Provider interface for authorization policy. Users that wish to integrate with
* their own authorization system must implement this class and then register
* the implementation with Wildfire in the <tt>wildfire.xml</tt>
* the implementation with Openfire in the <tt>openfire.xml</tt>
* file. An entry in that file would look like the following:
*
* <pre>
......
......@@ -20,7 +20,7 @@ package org.jivesoftware.wildfire.sasl;
* encouraged to extend either the AbstractAuthoriationPolicy
* or the AbstractAuthorizationProvider classes which allow
* the admin console manage the classes more effectively.
* Register the class with Wildfire in the <tt>wildfire.xml</tt>
* Register the class with Openfire in the <tt>openfire.xml</tt>
* file. An entry in that file would look like the following:
*
* <pre>
......
......@@ -24,7 +24,7 @@ import java.util.Collection;
/**
* Provider for authorization. Checks if the authenticated principal is in
* the user's .k5login file. A traditional Unix Kerberos methodology. The
* location of this file can be configured in the <tt>wildfire.xml</tt>
* location of this file can be configured in the <tt>openfire.xml</tt>
* file. An entry in that file would look like the following:
*
* <pre>
......
......@@ -21,7 +21,7 @@ import java.util.jar.JarOutputStream;
* Starts the core XMPP server. A bootstrap class that configures classloaders
* to ensure easy, dynamic server startup.
*
* This class should be for standalone mode only. Wildfire servers launched
* This class should be for standalone mode only. Openfire servers launched
* through a J2EE container (servlet/EJB) will use those environment's
* classloading facilities to ensure proper startup.<p>
*
......@@ -33,7 +33,7 @@ import java.util.jar.JarOutputStream;
* </ul>
*
* Note: if the enviroment property <tt>wildfire.lib.directory</tt> is specified
* ServerStarter will attempt to use this value as the value for wildfire's lib
* ServerStarter will attempt to use this value as the value for openfire's lib
* directory. If the property is not specified the default value of ../lib will be used.
*
* @author Iain Shigeoka
......@@ -141,7 +141,7 @@ public class ServerStarter {
String jarName = packedFile.getName().substring(0,
packedFile.getName().length() - ".pack".length());
// Delete JAR file with same name if it exists (could be due to upgrade
// from old Wildfire release).
// from old Openfire release).
File jarFile = new File(libDir, jarName);
if (jarFile.exists()) {
jarFile.delete();
......
......@@ -44,7 +44,7 @@ public class PluginDownloadManager {
}
/**
* Installs a new plugin into Wildfire.
* Installs a new plugin into Openfire.
*
* @param url the url of the plugin to install.
* @param hashCode the matching hashcode of the <code>AvailablePlugin</code>.
......
......@@ -13,7 +13,7 @@ package org.jivesoftware.wildfire.update;
/**
* An Update represents a component that needs to be updated. By component we can refer
* to the Wildfire server itself or to any of the installed plugins.
* to the Openfire server itself or to any of the installed plugins.
*
* @author Gaston Dombiak
*/
......@@ -21,7 +21,7 @@ public class Update {
/**
* Name of the component that is outdated. The name could be of the server
* (i.e. "Wildfire") or of installed plugins.
* (i.e. "Openfire") or of installed plugins.
*/
private String componentName;
/**
......@@ -39,7 +39,7 @@ public class Update {
/**
* Flag that indicates if the plugin was downloaded. This flag only makes sense for
* plugins since we currently do not support download new wildfire releases.
* plugins since we currently do not support download new openfire releases.
*/
private boolean downloaded;
......@@ -52,7 +52,7 @@ public class Update {
/**
* Returns the name of the component that is outdated. When the server is the
* outdated component then a "Wildfire" will be returned. Otherwise, the name of
* outdated component then a "Openfire" will be returned. Otherwise, the name of
* the outdated plugin is returned.
*
* @return the name of the component that is outdated.
......@@ -91,7 +91,7 @@ public class Update {
/**
* Returns true if the plugin was downloaded. Once a plugin has been downloaded
* it may take a couple of seconds to be installed. This flag only makes sense for
* plugins since we currently do not support download new wildfire releases.
* plugins since we currently do not support download new openfire releases.
*
* @return true if the plugin was downloaded.
*/
......@@ -102,7 +102,7 @@ public class Update {
/**
* Sets if the plugin was downloaded. Once a plugin has been downloaded
* it may take a couple of seconds to be installed. This flag only makes sense for
* plugins since we currently do not support download new wildfire releases.
* plugins since we currently do not support download new openfire releases.
*
* @param downloaded true if the plugin was downloaded.
*/
......
......@@ -120,7 +120,7 @@ public class UpdateManager extends BasicModule {
JiveGlobals.setProperty("update.lastCheck", String.valueOf(now));
// As an extra precaution, make sure that that the value
// we just set is saved. If not, return to make sure that
// no additional update checks are performed until Wildfire
// no additional update checks are performed until Openfire
// is restarted.
if (now != JiveGlobals.getLongProperty("update.lastCheck", 0)) {
Log.error("Error: update service check did not save correctly. " +
......@@ -471,9 +471,9 @@ public class UpdateManager extends BasicModule {
private String getServerUpdateRequest() {
XMPPServer server = XMPPServer.getInstance();
Element xmlRequest = docFactory.createDocument().addElement("version");
// Add current wildfire version
Element wildfire = xmlRequest.addElement("wildfire");
wildfire.addAttribute("current", server.getServerInfo().getVersion().getVersionString());
// Add current openfire version
Element openfire = xmlRequest.addElement("wildfire");
openfire.addAttribute("current", server.getServerInfo().getVersion().getVersionString());
return xmlRequest.asXML();
}
......@@ -493,14 +493,14 @@ public class UpdateManager extends BasicModule {
xmlReader.setEncoding("UTF-8");
Element xmlResponse = xmlReader.read(new StringReader(response)).getRootElement();
// Parse response and keep info as Update objects
Element wildfire = xmlResponse.element("wildfire");
if (wildfire != null) {
// A new version of wildfire was found
String latestVersion = wildfire.attributeValue("latest");
String changelog = wildfire.attributeValue("changelog");
String url = wildfire.attributeValue("url");
Element openfire = xmlResponse.element("wildfire");
if (openfire != null) {
// A new version of openfire was found
String latestVersion = openfire.attributeValue("latest");
String changelog = openfire.attributeValue("changelog");
String url = openfire.attributeValue("url");
// Keep information about the available server update
serverUpdate = new Update("Wildfire", latestVersion, changelog, url);
serverUpdate = new Update("Openfire", latestVersion, changelog, url);
}
// Check if we need to send notifications to admins
if (notificationsEnabled && isNotificationEnabled() && serverUpdate != null) {
......@@ -597,7 +597,7 @@ public class UpdateManager extends BasicModule {
}
/**
* Saves to conf/server-update.xml information about the latest Wildfire release that is
* Saves to conf/server-update.xml information about the latest Openfire release that is
* available for download.
*/
private void saveLatestServerInfo() {
......@@ -746,16 +746,16 @@ public class UpdateManager extends BasicModule {
}
}
// Parse info and recreate update information (if still required)
Element wildfire = xmlResponse.getRootElement().element("wildfire");
if (wildfire != null) {
String latestVersion = wildfire.attributeValue("latest");
String changelog = wildfire.attributeValue("changelog");
String url = wildfire.attributeValue("url");
Element openfire = xmlResponse.getRootElement().element("wildfire");
if (openfire != null) {
String latestVersion = openfire.attributeValue("latest");
String changelog = openfire.attributeValue("changelog");
String url = openfire.attributeValue("url");
// Check if current server version is correct
String serverVersion =
XMPPServer.getInstance().getServerInfo().getVersion().getVersionString();
if (serverVersion.compareTo(latestVersion) < 0) {
serverUpdate = new Update("Wildfire", latestVersion, changelog, url);
serverUpdate = new Update("Openfire", latestVersion, changelog, url);
}
}
}
......
......@@ -24,11 +24,11 @@ import java.util.Date;
* from the <tt>jiveUser</tt> database table.<p>
*
* Passwords can be stored as plain text, or encrypted using Blowfish. The
* encryption/decryption key is stored as the Wildfire property <tt>passwordKey</tt>,
* encryption/decryption key is stored as the Openfire property <tt>passwordKey</tt>,
* which is automatically created on first-time use. It's critical that the password key
* not be changed once created, or existing passwords will be lost. By default
* passwords will be stored encrypted. Plain-text password storage can be enabled
* by setting the Wildfire property <tt>user.usePlainPassword</tt> to <tt>true</tt>.
* by setting the Openfire property <tt>user.usePlainPassword</tt> to <tt>true</tt>.
*
* @author Matt Tucker
*/
......
......@@ -22,7 +22,7 @@ import java.util.Date;
/**
* The JDBC user provider allows you to use an external database to define the users.
* It is best used with the JDBCAuthProvider & JDBCGroupProvider to provide integration
* between your external system and Wildfire. All data is treated as read-only so any
* between your external system and Openfire. All data is treated as read-only so any
* set operations will result in an exception.<p/>
*
* For the seach facility, the SQL will be constructed from the SQL in the <i>search</i>
......
......@@ -168,7 +168,7 @@ public class User implements Cacheable {
this.name = name;
// Fire event.
Map<String,String> params = new HashMap<String,String>();
Map<String,Object> params = new HashMap<String,Object>();
params.put("type", "nameModified");
params.put("originalValue", originalName);
UserEventDispatcher.dispatchEvent(this, UserEventDispatcher.EventType.user_modified,
......@@ -198,7 +198,7 @@ public class User implements Cacheable {
UserManager.getUserProvider().setEmail(username, email);
this.email = email;
// Fire event.
Map<String,String> params = new HashMap<String,String>();
Map<String,Object> params = new HashMap<String,Object>();
params.put("type", "emailModified");
params.put("originalValue", originalEmail);
UserEventDispatcher.dispatchEvent(this, UserEventDispatcher.EventType.user_modified,
......
......@@ -130,8 +130,8 @@ public class UserManager implements IQResultListener {
userCache.put(username, user);
// Fire event.
UserEventDispatcher.dispatchEvent(user, UserEventDispatcher.EventType.user_created,
Collections.emptyMap());
Map<String,Object> params = Collections.emptyMap();
UserEventDispatcher.dispatchEvent(user, UserEventDispatcher.EventType.user_created, params);
return user;
}
......@@ -156,8 +156,8 @@ public class UserManager implements IQResultListener {
}
// Fire event.
UserEventDispatcher.dispatchEvent(user, UserEventDispatcher.EventType.user_deleting,
Collections.emptyMap());
Map<String,Object> params = Collections.emptyMap();
UserEventDispatcher.dispatchEvent(user, UserEventDispatcher.EventType.user_deleting, params);
provider.deleteUser(user.getUsername());
// Remove the user from cache.
......
......@@ -75,6 +75,23 @@ public class UserNameManager {
* found for that jid.
*/
public static String getUserName(JID entity) throws UserNotFoundException {
return getUserName(entity, entity.toString());
}
/**
* Returns the name of the XMPP entity. If the entity is a local user then the User's name
* will be returned. However, if the user is not a local user then check if there exists a
* UserNameProvider that provides name for the specified domain. If none was found then
* the vCard of the entity might be requested and if none was found then a string
* representation of the entity's JID will be returned.
*
* @param entity the JID of the entity to get its name.
* @param defaultName default name to return when no name was found.
* @return the name of the XMPP entity.
* @throws UserNotFoundException if the jid belongs to the local server but no user was
* found for that jid.
*/
public static String getUserName(JID entity, String defaultName) throws UserNotFoundException {
if (server.isLocal(entity)) {
// Contact is a local entity so search for his user name
User localUser = UserManager.getInstance().getUser(entity.getNode());
......@@ -90,7 +107,7 @@ public class UserNameManager {
// TODO high traffic.
// Return the jid itself as the username
return entity.toString();
return defaultName;
}
}
}
......@@ -4,20 +4,20 @@
</head>
<body>
<p>Provides the interfaces and classes necessary to create custom
user account data providers for Wildfire.</p>
user account data providers for Openfire.</p>
<p>User accounts are handled separately from authentication. The three
primary interfaces to implement are the UserIDProvider,
UserAccountProvider, and UserInfoProvider. An overview of how these
providers should be implemented and how they interact is described in
the User Account Provider Guide included in the Wildfire distribution.</p>
the User Account Provider Guide included in the Openfire distribution.</p>
<p>There are several Roster (a.k.a. Buddy List) related classes in the
user package. Developers are strongly discouraged from implementing
custom RosterProvider classes. Roster provider implementation is
complicated and should be left to the Jive JDBC implementation if at
all possible. There are no disadvantages in implementing user account
data with custom providers to integrate Wildfire with a CRM or ERP
data with custom providers to integrate Openfire with a CRM or ERP
user system, while leaving roster storage in Jive's standard JDBC
database tables. (Note: Wildfire comes with JDBC and LDAP user account
database tables. (Note: Openfire comes with JDBC and LDAP user account
providers 'out of the box'. It is expected that LDAP will accomodate
many enterprise integration needs).</p>
</body>
......
<body>
Wildfire is an open-source XMPP server.
Openfire is an open-source XMPP server.
</body>
\ No newline at end of file
......@@ -51,7 +51,7 @@ Broadcast Plugin Changelog
<p><b>1.5.1</b> -- October 06, 2006</p>
<ul>
<li>Updated to use compression offered by Wildfire 3.1</li>
<li>Updated to use compression offered by Openfire 3.1</li>
</ul>
<p><b>1.5.0</b> -- March 06, 2006</p>
......@@ -70,17 +70,17 @@ Broadcast Plugin Changelog
<p><b>1.3.1</b> -- December 15, 2005</p>
<ul>
<li>Now requires Wildfire 2.4.0</li>
<li>Now requires Openfire 2.4.0</li>
</ul>
<p><b>1.3</b> -- December 1, 2005</p>
<ul>
<li>Now requires Wildfire 2.3.1</li>
<li>Now requires Openfire 2.3.1</li>
</ul>
<p><b>1.2</b> -- April 11, 2005</p>
<ul>
<li>Now requires Wildfire 2.1.3</li>
<li>Now requires Openfire 2.1.3</li>
<li>Listens for properties being set and removed.
</ul>
......
......@@ -52,13 +52,13 @@ primarily useful for sending announcements or notifications.
<h2>Installation</h2>
<p>Copy broadcast.jar into the plugins directory of your Wildfire installation. The
<p>Copy broadcast.jar into the plugins directory of your Openfire installation. The
plugin will then be automatically deployed. To upgrade to a new version, copy the new
broadcast.jar file over the existing file.</p>
<h2>Configuration</h2>
The broadcast plugin is configured via Wildfire system properties. These can
The broadcast plugin is configured via Openfire system properties. These can
be configured under Server/Server Manager/System Properties:
<ul>
......
......@@ -46,12 +46,12 @@ ContentFilter Plugin Changelog
<p><b>1.4.0</b> -- February 06, 2007</p>
<ul>
<li>Now requires Wildfire 3.2.0</li>
<li>Now requires Openfire 3.2.0</li>
</ul>
<p><b>1.3.1</b> -- October 06, 2006</p>
<ul>
<li>Updated to use compression offered by Wildfire 3.1</li>
<li>Updated to use compression offered by Openfire 3.1</li>
</ul>
<p><b>1.3.0</b> -- May 8, 2006</p>
......@@ -88,7 +88,7 @@ ContentFilter Plugin Changelog
<p><b>1.0.1</b> -- December 15, 2005</p>
<ul>
<li>Now requires Wildfire 2.4.0</li>
<li>Now requires Openfire 2.4.0</li>
</ul>
......
......@@ -635,13 +635,13 @@ public class ContentFilterPlugin implements Plugin, PacketInterceptor {
User user = UserManager.getInstance().getUser(violationContact);
//this is automatically put on a another thread for execution.
EmailService.getInstance().sendMessage(user.getName(), user.getEmail(), "Wildfire",
EmailService.getInstance().sendMessage(user.getName(), user.getEmail(), "Openfire",
"no_reply@" + violationNotificationFrom.getDomain(), subject, body, null);
}
catch (Throwable e) {
// catch throwable in case email setup is invalid
Log.error("Content Filter: Failed to send email, please review Wildfire setup", e);
Log.error("Content Filter: Failed to send email, please review Openfire setup", e);
}
}
}
\ No newline at end of file
......@@ -228,7 +228,7 @@ hr {
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-148'>GATE-148</a>] - If some users/groups are ignored during permissions setting, now reflected after save</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-156'>GATE-156</a>] - Messages sent to remote users trying to register</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-158'>GATE-158</a>] - Killing spaces in AIM screen names automatically</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-164'>GATE-164</a>] - Messages coming in from ICQ through gateway to XMPP user are now logged (via fix in wildfire 3.2.0)</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-164'>GATE-164</a>] - Messages coming in from ICQ through gateway to XMPP user are now logged (via fix in openfire 3.2.0)</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-168'>GATE-168</a>] - Added ability to turn on 'percent hack' for @ translation in JIDs</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-174'>GATE-174</a>] - Separated stable transports from unstable ones in web interface</li>
</ul>
......@@ -294,7 +294,7 @@ hr {
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-47'>GATE-47</a>] - Delete functionality fixed for all but OSCAR</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-71'>GATE-71</a>] - NullPointerException during registration fixed</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-91'>GATE-91</a>] - Postgres/Other DBs duplicate key error fixed</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-96'>GATE-96</a>] - Weird entries are no longer showing up in actual real roster in wildfire</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-96'>GATE-96</a>] - Weird entries are no longer showing up in actual real roster in openfire</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-98'>GATE-98</a>] - MSN errors off and on while connecting fixed</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-99'>GATE-99</a>] - AIM/ICQ was not reflecting offline status when logged off</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-105'>GATE-105</a>] - Registration was not causing automatic login</li>
......@@ -372,7 +372,7 @@ hr {
<b>Bug Fixes</b>
<ul>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-36'>GATE-36</a>] - Locale pieces from wildfire don't carry into plugin admin interface</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-36'>GATE-36</a>] - Locale pieces from openfire don't carry into plugin admin interface</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-40'>GATE-40</a>] - Pseudo roster not updating properly</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-41'>GATE-41</a>] - SQLServer script should use BIGINT</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-43'>GATE-43</a>] - IRC filter button does not stay checked</li>
......
......@@ -2,7 +2,7 @@
<html>
<head>
<title>Wildfire Readme</title>
<title>Openfire Readme</title>
<style type="text/css">
/* global font and body settings */
body {
......@@ -175,7 +175,7 @@ hr {
<h2>Installation</h2>
<p>
Copy the gateway.jar into the plugins directory of your Wildfire
Copy the gateway.jar into the plugins directory of your Openfire
installation. The plugin will then be automatically deployed. To upgrade to a
new version, copy the new gateway.jar file over the existing file. Please
be aware that an upgrade will cause all of the users on your server who are
......@@ -186,7 +186,7 @@ hr {
<h2>Configuration</h2>
<p>
By default, after the plugin has been deployed all of its features are disabled.
This plugin is configured via the "Gateways" sidebar item located in the Wildfire
This plugin is configured via the "Gateways" sidebar item located in the Openfire
Admin Console. You can enable individual transports via the "Settings" sidebar
item, and add new registrations/view existing registrations from the "Registrations"
sidebar item.
......@@ -202,7 +202,7 @@ hr {
transport itself can "hear" them come online, and act appropriately (logging
them in and such). In this case, we interact with the user's roster directly,
so there is no need for a flood of subscription requests to the client itself.
A side effect of this is that only users of the local Wildfire server will
A side effect of this is that only users of the local Openfire server will
be able to make use of any transport on the gateway. Roster items are created
as non-persistent, which means that when the end user logs out or disconnects
from the gateway, the associated transport roster items will no longer exist
......@@ -237,7 +237,7 @@ hr {
though. There may be ranges of IP addresses or something that you can
open up but I do not know those lists. Also, it is now possible to change
the initial connect host and port via
<a href="http://wiki.igniterealtime.org/display/WILDFIRE/Wildfire+Properties">Wildfire Properties</a>.
<a href="http://wiki.igniterealtime.org/display/WILDFIRE/Wildfire+Properties">Openfire Properties</a>.
</p>
<p>
There is additional documentation available at:
......
......@@ -825,7 +825,7 @@ public abstract class BaseTransport implements Component, RosterEventListener {
if (packet.getType() == IQ.Type.get) {
IQ result = IQ.createResultIQ(packet);
Element query = DocumentHelper.createElement(QName.get("query", IQ_VERSION));
query.addElement("name").addText("Wildfire " + this.getDescription());
query.addElement("name").addText("Openfire " + this.getDescription());
query.addElement("version").addText(XMPPServer.getInstance().getServerInfo().getVersion().getVersionString() + " - " + this.getVersionString());
query.addElement("os").addText(System.getProperty("os.name"));
result.setChildElement(query);
......
......@@ -27,7 +27,7 @@ import java.sql.*;
* as well as a registration date and last login date.<p>
*
* The password for the transport registration is stored in encrypted form using
* the Wildfire password encryption key. See {@link AuthFactory#encryptPassword(String)}.
* the Openfire password encryption key. See {@link AuthFactory#encryptPassword(String)}.
*
* @author Matt Tucker
*/
......
......@@ -180,7 +180,7 @@ public class IRCListener implements IRCEventListener {
if (msg.equals("VERSION")) {
// This is actually a CTCP VERSION request. Why is it showing as a Privmsg?
// TODO: Should figure out a proper way to handle this.
//getSession().getConnection().send("CTCP REPLY "+ircUser.getNick()+" VERSION IM Gateway Plugin for Wildfire");
//getSession().getConnection().send("CTCP REPLY "+ircUser.getNick()+" VERSION IM Gateway Plugin for Openfire");
return;
}
getSession().getTransport().sendMessage(
......
......@@ -57,7 +57,7 @@ public class IRCSession extends TransportSession {
password = (password == null || password.equals("")) ? null : password;
String nickname = registration.getNickname();
conn = new IRCConnection(server, ports, password, nickname, username, "Wildfire User");
conn = new IRCConnection(server, ports, password, nickname, username, "Openfire User");
conn.setPong(true);
conn.setDaemon(false);
conn.setColors(false);
......
......@@ -70,7 +70,7 @@ incoming traffic and the NIO networking layer.
<h2>Installation</h2>
<p>
Copy the file, &quot;statistic.jar&quot; into the plugins directory of your Wildfire installation. The plugin will
Copy the file, &quot;statistic.jar&quot; into the plugins directory of your Openfire installation. The plugin will
then be automatically deployed.
</p>
......
......@@ -81,7 +81,7 @@ public class StatCollector extends TimerTask {
sb.append(executor.getCompletedTaskCount());
// Add info about number of connected sessions
sb.append(',');
sb.append(SessionManager.getInstance().getSessionCount());
sb.append(SessionManager.getInstance().getConnectionsCount());
// Add info about MINA statistics
sb.append(',');
sb.append(statCollector.getMsgRead());
......
......@@ -58,7 +58,7 @@ Presence Plugin Changelog
<p><b>1.3.2</b> -- October 06, 2006</p>
<ul>
<li>Updated to use compression offered by Wildfire 3.1</li>
<li>Updated to use compression offered by Openfire 3.1</li>
</ul>
<p><b>1.3.1</b> -- July 19, 2006</p>
......@@ -80,12 +80,12 @@ Presence Plugin Changelog
<p><b>1.1.2</b> -- March 9, 2006</p>
<ul>
<li>Now requires Wildfire 2.5.1</li>
<li>Now requires Openfire 2.5.1</li>
</ul>
<p><b>1.1.1</b> -- December 15, 2005</p>
<ul>
<li>Now requires Wildfire 2.4.0</li>
<li>Now requires Openfire 2.4.0</li>
</ul>
<p><b>1.1</b> -- Jul 25, 2005</p>
......
......@@ -64,13 +64,13 @@ poll for presence information from a web service.
<h2>Installation</h2>
<p>Copy presence.jar into the plugins directory of your Wildfire installation. The
<p>Copy presence.jar into the plugins directory of your Openfire installation. The
plugin will then be automatically deployed. To upgrade to a new version, copy the new
presence.jar file over the existing file.</p>
<h2>Configuration</h2>
The presence plugin can be configured via the Wildfire Admin Console.
The presence plugin can be configured via the Openfire Admin Console.
Use the configuration page to specify whether presence information should be available
to anyone or restricted to authorized users (users which have presence subscriptions).
The status message for unavailable users can also be changed from the default of
......@@ -178,8 +178,8 @@ custom images that should be used to display the user's presence:</p>
<p><b>Working With Firewalls</b></p>
<p>Because the presence plugin runs within the Wildfire admin console web container, users
behind firewalls may have problems seeing the presence icons. For example, if the Wildfire
<p>Because the presence plugin runs within the Openfire admin console web container, users
behind firewalls may have problems seeing the presence icons. For example, if the Openfire
admin console runs on the default port of 9090 and a user is only allowed to receive HTTP traffic
on port 80, then a web request like the following won't work:</p>
<ul>
......
......@@ -48,12 +48,12 @@ Registration Plugin Changelog
<ul>
<li>Fixed issue where the username was not being escaped properly on the web sign-up page.
<li>Added internationalization (i18n) support.</li>
<li>Updated UI to match later versions of Wildfire.</li>
<li>Updated UI to match later versions of Openfire.</li>
</ul>
<p><b>1.3.1</b> -- October 06, 2006</p>
<ul>
<li>Updated to use compression offered by Wildfire 3.1</li>
<li>Updated to use compression offered by Openfire 3.1</li>
</ul>
<p><b>1.3.0</b> -- January 6, 2006</p>
......@@ -63,12 +63,12 @@ Registration Plugin Changelog
<p><b>1.2.1</b> -- December 15, 2005</p>
<ul>
<li>Now requires Wildfire 2.4.0</li>
<li>Now requires Openfire 2.4.0</li>
</ul>
<p><b>1.2</b> -- December 1, 2005</p>
<ul>
<li>Now requires Wildfire 2.3.1</li>
<li>Now requires Openfire 2.3.1</li>
</ul>
<p><b>1.1</b> -- August 10, 2005</p>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment