Index

file:src/crypt.js

Collection of MD5 and SHA1 hashing and encoding methods.
Author:
  • Stefan Strigler steve@zeank.in-berlin.de
Source:
  • crypt.js, line 3

file:src/jsextras.js

Collection of functions to make live easier
Author:
  • Stefan Strigler
Source:
  • jsextras.js, line 1

file:src/JSJaC.js

Magic dependency loading. Taken from script.aculo.us and modified to break it.
Author:
  • Stefan Strigler steve@zeank.in-berlin.de
Source:
  • JSJaC.js, line 1

file:src/JSJaCConnection.js

Contains all things in common for all subtypes of connections supported.
Author:
  • Stefan Strigler steve@zeank.in-berlin.de
Source:
  • JSJaCConnection.js, line 1

file:src/JSJaCConsoleLogger.js

Contains Debugger interface for Firebug and Safari
Source:
  • JSJaCConsoleLogger.js, line 1

file:src/JSJaCCookie.js

OO interface to handle cookies. Taken from http://www.quirksmode.org/js/cookies.html. Regarding licensing of this code the author states: "You may copy, tweak, rewrite, sell or lease any code example on this site, with one single exception."
Author:
  • 2003-2006 Peter-Paul Koch
  • Stefan Strigler
Source:
  • JSJaCCookie.js, line 1

file:src/JSJaCFBApplication.js

Contains all the Facebook Application configurations.
Version:
  • 1.00
Author:
  • Andrea Cammarata - acammarata@simacs.com - http://www.andreacammarata.com
Source:
  • JSJaCFBApplication.js, line 1

file:src/JSJaCHttpBindingConnection.js

All stuff related to HTTP Binding
Author:
  • Stefan Strigler steve@zeank.in-berlin.de
Source:
  • JSJaCHttpBindingConnection.js, line 1

file:src/JSJaCHttpPollingConnection.js

All stuff related to HTTP Polling
Author:
  • Stefan Strigler steve@zeank.in-berlin.de
Source:
  • JSJaCHttpPollingConnection.js, line 1

file:src/JSJaCJID.js

This file contains all things that make life easier when dealing with JIDs
Author:
  • Stefan Strigler
Source:
  • JSJaCJID.js, line 1

file:src/JSJaCPacket.js

Contains all Jabber/XMPP packet related classes.
Author:
  • Stefan Strigler steve@zeank.in-berlin.de
Source:
  • JSJaCPacket.js, line 1

file:src/JSJaCWebSocketConnection.js

All stuff related to WebSocket
The WebSocket protocol is a bit of a mess. Various, incompatible,
protocol drafts were implemented in browsers. Fortunately, recently
a finished protocol was released in RFC6455. Further description
assumes RFC6455 WebSocket protocol version.

WebSocket browser support. Current (April 2012) browser status:
- Chrome 16+ - works properly and supports RFC6455
- Firefox 11+ - works properly and support RFC6455, but has
  problems with proxies (see bugs 713026 and 713023)
- Opera 11.62 - supports only very old draft and is disabled by
  default, in short: does not work
- Internet Explorer 10+ - RFC6455 is supported since PP5

Due to the above status, this code currently only works on Chrome
16+ and Firefox 11+, but due to proxy problems on Firefox it is
recommended to use it only on Chrome.

Please also note that some users are only able to connect to ports
80 and 443. Port 80 is sometimes intercepted by transparent HTTP
proxies, which mostly does not support WebSocket, so port 443 is
the best choice currently (it does not have to be
encrypted). WebSocket also usually does not work well with reverse
proxies, be sure to make extensive tests if you use one.

There is no standard for XMPP over WebSocket. However, there is an
expired draft
(http://tools.ietf.org/html/draft-moffitt-xmpp-over-websocket-00)
and this implementation follows it.

Tested servers:

- node-xmpp-bosh (https://github.com/dhruvbird/node-xmpp-bosh) -
  supports RFC6455 and works with no problems since 0.6.1, it also
  transparently uses STARTTLS if necessary
- wxg (https://github.com/Gordin/wxg) - supports RFC6455 and works
  with no problems, but cannot connect to servers requiring
  STARTTLS (original wxg at https://github.com/hocken/wxg has some
  issues, that were fixed by Gordin).
- ejabberd-websockets
  (https://github.com/superfeedr/ejabberd-websockets) - does not
  support RFC6455 hence it does not work, adapting it to support
  RFC6455 should be quite easy for anyone knowing Erlang (some work
  in progress can be found on github)
- Openfire (http://www.igniterealtime.org/projects/openfire/) -
  unofficial plugin is available, but it lacks support
  for RFC6455 hence it does not work
- Apache Vysper (http://mina.apache.org/vysper/) - does
  not support RFC6455 hence does not work
- Tigase (http://www.tigase.org/) - no known work on WebSocket
  support
Author:
  • Janusz Dziemidowicz rraptorr@nails.eu.org
Source:
  • JSJaCWebSocketConnection.js, line 1

file:src/xmlextras.js

Wrapper to make working with XmlHttpRequest and the DOM more convenient (cross browser compliance). this code is taken from http://webfx.eae.net/dhtml/xmlextras/xmlextras.html.
Author:
  • Erik Arvidsson
  • Stefan Strigler steve@zeank.in-berlin.de
Source:
  • xmlextras.js, line 3