Skip to content

darkk/pymeta-t

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
== Description ==

That's trivial meta-component to proxy all incoming stanzas in following way:

<stanza from="user@example.org" to="srv.host.com@meta.example.org" />
 to
<stanza from="user\40example.org@meta.example.org" to="srv.host.com" />

<stanza from="srv.host.com" to="user\40example.org@meta.example.org" />
 to
<stanza from="srv.host.com@meta.example.org" to="user@example.org" />


This mapping is required to make services like srv.host.com accessible
with JIDs like node@somewhere.org. The ugly hack is required for GTalk
users to be able to use various jabber transports. See following threads
for details:
http://www.google.com/support/forum/p/Talk/thread?tid=28ea57ad8c3ad591
http://www.google.com/support/forum/p/Talk/thread?tid=0697c2950e983d95

Google engineers were informed about the problem long ago, but the issue
remained unfixed for more then half a year, so this meta-transport
appeared as a temporary workaround. See following links for technical
details:
http://darkk.livejournal.com/50477.html#cutid1
http://mail.jabber.org/pipermail/operators/2009-April/000507.html

By the way, the issue was fixed quite soon after pymeta-t release.
Everything was working fine on 31st of May, 2009.
The problem arised from resolved on ~11th of June, 2009.


== Requirements ==

- jabber server supporting XEP-0114
  Tested with ejabberd-2.0.1

- python
  URL: http://www.python.org/
  Tested with python-2.5.2

- twisted & twisted.words >= 8.0
  URL: http://twistedmatrix.com
  Tested with python-twisted-words-8.1.0

- Wokkel >= 0.6.0
  URL: http://wokkel.ik.nu
  Tested with wokkel-0.6.0

The project itself is currently hosted at github:
http://github.com/darkk/pymeta-t/


== HOWTO ==

Edit your jabber server config, edit config.py and run pymeta-t.py using
twistd in alike way:

# twistd --python=pymeta-t.py \
         --logfile=/var/log/pymetat/pymetat.log \
         --pidfile=/var/run/pymetat/pymetat.pid \
         --uid=pymetat --gid=pymetat

See twistd(1) manpage for extra information about log rotation.


== Known glitches ==

gajim does not expect to see any services at JIDs like node@example.org,
so it disables `register' button making the registration within
transport impossible. It is possible to register within transport using
Psi (http://psi-im.org).

Psi has troubles while removing subscriptions from foo\40bar.org@meta.42.org
JIDs. See FS-963 for details: http://flyspray.psi-im.org/task/963

You should be careful if you want to limit access to meta-transport
using ejabberd ACLs. You should remember that the trasnport uses same
domain both for incoming and for outgoing messages, moreover, incorrect
ACL setup may crash your ejabberd instance. See EJAB-930 for details:
https://support.process-one.net/browse/EJAB-930


== Author ==

Leonid Evdokimov
mailto:leon@darkk.net.ru
xmpp:leon@darkk.net.ru

About

Trivial jid-address-translating jabber transport

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages