[JDEV] Re:Creating a presence server component?
Philippe Raxhon
raxhonp at easynet.be
Thu Aug 15 19:38:11 CDT 2002
I now remember another solution. In the jsm section of jabber.xml, one
can add:
<archive>
<service>myservice.myhost</service>
<archive>
given you have defined such a service in the service section of
jabber.xml, for instance:
<service id ="myservice">
<host>myservice.myhost>
<accept>
<ip>localhost</ip>
<port>5999</port>
<secret>secret</secret>
</accept>
</service>
The accept component (it can be writen in any language and doesn't have
to run on the same host) will receive a copy of every message sent by
the users. The interesting part is that I think it's easy to hack the
mod_log module to "archive" not only the messages, but also the presence
or iq.
Please, correct me if I'm wrong.
Jean-Louis Seguineau /EXC/TEC wrote:
>Hey,
>
>That's easy ! And it has nothing to do with whatever language you use. It
>does it requires to write a JSM module as long as your component is only
>meant to process the received packets and not interfere with the JSM
>processing. This can be applied to build a kind of packet "sniffer" and
>allow you to count, record, monitor, etc...
>
>You just need to declare a service in your jabber.xml so to receive a copy
>of all packets going through the server.
>
><service id="sniffer.myserver">
> <host>myserver</host>
> <host>myjpolld.myserver</host>
> <host>sniffer.myserver</host>
>....
> plus any aother internal JID that you want to monitor
>
>
> <accept>
> <ip/>
> <port>myport</port>
> <secret>secret</secret>
> </accept>
></service>
>
>Then the sniffer component will receive a copy of all traffic for the
><host>s. The component can sit on another server as any component can.
>
>There is no way that I jnow of to separate the packets types before they are
>sent to the component. But you can either make one component per packet type
>and filter the input, or make a filter component that in turn direct the
>right packet type to a specific processor component.
>
>Hope it helps
>
>Jean-Louis
>
>
>----- Original Message -----
>
>
>>Message: 3
>>Date: Sun, 11 Aug 2002 12:48:49 +0200
>>From: "Sylvain Roberdeau" <sylvain.roberdeau at terravirtual.net>
>>Organization: Terra Virtual
>>To: jdev at jabber.org
>>Subject: Re: [JDEV] Creating a presence server component?
>>Reply-To: jdev at jabber.org
>>
>>Hi,
>>
>> sorry if I was not clear :)
>> I hope to create an "element" for Jabber server which can intercept
>><presence>, <message> and <iq> and apply some specific process. For
>>
>>
>example, log
>
>
>>all data with a specific structure, file repartition, SNMP messages,
>>
>>
>MRTG...
>
>
>> I haven't a good grip on C to build all with this language and I want
>>
>>
>to
>
>
>>split process in a separate Jabberd (to avoid overload)
>> The only way if find it's to build a JSM Module which send specific
>>
>>
>message
>
>
>>to a service (write in Java, Perl, Python,...)
>> Jabberd ->JSM module -> Service
>> The constraint is to create a specific message structure between JSM
>>
>>
>Module
>
>
>>and Service (maybe with <x> namespace).
>>
>> I was looking for an other way : build a specific service which can
>>
>>
>receive
>
>
>>all blocks in a separate server. I don't kown if it's possible and I guess
>>
>>
>there
>
>
>>are some limitations (presence = avalaible or unavalaible, none other by
>>example).
>>
>> If somebody knows an other solution than the first...
>>
>>Sylvain
>>
>>
>>
>
>
>
>_______________________________________________
>jdev mailing list
>jdev at jabber.org
>http://mailman.jabber.org/listinfo/jdev
>
>
>
More information about the JDev
mailing list