[JDEV] Building Jabber 1.2 and the AIM Transport

Michael F Lin mflin at us.ibm.com
Fri Dec 1 05:15:01 CST 2000


I am reposting Jay Chalfant's guide to installing aim-t, posted a couple
weeks ago, which explains the pool_label problem. It might be a good idea
to try the list archives in the future.

-Mike Lin
IBM Extreme Blue Software Intern

---------------------- Forwarded by Michael F Lin/Cambridge/IBM on
12/01/2000 06:12 AM ---------------------------

Jay Chalfant <jchalfan at outbackinc.com>@jabber.org on 11/21/2000 01:28:45 PM

Please respond to jdev at jabber.org

Sent by:  jdev-admin at jabber.org


To:   "'jdev at jabber.org'" <jdev at jabber.org>
cc:
Subject:  [JDEV] Building Jabber 1.2 and the AIM Transport



Hello All,

Sorry for the delay in getting this out. We wanted to make sure that it was
as accurate as possible so we QA'ed internally by running a clean room
install on RedHat 6.2. Thanks to Gary Baker for his help.

There are a couple of open issues that I want to highlight:

a) Contrary to my previous post, aimtrans does not build flawlessly with
the
1.2 libraries available at download.jabber.org. There is a minor change to
be made to libxode. I made this change and then forgot about it so my
builds
worked! See below for details.

b) Even though Dennis Noordsij was able to provide DNS resolution of
jabberd
for the aimtrans by editing /etc/hosts, my adns does not read from
/etc/hosts. I suspect that there is a configuration issue overlooked on my
end. Anyone who knows how to make this work, please post the explanation.

What follows is a description of the steps we took to make the AIM
Transport
run with Jabber 1.2. Undoubtedly, there are some redundancies and
inefficiencies in our approach. We will look forward to corrections and
improvements provided by you, the happy reader. :-)

Thanks again to all who contributed to these efforts.

-J

----------------------
Jay Chalfant
OutBack Resource Group
www.outbackinc.com


~~

1.  Building Jabber 1.2 and the AIM Transport

This document describes the steps taken to build, deploy and run jabberd
1.2
and aimtrans.

1.1. Files

Retrieve each of the following and, for convenience, put all of them into
sibling directories.

1.1.1. jabberd

Retrieve the following from http://download.jabber.org/dists/1.2/:
jabber-1.2.tar.gz             31-Oct-2000 15:20   121k
libjabber-1.2.tar.gz          31-Oct-2000 15:20   130k
libxode-1.2.tar.gz       31-Oct-2000 15:20   186k

Retrieve the following from http://www.gnu.org/software/pth
pth-1.3.7.tar.gz              29-July-2000 15:20  424k

1.1.2. aimtrans

Retrieve the following from
http://download.jabber.org/dists/transports/aim-transport/:
aim-transport-0.8.0.tar.gz    16-Nov-2000 15:10   130k
libetherx-1.2.tar.gz     16-Nov-2000 15:18   135k
libfaim-snap.tar.gz      16-Nov-2000 14:59   138k

Retrieve the following from
ftp://ftp.chiark.greenend.org.uk/users/ian/adns/
adns-1.0.tar.gz               17-Sept-2000 15:20  203k

1.2. Install jabberd

For jabberd, you will need to build pth, libxode, libjabber, and jabber in
that order. For each of these, cd to the project root and run ./configure,
make, make install, and then ldconfig. Since the default install path for
all of the jabberd and aimtrans libraries is /usr/local/lib, you must add
this path to /etc/ld.so.conf to tell ldconfig to search there as well. Do
not forget to run ldconfig after each project is installed!

jabberd is now installed but you must configure it. Configuration is read
from the file jabber.xml in the project root. Edit that file and change the
<host> field value from localhost to the hostname of the server on which it
will run.

At this point, you should be able to run jabberd. From the jabberd project
root, execute:
./jabberd/jabberd -D

1.3. Install aimtrans

For aimtrans, you will need to build adns (1.0 required), libxode,
libetherx, libfaim, and aimtrans in that order. You have already built
libxode for jabberd. However, libetherx 1.2 is actually dependent upon an
earlier libxode which contained the function pool_label. This function does
not appear in libxode 1.2 so you will get an error when you try to link
aimtrans. To circumvent this, add a no-op function with the correct
prototype to ~/libxode/src/pool.c:

void pool_label(pool p, char *label, int debug)
{
}

For libetherx cd to the project root and run ./configure, make, make
install, and then ldconfig. For libfaim simply run make, make install and
then ldconfig.

For aimtrans, you need to run ./congifure with the switch "--with-jabber2".
Then make && make install.
You now need to configure jabber.xml for the AIM transport. Add the
following sections.
Add a top level service under the <jabber> element:

<service id='aimtrans.my_domain'>
    <accept>
      <ip>127.0.0.1</ip>
      <port>7009</port>
      <secret>test</secret>
    </accept>
</service>

Under the <agents> element uncomment the aim transport and change the jid
to
match the service just created.

<agent jid="aimtrans.my_domain">
     <name>AIM Transport</name>
       <description>This is the AIM Transport</description>
        <transport>AIM/AOL ScreenName</transport>
        <service>aim</service>
        <register/>
</agent>

You should first test that adns will be able to resolve the IP addr of
aimtrans.mydomain. On my system, adns would not read from /etc/hosts so I
added an A record to our DNS. In any case, you should get the following
output from the adnshost command:

[foo at bar foo]$ adnshost aimtrans.my_domain
aimtrans.my_domain A INET 127.0.0.

Assuming you've made it thus far, run the aimtrans as follows, providing
the
name, etherx hostname, port, and secret:
/usr/local/bin/aimtrans -D -n aimtrans.mydomain -e aimtrans.mydomain -p
7009
-s test

If you are watching the debug output, you will see aimtrans connect to
jabberd, the latter verifying the hash from the secret, etc. At this point,
you should be able to test the AIM Transport with a client like WinJab.

Have fun!

_______________________________________________
jdev mailing list
jdev at jabber.org
http://mailman.jabber.org/listinfo/jdev







More information about the JDev mailing list