Yahoo-Transport (CVS) ===================== http://yahoo-transport.jabberstudio.org Yahoo Transport allows jabber users to log into Yahoo Messenger, and send/recv messages. Compiling --------- cd yahoo-transport ./configure make Usage ----- You may run yahoo-transport in one of two ways.. First, you can link it directly into your main jabberd by putting an entry into your jabber.xml (or other) config file like this: <service id="yahoo.myserver.com"> <load><yahoo_transport>/path/to/yahootrans.so</yahoo_transport></load> <config xmlns="jabber:config:yahoo"> <vCard xmlns="vcard-temp" version="3.0" prodid="-//HandGen//NONSGML vGen v1.0//EN"> <NAME>Yahoo Transport</NAME> <!-- any other vcard-temp tags can go here.. they will be passed on to the client that asks for them --> </vCard> <gateway> <desc>Please enter the Yahoo ID of the person you wish to contact</desc> <prompt>Yahoo! ID:</prompt> </gateway> <yserver> <pager port="5050">cs.yahoo.com</pager> <pagerhttp port="80">http.pager.yahoo.com</pagerhttp> <auth port="80">msg.edit.yahoo.com</auth> <data port="80">msg.edit.yahoo.com</data> <address port="80">uk.address.yahoo.com</address> <charmap>CP1252</charmap> <!-- CP1252 is the Windows codepage. Non Windows clients do use other charmaps. Therefore you can't send the Euro symbol to a Linux Yahoo! Messenger that uses ISO-8859-1 or ISO-8859-15. This is a bug Yahoo! has to fix. -> <!-- For usage in Japan use the following information <pager port="5050">cs.yahoo.co.jp</pager> <pagerhttp port="80">http.messenger.yahoo.co.jp</pagerhttp> <auth port="80">edit.my.yahoo.co.jp</auth> <data port="80">edit.my.yahoo.co.jp</data> <charmap>SHIFT-JIS</charmap> --> </yserver> </config> </service> Note that the compiled yahootrans.so will be in the src/ directory under where you compiled yahoo-transport. You will also need to have an <xdb/> section in your config file somewhere: <xdb id="xdb"> <host/> <load><xdb_file>./xdb_file/xdb_file.so</xdb_file></load> <xdb_file xmlns="jabber:config:xdb_file"> <spool><jabberd:cmdline flag='s'>./spool</jabberd:cmdline></spool> </xdb_file> </xdb> This is because yahoo-transport uses XDB to store it's user specific data, such as login passwords, or rosters. You will also need to add to the <browse/> section (listed above) to the jsm config section, under <browse/>. <browse> <!-- other services go here --> <service type="yahoo" jid="yahoo.myserver.com" name="Yahoo! Transport"> <ns>jabber:iq:gateway</ns> <ns>jabber:iq:register</ns> </service> </browse> Another way to run yahoo-transport is from a second jabberd. This is favorable when you are using a version that may be prone to crashes... put in a "linker" section in your main jabberd, such as: <service id="jabberd_linker"> <accept> <ip>12.34.56.78</ip> <port>9876</port> <secret>j4bb3rd_l1nk3r</secret> </accept> <host>yahoo.myserver.com</host> </service> and then in your yahoo jabberd config, put in a matching linker service: <service id="jabberd_linker"> <connect> <ip>12.34.56.78</ip> <port>9876</port> <secret>j4bb3rd_l1nk3r</secret> </connect> <uplink/> </service> along with the service tag for yahoo-transport... few things to note here... the id, ip, port, and secret MUST match EXACTLY in each linker section... the <uplink/> flag causes every undeliverable packet to be sent to the other jabberd (the main jabberd) so make sure that any <host/> section that you put into the main jabberd's linker section is defined in the yahoo jabberd config file (the id attribute IS a defined hostname) if you do not have it defined in that section, packets to that host will bounce between jabberds infinitly, and slow down or crash your server. Good Luck!