Tue, 17 Jan 2006 05:48:51 +0000
[gaim-migrate @ 15262]
Make UPnP truly asynchronous.
There are probably still a couple socket calls that should be made nonblocking, but I wanted to commit this before it became even bigger. This contains a number of probable leak fixes in the upnp stuff.
The UPnP stuff has been updated to use gaim_url_fetch_request() instead of the specific implementation.
To make this all work, I had to make gaim_network_listen() and gaim_network_listen_range() also asynchronous - seems to work just fine apart from the UPnP calls seeming to take longer than they should (I'm planning to look into this).
I also triggered a STUN and UPnP discovery on startup so that we hopefully have the information when we need it.
This file describes how to compile and run gaim with dbus support. Hopefully, most of the steps from point 3 will soon be automated. 1. Make sure you have the latest version (0.34) of the dbus library installed, including glib bindings. http://www.freedesktop.org/Software/dbus 2. Compile gaim ./configure --enable-dbus make make install 3. Configure your dbus instalation for gaim A. Find your dbus session configuration file, usually /etc/dbus-1/session.conf B. In that file, find the <servicedir> section. This section contains the directory that stores files describing services, usually /usr/share/dbus-1/services C. Copy src/dbus-gaim.service to that directory D. Edit the dbus-gaim.service file you've just copied, and replace the path in the "Exec=" line with the path to your gaim executable. 4. Start Session DBUS if you haven't done it already eval `dbus-launch --session` export DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID These commands will set the two above shell variables. These variables must be set before running any dbus-aware programs. Start gaim as usual. To communicate with it, use "gaim-send". When you execute gaim-send, the dbus system will automatically start a gaim process if one is not running already.