[JDEV] ICQ Transport with Jabber 1.2 - still getting remote server error

Dennis Noordsij dennis.noordsij at wiral.com
Tue Nov 14 04:17:15 CST 2000


On Tuesday 14 November 2000 09:35, you wrote:

> > huh, where to configure icq to use port 9000? I don't see where in the
> icq_trans.xml where I can configure this port 9000.

Quick patch for the icqtransport to connect to port 9000


Somewhere at the bottom of from_etherx.c you will see the following bit, 
except the "jabber:component:accept" is called "jabber:server" and 
"ehandler_new_ex" is simply called "ehandler_new". Also, the "2222" argument 
to the ehandler_new function is not there.

{
  static const char server_namespace[] = "jabber:component:accept";
  log_debug(ZONE,"[from_etherx_start] kickoff here (host %s, namespace %s)",
	    g_config.hostname,server_namespace);
  g_etherx = ehandler_new_ex(etherx_packet_handler,(char 
*)(g_config.hostname),
			  (char *)server_namespace, 2222);

} /* end from_etherx_start */



Then, you change the code to match the above, use jabber:component:accept, 
use ehandler_new_ex, and add the port you want icqtrans to connect to to the 
ehandler_new_ex paramaters. In the above example, I am using port 2222, you 
would use 9000 there.

When jabberd is running, run icqtrans -D and it should tell you it's 
connecting to jabberd, if all goes well the last thing it will say (before it 
waits for activity) is "xmlnode received!"

MAKE SURE that in icq_trans.xml you connect to the SERVICE JID for the icq 
transport, not simply localhost or something. Read one of Keith's mails about 
that.

The OFFICIAL way to tell the transport which port to connect to is to add a 
<port>9000</port> section in the icq_trans.xml file, but then you also have 
to patch the config.c file to understand this and pass it on to 
ehandler_new_ex. I just hardcoded it because I am lazy :-)




More information about the JDev mailing list