Author: elecharny
Date: Thu Nov 1 10:56:31 2012
New Revision: 1404539
URL: http://svn.apache.org/viewvc?rev=1404539&view=rev
Log:
Reviewed and fix Vysper pages
Modified:
mina/site/trunk/content/vysper/extension_roadmap.mdtext
mina/site/trunk/content/vysper/mailing_lists.mdtext
mina/site/trunk/content/vysper/server_standalone.mdtext
mina/site/trunk/content/vysper/server_to_server_comm.mdtext
mina/site/trunk/content/vysper/service_discovery.mdtext
mina/site/trunk/content/vysper/socks5.mdtext
mina/site/trunk/content/vysper/sources.mdtext
mina/site/trunk/content/vysper/standards_supported.mdtext
mina/site/trunk/content/vysper/test_client.mdtext
mina/site/trunk/content/vysper/user_mgmt.mdtext
mina/site/trunk/content/vysper/websocket_endpoint.mdtext
Modified: mina/site/trunk/content/vysper/extension_roadmap.mdtext
URL:
http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/extension_roadmap.mdtext?rev=1404539&r1=1404538&r2=1404539&view=diff
==============================================================================
--- mina/site/trunk/content/vysper/extension_roadmap.mdtext (original)
+++ mina/site/trunk/content/vysper/extension_roadmap.mdtext Thu Nov 1 10:56:31
2012
@@ -28,81 +28,30 @@ This is not set in stone! It's just ther
## Completed
-<DIV class="table-wrap">
-<TABLE class="confluenceTable"><TBODY>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0004.html"
class="external-link" rel="nofollow">XEP-0004</A> </TD>
-<TD class="confluenceTd"> Data Forms </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0030.html"
class="external-link" rel="nofollow">XEP-0030</A> </TD>
-<TD class="confluenceTd"> <A href="service_discovery.html" title="Service
Discovery">Service Discovery</A> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0048.html"
class="external-link" rel="nofollow">XEP-0048</A> </TD>
-<TD class="confluenceTd"> Bookmarks </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0049.html"
class="external-link" rel="nofollow">XEP-0049</A> </TD>
-<TD class="confluenceTd"> Private XML Storage </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0054.html"
class="external-link" rel="nofollow">XEP-0054</A> </TD>
-<TD class="confluenceTd"> vcard-temp </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0090.html"
class="external-link" rel="nofollow">XEP-0090</A> </TD>
-<TD class="confluenceTd"> Entity Time (deprecated, see XEP-0202) </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0092.html"
class="external-link" rel="nofollow">XEP-0092</A> </TD>
-<TD class="confluenceTd"> Software Version </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0199.html"
class="external-link" rel="nofollow">XEP-0199</A> </TD>
-<TD class="confluenceTd"> XMPP Ping </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0202.html"
class="external-link" rel="nofollow">XEP-0202</A> </TD>
-<TD class="confluenceTd"> Entity Time </TD>
-</TR>
-</TBODY></TABLE>
-</DIV>
+| | |
+|---|---|
+| [XEP-0004](http://xmpp.org/extensions/xep-0004.html) | Data Forms |
+| [XEP-0030](http://xmpp.org/extensions/xep-0030.html) | [Service
Discovery](service_discovery.html) |
+| [XEP-0048](http://xmpp.org/extensions/xep-0048.html) | Bookmarks |
+| [XEP-0049](http://xmpp.org/extensions/xep-0049.html) | Private XML Storage |
+| [XEP-0054](http://xmpp.org/extensions/xep-0054.html) | vcard-temp |
+| [XEP-0090](http://xmpp.org/extensions/xep-0090.html) | Entity Time
(deprecated, see XEP-0202) |
+| [XEP-0092](http://xmpp.org/extensions/xep-0092.html) | Software Version |
+| [XEP-0199](http://xmpp.org/extensions/xep-0199.html) | XMPP Ping |
+| [XEP-0202](http://xmpp.org/extensions/xep-0202.html) | Entity Time |
## In development
-<DIV class="table-wrap">
-<TABLE class="confluenceTable"><TBODY>
-<TR>
-<TD class="confluenceTd"> <A href="http://ietf.org/rfc/rfc3920.txt"
class="external-link" rel="nofollow">RFC3920</A> </TD>
-<TD class="confluenceTd"> in progress, some features missing </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://ietf.org/rfc/rfc3921.txt"
class="external-link" rel="nofollow">RFC3921</A> </TD>
-<TD class="confluenceTd"> in progress, major features missing </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0060.html"
class="external-link" rel="nofollow">XEP-0060</A> </TD>
-<TD class="confluenceTd"> Publish-Subscribe, fully compliant but not full
featured </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0045.html"
class="external-link" rel="nofollow">XEP-0045</A></TD>
-<TD class="confluenceTd">Multi-user chat</TD>
-</TR>
-</TBODY></TABLE>
-</DIV>
+| | |
+|---|---|
+| [RFC3920](http://ietf.org/rfc/rfc3920.txt) | in progress, some features
missing |
+| [RFC3921](http://ietf.org/rfc/rfc3921.txt) | in progress, major features
missing |
+| [XEP-0060](http://xmpp.org/extensions/xep-0060.html) | Publish-Subscribe,
fully compliant but not full featured |
+| [XEP-0045](http://xmpp.org/extensions/xep-0045.html) | Multi-user chat |
## Upcoming
-<DIV class="table-wrap">
-<TABLE class="confluenceTable"><TBODY>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0009.html"
class="external-link" rel="nofollow">XEP-0009</A> </TD>
-<TD class="confluenceTd"> RPC </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0077.html"
class="external-link" rel="nofollow">XEP-0077</A> </TD>
-<TD class="confluenceTd"> In-band Registration </TD>
-</TR>
-</TBODY></TABLE>
-</DIV>
+| | |
+|---|---|
+| [XEP-0009](http://xmpp.org/extensions/xep-0009.html) | RPC |
+| [XEP-0077](http://xmpp.org/extensions/xep-0077.html) | In-band Registration |
Modified: mina/site/trunk/content/vysper/mailing_lists.mdtext
URL:
http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/mailing_lists.mdtext?rev=1404539&r1=1404538&r2=1404539&view=diff
==============================================================================
--- mina/site/trunk/content/vysper/mailing_lists.mdtext (original)
+++ mina/site/trunk/content/vysper/mailing_lists.mdtext Thu Nov 1 10:56:31 2012
@@ -25,73 +25,30 @@ General information about the Vysper mai
Please use this list for any questions regarding how to use Vysper.
-<DIV class="table-wrap">
-<TABLE class="confluenceTable"><TBODY>
-<TR>
-<TH class="confluenceTh"> Subscribe </TH>
-<TD class="confluenceTd"> <A href="mailto:[email protected]"
class="external-link" rel="nofollow">[email protected]</A> </TD>
-</TR>
-<TR>
-<TH class="confluenceTh"> Unsubscribe </TH>
-<TD class="confluenceTd"> <A href="mailto:[email protected]"
class="external-link" rel="nofollow">[email protected]</A> </TD>
-</TR>
-<TR>
-<TH class="confluenceTh"> Post </TH>
-<TD class="confluenceTd"> <A href="mailto:[email protected]"
class="external-link" rel="nofollow">[email protected]</A> </TD>
-</TR>
-<TR>
-<TH class="confluenceTh"> Archive </TH>
-<TD class="confluenceTd"> <A
href="http://www.mail-archive.com/[email protected]/" class="external-link"
rel="nofollow">http://www.mail-archive.com/[email protected]/</A> </TD>
-</TR>
-</TBODY></TABLE>
-</DIV>
+| | |
+|---|---|
+| Subscribe |
[[email protected]](mailto:[email protected]) |
+| Unsubscribe |
[[email protected]](mailto:[email protected]) |
+| Post | [[email protected]](mailto:[email protected]) |
+| Archive |
[http://www.mail-archive.com/[email protected]/](http://www.mail-archive.com/[email protected]/)
|
## For Developers
We use the MINA developers list for asking technical questions, discussing
feature suggestions or general questions regarding the project.
-<DIV class="table-wrap">
-<TABLE class="confluenceTable"><TBODY>
-<TR>
-<TH class="confluenceTh"> Subscribe </TH>
-<TD class="confluenceTd"> <A href="mailto:[email protected]"
class="external-link" rel="nofollow">[email protected]</A> </TD>
-</TR>
-<TR>
-<TH class="confluenceTh"> Unsubscribe </TH>
-<TD class="confluenceTd"> <A href="mailto:[email protected]"
class="external-link" rel="nofollow">[email protected]</A> </TD>
-</TR>
-<TR>
-<TH class="confluenceTh"> Post </TH>
-<TD class="confluenceTd"> <A href="mailto:[email protected]"
class="external-link" rel="nofollow">[email protected]</A> </TD>
-</TR>
-<TR>
-<TH class="confluenceTh"> Archive </TH>
-<TD class="confluenceTd"> <A
href="http://www.mail-archive.com/[email protected]/" class="external-link"
rel="nofollow">http://www.mail-archive.com/[email protected]/</A> </TD>
-</TR>
-</TBODY></TABLE>
-</DIV>
+| | |
+|---|---|
+| Subscribe |
[[email protected]](mailto:[email protected]) |
+| Unsubscribe |
[[email protected]](mailto:[email protected]) |
+| Post | [[email protected]](mailto:[email protected]) |
+| Archive |
[http://www.mail-archive.com/[email protected]/](http://www.mail-archive.com/[email protected]/)
|
## Subversion commits
-<DIV class="table-wrap">
-<TABLE class="confluenceTable"><TBODY>
-<TR>
-<TH class="confluenceTh"> Subscribe </TH>
-<TD class="confluenceTd"> <A href="mailto:[email protected]"
class="external-link" rel="nofollow">[email protected]</A> </TD>
-</TR>
-<TR>
-<TH class="confluenceTh"> Unsubscribe </TH>
-<TD class="confluenceTd"> <A href="mailto:[email protected]"
class="external-link" rel="nofollow">[email protected]</A>
</TD>
-</TR>
-<TR>
-<TH class="confluenceTh"> Post </TH>
-<TD class="confluenceTd"> <A href="mailto:[email protected]"
class="external-link" rel="nofollow">[email protected]</A> </TD>
-</TR>
-<TR>
-<TH class="confluenceTh"> Archive </TH>
-<TD class="confluenceTd"> <A
href="http://www.mail-archive.com/[email protected]/"
class="external-link"
rel="nofollow">http://www.mail-archive.com/[email protected]/</A> </TD>
-</TR>
-</TBODY></TABLE>
-</DIV>
-
+| | |
+|---|---|
+| Subscribe |
[[email protected]](mailto:[email protected]) |
+| Unsubscribe |
[[email protected]](mailto:[email protected])
|
+| Post | [[email protected]](mailto:[email protected]) |
+| Archive |
[http://www.mail-archive.com/[email protected]/](http://www.mail-archive.com/[email protected]/)
|
Modified: mina/site/trunk/content/vysper/server_standalone.mdtext
URL:
http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/server_standalone.mdtext?rev=1404539&r1=1404538&r2=1404539&view=diff
==============================================================================
--- mina/site/trunk/content/vysper/server_standalone.mdtext (original)
+++ mina/site/trunk/content/vysper/server_standalone.mdtext Thu Nov 1 10:56:31
2012
@@ -21,23 +21,17 @@ Notice: Licensed to the Apache Softwa
if you like to invoke the server from an IDE or the commandline, use the Java
class
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>org.apache.vysper.spring.ServerMain
-</PRE>
-</DIV></DIV>
+ :::java
+ org.apache.vysper.spring.ServerMain
for example by typing
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>java org.apache.vysper.spring.ServerMain
-</PRE>
-</DIV></DIV>
+ :::java
+ java org.apache.vysper.spring.ServerMain
be sure to include all jars in lib/ in your classpath plus the
spring-config.xml.
It is also possible to load modules on the command line:
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>java org.apache.vysper.spring.ServerMain
-Dvysper.add.module=module1,module2...
-</PRE>
-</DIV></DIV>
+ :::java
+ java org.apache.vysper.spring.ServerMain
-Dvysper.add.module=module1,module2...
Modified: mina/site/trunk/content/vysper/server_to_server_comm.mdtext
URL:
http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/server_to_server_comm.mdtext?rev=1404539&r1=1404538&r2=1404539&view=diff
==============================================================================
--- mina/site/trunk/content/vysper/server_to_server_comm.mdtext (original)
+++ mina/site/trunk/content/vysper/server_to_server_comm.mdtext Thu Nov 1
10:56:31 2012
@@ -31,6 +31,7 @@ To set up server-to-server functionality
Server-to-server federation is by default disabled in Vysper. To enable
sending stanzas to other servers, federations must be enabled:
+ :::java
XMPPServer server = new XMPPServer("vysper.org");
// other initialization
@@ -43,6 +44,7 @@ Server-to-server federation is by defaul
Next, an endpoint for incoming S2S connections must be added:
+ :::java
XMPPServer server = new XMPPServer("vysper.org");
server.addEndpoint(new S2SEndpoint());
@@ -55,4 +57,5 @@ Next, an endpoint for incoming S2S conne
Thatâs all that needs to be done. If SSL/TLS should be enabled between
servers (will be negotiated during the S2S connection handshake), a keystore
and keystore password must be configured:
+ :::java
server.setTLSCertificateInfo(new File("keystore.jks"), "sekrit");
Modified: mina/site/trunk/content/vysper/service_discovery.mdtext
URL:
http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/service_discovery.mdtext?rev=1404539&r1=1404538&r2=1404539&view=diff
==============================================================================
--- mina/site/trunk/content/vysper/service_discovery.mdtext (original)
+++ mina/site/trunk/content/vysper/service_discovery.mdtext Thu Nov 1 10:56:31
2012
@@ -42,21 +42,19 @@ Via DefaultDiscoAwareModule overrides, m
This is how a feature is advertised in the XEP-0092 implementation:
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>public class SoftwareVersionModule extends DefaultDiscoAwareModule
implements ServerInfoRequestListener {
- @Override
- protected void
addServerInfoRequestListeners(List<ServerInfoRequestListener>
serverInfoRequestListeners) {
- serverInfoRequestListeners.add(this);
- }
+ :::java
+ public class SoftwareVersionModule extends DefaultDiscoAwareModule
implements ServerInfoRequestListener {
+ @Override
+ protected void
addServerInfoRequestListeners(List<ServerInfoRequestListener>
serverInfoRequestListeners) {
+ serverInfoRequestListeners.add(this);
+ }
- public List<InfoElement> getServerInfosFor(InfoRequest request) {
- List<InfoElement> infoElements = new
ArrayList<InfoElement>();
- infoElements.add(new Feature(NamespaceURIs.JABBER_IQ_VERSION));
- return infoElements;
- }
-}
-</PRE>
-</DIV></DIV>
+ public List<InfoElement> getServerInfosFor(InfoRequest
request) {
+ List<InfoElement> infoElements = new
ArrayList<InfoElement>();
+ infoElements.add(new Feature(NamespaceURIs.JABBER_IQ_VERSION));
+ return infoElements;
+ }
+ }
At init time, the listener is registered, which is the module class itself
("this").
On every disco request occuring on server level, disco calls the listener via
getServerInfosFor(), and the module advertises its support for XEP-0092. Please
note that in an advanced scenario, we can make the module's behavior depending
on the properties of the InfoRequest parameter.
Modified: mina/site/trunk/content/vysper/socks5.mdtext
URL:
http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/socks5.mdtext?rev=1404539&r1=1404538&r2=1404539&view=diff
==============================================================================
--- mina/site/trunk/content/vysper/socks5.mdtext (original)
+++ mina/site/trunk/content/vysper/socks5.mdtext Thu Nov 1 10:56:31 2012
@@ -27,6 +27,7 @@ The Vysper SOCKS5 Bytestream module impl
The example below shows how to add the module using the API:
+ :::java
XMPPServer server = new XMPPServer(“vysper.org”);
server.addEndpoint(new TCPEndpoint());
@@ -39,12 +40,14 @@ This will enable the SOCKS5 component on
To configure the subdomain name, provide the subdomain in the constructor:
+ :::java
server.addModule(new Socks5Module("proxy"));
In this case, the SOCKS5 component would be available on proxy.vysper.org.
It is also possible to supply a socket address on which the proxy will be
listening. This can be used to configure the port for the proxy, or the local
address to bind the proxy to. For example:
+ :::java
server.addModule(new Socks5Module("proxy", new
InetSocketAddress("foo.vysper.org", 18100)));
With this code, the proxy will use the JID proxy.vysper.org, the hostname
foo.vysper.org and the port 18100. It will only listen on the network interface
for foo.vysper.org.
Modified: mina/site/trunk/content/vysper/sources.mdtext
URL:
http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/sources.mdtext?rev=1404539&r1=1404538&r2=1404539&view=diff
==============================================================================
--- mina/site/trunk/content/vysper/sources.mdtext (original)
+++ mina/site/trunk/content/vysper/sources.mdtext Thu Nov 1 10:56:31 2012
@@ -29,36 +29,24 @@ The following is a link to the [online s
The source can be checked out anonymously from SVN with this command:
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>$ svn checkout http://svn.apache.org/repos/asf/mina/vysper/trunk vysper
-</PRE>
-</DIV></DIV>
+ $ svn checkout http://svn.apache.org/repos/asf/mina/vysper/trunk vysper
## Developer access
Everyone can access the Subversion repository via HTTPS, but Committers must
checkout the Subversion repository via HTTPS.
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>$ svn checkout https://svn.apache.org/repos/asf/mina/vysper/trunk vysper
-</PRE>
-</DIV></DIV>
+ $ svn checkout https://svn.apache.org/repos/asf/mina/vysper/trunk vysper
To commit changes to the repository, execute the following command to commit
your changes (svn will prompt you for your password)
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>$ svn commit --username your-username -m "A message"
-</PRE>
-</DIV></DIV>
+ $ svn commit --username your-username -m "A message"
## Access from behind a firewall
For those users who are stuck behind a corporate firewall which is blocking
http access to the Subversion repository, you can try to access it via the
developer connection:
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>$ svn checkout https://svn.apache.org/repos/asf/mina/vysper/trunk vysper
-</PRE>
-</DIV></DIV>
+ $ svn checkout https://svn.apache.org/repos/asf/mina/vysper/trunk vysper
## Access through a proxy
@@ -68,38 +56,26 @@ There are comments in the file explainin
Example : Edit the 'servers' file and add something like :
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>[global]
-http-proxy-host = your.proxy.name
-http-proxy-port = 3128
-</PRE>
-</DIV></DIV>
+ [global]
+ http-proxy-host = your.proxy.name
+ http-proxy-port = 3128
## Building
We use Maven for managing our dependencies and packaging. Please use Maven
2.2.1 or later.
To install all of Vysper (core, modules etc) you can try this after the
checkout:
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>mvn clean install
-</PRE>
-</DIV></DIV>
+ mvn clean install
You can also build a complete, runnable Vysper server:
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>cd dist
-mvn clean package
-</PRE>
-</DIV></DIV>
+ cd dist
+ mvn clean package
On successful build, you will find a functional binary package at
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>target/vysper-1.0.0-SNAPSHOT-bin.{zip|tar.gz}
-</PRE>
-</DIV></DIV>
+ target/vysper-1.0.0-SNAPSHOT-bin.{zip|tar.gz}
Unpackaging a bin-package reveals a bin/ directory, containing run-scripts for
Windows and Unix/MacOS.
Executing this script will boot a working Vysper XMPP server.
Modified: mina/site/trunk/content/vysper/standards_supported.mdtext
URL:
http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/standards_supported.mdtext?rev=1404539&r1=1404538&r2=1404539&view=diff
==============================================================================
--- mina/site/trunk/content/vysper/standards_supported.mdtext (original)
+++ mina/site/trunk/content/vysper/standards_supported.mdtext Thu Nov 1
10:56:31 2012
@@ -19,122 +19,27 @@ Notice: Licensed to the Apache Softwa
# Standards Supported
-<DIV class="table-wrap">
-<TABLE class="confluenceTable"><TBODY>
-<TR>
-<TH class="confluenceTh"> Specification </TH>
-<TH class="confluenceTh"> Status </TH>
-<TH class="confluenceTh"> Comment </TH>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://www.ietf.org/rfc/rfc3920.txt"
class="external-link" rel="nofollow">RFC 3920 XMPP Core</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://www.ietf.org/rfc/rfc3921.txt"
class="external-link" rel="nofollow">RFC 3921 XMPP Instant Messaging and
Presence</A> </TD>
-<TD class="confluenceTd"> 80% </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0004.html"
class="external-link" rel="nofollow">XEP-0004 Data Forms</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0030.html"
class="external-link" rel="nofollow">XEP-0030 Service Discovery</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0045.html"
class="external-link" rel="nofollow">XEP-0045 Multi-User Chat</A> </TD>
-<TD class="confluenceTd"> 80% </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0029.html"
class="external-link" rel="nofollow">XEP-0049 Private XML Storage</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0050.html"
class="external-link" rel="nofollow">XEP-0050 Ad-Hoc Commands</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0054.html"
class="external-link" rel="nofollow">XEP-0054 vcard-temp</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0060.html"
class="external-link" rel="nofollow">XEP-0060 Publish-Subscribe</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0065.html"
class="external-link" rel="nofollow">XEP-0065 SOCKS5 Bytestreams</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> The optional UDP support not implemented </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0077.html"
class="external-link" rel="nofollow">XEP-0077 In-band registration</A> </TD>
-<TD class="confluenceTd"> 80% </TD>
-<TD class="confluenceTd"> Canceling existing registration not supported </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0082.html"
class="external-link" rel="nofollow">XEP-0082 XMPP Date and Time Profiles</A>
</TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0092.html"
class="external-link" rel="nofollow">XEP-0092 Software Version</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0124.html"
class="external-link" rel="nofollow">XEP-0124 Bidirectional-streams Over
Synchronous HTTP (BOSH)</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0133.html"
class="external-link" rel="nofollow">XEP-0133 Service Administration</A> </TD>
-<TD class="confluenceTd"> 40% </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0185.html"
class="external-link" rel="nofollow">XEP-0185 Dialback Key Generation and
Validation</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0199.html"
class="external-link" rel="nofollow">XEP-0199 XMPP Ping</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0202.html"
class="external-link" rel="nofollow">XEP-0202 Entity Time</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0206.html"
class="external-link" rel="nofollow">XEP-0206 XMPP Over BOSH</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0220.html"
class="external-link" rel="nofollow">XEP-0220 Server Dialback</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A href="http://xmpp.org/extensions/xep-0220.html"
class="external-link" rel="nofollow">XEP-0220 Server Dialback</A> </TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-<TR>
-<TD class="confluenceTd"> <A
href="http://tools.ietf.org/html/draft-moffitt-xmpp-over-websocket-00"
class="external-link" rel="nofollow">An XMPP Sub-protocol for WebSocket</A>
</TD>
-<TD class="confluenceTd"> Complete </TD>
-<TD class="confluenceTd"> </TD>
-</TR>
-</TBODY></TABLE>
-</DIV>
+| Specification | Status | Comment |
+|---|---|---|
+| [RFC 3920 XMPP Core](http://www.ietf.org/rfc/rfc3920.txt) | Complete |
|
+| [RFC 3921 XMPP Instant Messaging and
Presence](http://www.ietf.org/rfc/rfc3921.txt) | 80% | |
+| [XEP-0004 Data Forms](http://xmpp.org/extensions/xep-0004.html) | Complete
| |
+| [XEP-0030 Service Discovery](http://xmpp.org/extensions/xep-0030.html) |
Complete | |
+| [XEP-0045 Multi-User Chat](http://xmpp.org/extensions/xep-0045.html) | 80%
| |
+| [XEP-0049 Private XML Storage](http://xmpp.org/extensions/xep-0029.html) |
Complete | |
+| [XEP-0050 Ad-Hoc Commands](http://xmpp.org/extensions/xep-0050.html) |
Complete | |
+| [XEP-0054 vcard-temp](http://xmpp.org/extensions/xep-0054.html) | Complete
| |
+| [XEP-0060 Publish-Subscribe](http://xmpp.org/extensions/xep-0060.html) |
Complete | |
+| [XEP-0065 SOCKS5 Bytestreams](http://xmpp.org/extensions/xep-0065.html) |
Complete | The optional UDP support not implemented |
+| [XEP-0077 In-band registration](http://xmpp.org/extensions/xep-0077.html) |
80% | Canceling existing registration not supported |
+| [XEP-0082 XMPP Date and Time
Profiles](http://xmpp.org/extensions/xep-0082.html) | Complete | |
+| [XEP-0092 Software Version](http://xmpp.org/extensions/xep-0092.html) |
Complete | |
+| [XEP-0124 Bidirectional-streams Over Synchronous HTTP
(BOSH)](http://xmpp.org/extensions/xep-0124.html) | Complete | |
+| [XEP-0133 Service Administration](http://xmpp.org/extensions/xep-0133.html)
| 40% | |
+| [XEP-0185 Dialback Key Generation and
Validation](http://xmpp.org/extensions/xep-0185.html) | Complete | |
+| [XEP-0199 XMPP Ping](http://xmpp.org/extensions/xep-0199.html) | Complete
| |
+| [XEP-0202 Entity Time](http://xmpp.org/extensions/xep-0202.html) | Complete
| |
+| [XEP-0206 XMPP Over BOSH](http://xmpp.org/extensions/xep-0206.html) |
Complete | |
+| [XEP-0220 Server Dialback](http://xmpp.org/extensions/xep-0220.html) |
Complete | |
+| [XEP-0220 Server Dialback](http://xmpp.org/extensions/xep-0220.html) |
Complete | |
+| [An XMPP Sub-protocol for
WebSocket](http://tools.ietf.org/html/draft-moffitt-xmpp-over-websocket-00 ) |
Complete | |
Modified: mina/site/trunk/content/vysper/test_client.mdtext
URL:
http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/test_client.mdtext?rev=1404539&r1=1404538&r2=1404539&view=diff
==============================================================================
--- mina/site/trunk/content/vysper/test_client.mdtext (original)
+++ mina/site/trunk/content/vysper/test_client.mdtext Thu Nov 1 10:56:31 2012
@@ -32,7 +32,4 @@ The client logs into the server with the
The client is invoked similar to the server like this:
-<DIV class="preformatted panel" style="border-width: 1px;"><DIV
class="preformattedContent panelContent">
-<PRE>java org.apache.vysper.smack.BasicClient user1 user2
-</PRE>
-</DIV></DIV>
+ java org.apache.vysper.smack.BasicClient user1 user2
Modified: mina/site/trunk/content/vysper/user_mgmt.mdtext
URL:
http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/user_mgmt.mdtext?rev=1404539&r1=1404538&r2=1404539&view=diff
==============================================================================
--- mina/site/trunk/content/vysper/user_mgmt.mdtext (original)
+++ mina/site/trunk/content/vysper/user_mgmt.mdtext Thu Nov 1 10:56:31 2012
@@ -25,57 +25,51 @@ Apache Vysper comes with very basic user
UserAuthentication is the interface which will get called when a client
authenticates itself using SASL. Vysper currently ships with two
implementations, one in-memory and one based on JCR. To write your own, simple
create a class which implements UserAuthentication. In the example below, we
implement an authentication provider backed by an LDAP directory.
-<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent
panelContent">
-<PRE class="code-java">
-<SPAN class="code-keyword">public</SPAN> class MyLdapAuthentication <SPAN
class="code-keyword">implements</SPAN> UserAuthentication {
- @Override
- <SPAN class="code-keyword">public</SPAN> <SPAN
class="code-object">boolean</SPAN> verifyCredentials(Entity jid, <SPAN
class="code-object">String</SPAN> passwordCleartext, <SPAN
class="code-object">Object</SPAN> credentials) {
- Hashtable<<SPAN class="code-object">String</SPAN>, <SPAN
class="code-object">String</SPAN>> env = <SPAN
class="code-keyword">new</SPAN> Hashtable<<SPAN
class="code-object">String</SPAN>, <SPAN
class="code-object">String</SPAN>>();
- env.put(Context.INITIAL_CONTEXT_FACTORY, <SPAN
class="code-quote">"com.sun.jndi.ldap.LdapCtxFactory"</SPAN>);
- env.put(Context.PROVIDER_URL, <SPAN
class="code-quote">"ldap:<SPAN
class="code-comment">//localhost:389/"</SPAN>);
-</SPAN>
- env.put(Context.SECURITY_AUTHENTICATION, <SPAN
class="code-quote">"simple"</SPAN>);
+ :::java
+ public class MyLdapAuthentication implements UserAuthentication {
+ @Override
+ public boolean verifyCredentials(Entity jid, String
passwordCleartext, Object credentials) {
+ Hashtable<String, String> env = new Hashtable<String,
String>();
+ env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
+ env.put(Context.PROVIDER_URL, "ldap://localhost:389/");
+
+ env.put(Context.SECURITY_AUTHENTICATION, "simple");
- // extract the user name from the entity, e.g. from
[email protected], foo will be used
- env.put(Context.SECURITY_PRINCIPAL, <SPAN
class="code-object">String</SPAN>.format(<SPAN class="code-quote">"cn=%s,
ou=Users, o=Acme"</SPAN>, jid.getNode()));
- env.put(Context.SECURITY_CREDENTIALS, passwordCleartext);
-
- try {
- // connect and authenticate with the directory
- new InitialDirContext(env);
- return true;
- } <SPAN class="code-keyword">catch</SPAN> (NamingException e) {
- <SPAN class="code-keyword">return</SPAN> <SPAN
class="code-keyword">false</SPAN>;
+ // extract the user name from the entity, e.g. from
[email protected], foo will be used
+ env.put(Context.SECURITY_PRINCIPAL,
String.format("cn=%s, ou=Users, o=Acme", jid.getNode()));
+ env.put(Context.SECURITY_CREDENTIALS,
passwordCleartext);
+
+ try {
+ // connect and authenticate with the directory
+ new InitialDirContext(env);
+ return true;
+ } catch (NamingException e) {
+ return false;
+ }
}
}
-}
-</PRE>
-</DIV></DIV>
Next, you need to hook the authentication provider into the Vysper XMPP server:
-<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent
panelContent">
-<PRE class="code-java">
- <SPAN class="code-keyword">public</SPAN> <SPAN
class="code-keyword">static</SPAN> void main(<SPAN
class="code-object">String</SPAN>[] args) <SPAN
class="code-keyword">throws</SPAN> Exception {
- OpenStorageProviderRegistry providerRegistry = <SPAN
class="code-keyword">new</SPAN> OpenStorageProviderRegistry();
+ :::java
+ public static void main(String[] args) throws Exception {
+ OpenStorageProviderRegistry providerRegistry = new
OpenStorageProviderRegistry();
- <SPAN class="code-comment">// add your custom authentication provider
-</SPAN> providerRegistry.add(<SPAN class="code-keyword">new</SPAN>
MyLdapAuthentication());
+ // add your custom authentication provider
+ providerRegistry.add(new MyLdapAuthentication());
- <SPAN class="code-comment">// a roster manager is also required
-</SPAN> providerRegistry.add(<SPAN class="code-keyword">new</SPAN>
MemoryRosterManager());
+ // a roster manager is also required
+ providerRegistry.add(new MemoryRosterManager());
+
+ XMPPServer server = new XMPPServer("acme.com");
- XMPPServer server = <SPAN class="code-keyword">new</SPAN>
XMPPServer(<SPAN class="code-quote">"acme.com"</SPAN>);
+ // other initialization
+ // ...
- <SPAN class="code-comment">// other initialization
-</SPAN> <SPAN class="code-comment">// ...
-</SPAN>
server.setStorageProviderRegistry(providerRegistry);
server.start();
}
-</PRE>
-</DIV></DIV>
In this example, we use the OpenStorageProviderRegistry to provide the
different storage providers. Only two are required, UserAuthentication and
RosterManager.
Modified: mina/site/trunk/content/vysper/websocket_endpoint.mdtext
URL:
http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/websocket_endpoint.mdtext?rev=1404539&r1=1404538&r2=1404539&view=diff
==============================================================================
--- mina/site/trunk/content/vysper/websocket_endpoint.mdtext (original)
+++ mina/site/trunk/content/vysper/websocket_endpoint.mdtext Thu Nov 1
10:56:31 2012
@@ -27,6 +27,7 @@ While websockets are still being specifi
Vysper provides a websocket endpoint. The easiest way to use the endpoint is
to simply add it as a regular endpoint:
+ :::java
XMPPServer server = new XMPPServer("vysper.org");
server.addEndpoint(new TCPEndpoint());
@@ -39,6 +40,7 @@ Thatâs it. The default configuratio
The port and context path can be configured:
+ :::java
WebSocketEndpoint wsEndpoint = new WebSocketEndpoint();
wsEndpoint.setContextPath("/xmpp");
wsEndpoint.setPort(9000);
@@ -52,6 +54,7 @@ Vysper currently supports this for Jetty
For Jetty, add the following to your web.xml:
+ :::java
WebSocketEndpoint wsEndpoint = new WebSocketEndpoint();
wsEndpoint.setSSLEnabled(true);
wsEndpoint.setSSLCertificateKeystore("keystore.jks", "sekrit");
@@ -59,6 +62,7 @@ For Jetty, add the following to your web
For Tomcat, add the following to your web.xml:
+ :::XML
<servlet>
<servlet-name>WebSocket Servlet</servlet-name>
<servlet-class>org.apache.vysper.xmpp.extension.websockets.TomcatXmppWebSocketServlet</servlet-class>