Name: flash-hack Purpose: Allow unstandard Adobe Flash 8 (and lower) based clients communication Author: Magnus Henoch Type: Patch Requirements: ejabberd 1.1.1 Download: The original patch for ejabberd 1.1.x is in Bugzilla. The patches updated for newer ejabberd versions are available in EJAB-599
Bugs in Adobe Flash 8 and lower
Adobe Flash based Jabber clients are unable to comply with the XMPP standard in case Flash 8 or lower is used. Adobe Flash 9 fixes next bugs:
- The opening stream header is <flash:stream xmlns:flash="http://www.jabber.com/streams/flash" /> (note prefix, namespace, and closing slash).
- Every stanza sent by Flash client is null-terminated. Every stanza sent to Flash client must be null-terminated.
- It puts version="1.0" on its stream header, but doesn't support SASL authentication.
How to Apply this Patch?
-
Download the patch to the ejabberd src/ directory. Apply the patch with this command:
patch -p2<ejabberd-flash.patch patching file Makefile.in patching file configure.ac patching file ejabberd.hrl patching file ejabberd_c2s.erl Hunk #3 succeeded at 181 (offset 7 lines). Hunk #4 succeeded at 581 (offset 7 lines). Hunk #5 succeeded at 591 (offset 7 lines). Hunk #6 succeeded at 1233 (offset 8 lines). patching file expat_erl.c patching file jlib.hrl
Do not worry if it reports several offset warnings. The important is that it does not reject any hunk.
-
Recompile ejabberd from scratch with those commands:
autoconf ./configure --enable-flash-hack make clean make
-
No changes are required on ejabberd.cfg. Just restart ejabberd and both standard clients and Flash clients will be able to connect to ejabberd.
-
Xiffian includes an option to select the Jabber server type. Make sure to set this option as:
Server type: "Jive/Wildfire - flash"
Related Links
- Feature request: Flash XML Socket support on ejabberd 2.0.0
- Forum thread: ejabberd end-byte
- Serve cross domain policy file for Flash
- patch for ejabberd 2.0.0
Is there a patch for version 1.1.4?
Hi, is there any patch to the version 1.1.4 to make it work with flash clients?
Thanks!
Fernando
Patch applied to Ubuntu package