On Tue, Aug 26, 2003 at 11:42:07PM -0700, Paul Johnson wrote: | I've tried installing the AIM transport from agrogeomatic.educagri.fr | (from their listing on apt-get.org). Following aim-transport's | instructions, I added it into the jabber.xml the way it tells you to, | and I can see it when I query my jabber server, but the aim transport | does not work. | | Has anybody here successfully added transports to jabber? If so, what | worked for you?
Here's what I did to get aim-t running : Download the jabber source (apt-get source jabber). Run through a build so the source tree is "configured". Download aim-t from http://aim-transport.jabberstudio.org/. Unpack it and build against the source you obtained earlier. This will give you aimtrans.so which is binary compatible with your jabberd. Put it somewhere (I put it in /usr/local/lib/jabber). The key is to get a .so which will link with your jabberd and not crash. (this is the issue with using a devel. env. like C) Also get the windows AIM client of the correct version, in case AOL is still playing the only-our-client-is-allowed game. I run aim-t in a separate jabberd process so that if (when! :-() it crashes it doesn't take down the entire jabber server. /etc/jabber/jabber.xml : <jsm> <browse> [...] <service type="aim" jid="aim.dman13.dyndns.org" name="AIM Transport" > <ns>jabber:iq:gateway</ns> <ns>jabber:iq:register</ns> </service> </browse> </jsm> <service id="aimlinker"> <host>aim.dman13.dyndns.org</host> <accept> <ip>127.0.0.1</ip> <port>5233</port> <secret>XXX</secret> </accept> </service> I created /etc/jabber/aimtrans.xml to configure the aim-t process and /etc/jabber/jabber.d/aim-t to start/stop the daemon. Both are attached because they are kind of long. I also installed 'restartd' and put the following line in /etc/restartd.conf : aimtrans ".*aimtrans.xml" "/etc/jabber/jabber.d/aim-t start" HTH, -D -- All a man's ways seem innocent to him, but motives are weighed by the Lord. Proverbs 16:2 http://dman13.dyndns.org/~dman/
#!/bin/bash # # Note: this was ripped from /etc/init.d/jabber (version 1.4.2a-10) and # the 'aimtrans.xml' config file added. # PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/jabberd NAME=jabberd DESC=jabberd CONF=/etc/jabber/jabber.xml PIDFILE=/var/run/jabber/jabber.pid.aim-t CMDLINE="" test -f $DAEMON -a -f $CONF || exit 0 # set some parameters like JABBER_HOSTNAME if test -x /etc/jabber/jabber.cfg; then . /etc/jabber/jabber.cfg fi if [ x"$JABBER_HOSTNAME" != x"" ]; then CMDLINE="$CMDLINE -h $JABBER_HOSTNAME" fi if [ x"$JABBER_SPOOL" != x"" ]; then CMDLINE="$CMDLINE -s $JABBER_SPOOL" fi function manage_pid() { TOKILL=$1 if [ -z "$1" ] ; then echo "Improper function call!" exit 2 fi # check for PID file if [ -f $PIDFILE ]; then # PID file is there, is it readable? if [ -r $PIDFILE ]; then # it's readable, is there a process? PID=`cat $PIDFILE` #echo "`ps -p $PID -o ucmd h`" if [ "$NAME" = "`ps -p$PID -o ucmd h`" ]; then # looks like it's already running if [ "$TOKILL" = "kill" ] ; then kill -TERM $PID else echo "$NAME is already running." exit 1 fi else # looks like a stale PID file rm -f $PIDFILE fi else echo "$PIDFILE file exists, but is not accessible." exit 1 fi fi } set -e case "$1" in start) manage_pid check CMDLINE="$CMDLINE -c /etc/jabber/aimtrans.xml" start-stop-daemon -b -c jabber:daemon --start --quiet \ --pidfile $PIDFILE.aim-t --exec $DAEMON -- $CMDLINE if pidof $DAEMON > /dev/null; then echo " aim-t." else echo "<Failed>" fi ;; stop) manage_pid kill ;; esac
<?xml version="1.0" encoding="UTF-8" ?> <jabber> <service id="aimlinker"> <uplink/> <connect> <ip>127.0.0.1</ip> <port>5233</port> <secret>XXX</secret> </connect> </service> <service id="aim.dman13.dyndns.org"> <load> <aim_transport>/usr/local/lib/jabber/aimtrans.so</aim_transport> </load> <aimtrans xmlns='jabber:config:aimtrans'> <aimbinarydir>/usr/local/lib/jabber/AIM95</aimbinarydir> <vCard> <FN>AIM Transport</FN> <DESC>An AIM Transport!</DESC> </vCard> </aimtrans> </service> <log id='elogger'> <host/> <logtype/> <format>%d: [%t] (%h): %s</format> <file>/var/log/jabber/aim-t.error.log</file> <!-- <stdout/> --> </log> <log id='rlogger'> <host/> <logtype>record</logtype> <format>%d %h %s</format> <file>/var/log/jabber/aim-t.record.log</file> <!-- <stdout/> --> </log> <pidfile>/var/run/jabber/jabber.pid.aim-t</pidfile> </jabber> <!-- vim: set tw=0 nowrap :-->
pgp00000.pgp
Description: PGP signature