gaim/gaim

This is a temporary fix for the rate limit problems.
oldstatus
2005-10-15, Mark Doliner
649cffd7a416
This is a temporary fix for the rate limit problems.

Cause: Gaim uses the SNAC 0x0004/0x0015 to fetch the away message
of each user in your buddy list. Previously this SNAC was in a
"rate class" that had an extremely lenient rate limit. Gaim would
fetch a new away message at most every 1.3 seconds. AOL recently
moved this SNAC to be in the same rate class as most of the other
SNACs (send IM, add buddy, connect to chat room, etc.) My temporary
fix is to bump this delay to 10 seconds.

We copied this functionality from iChat, and it looks like they
might actually be having the same problem (but I didn't even take
a packet capture to verify). If this is the case, AOL is really
stupid.

Possibly better fixes:
* Use the rate information to delay packets so that we never hit
a rate limit
* There may be a different SNAC that is now more leniently rate
limited. Possibly 0x0002/0x0005 or 0x0004/0x0006.
# Makefile.mingw
#
# Author: hermanator12002@yahoo.com
# Date 9/11/02
# Description: Top Makefile for win32 (mingw) port of Gaim
#
GAIM_SRC = ./src
GAIM_PROTOS = $(GAIM_SRC)/protocols
GAIM_PLUGINS = ./plugins
GAIM_PIXMAPS = ./pixmaps
GAIM_SOUNDS = ./sounds
GAIM_INSTALL_DIR = ./win32-install-dir
GTKSPELL_TOP = ../win32-dev/gtkspell-2.0.6/gtkspell
IDLETRACK_TOP = $(GAIM_SRC)/win32/IdleTracker
GTKRC_TOP = ../win32-dev/gtkrc
OSCAR = $(GAIM_PROTOS)/oscar
YAHOO = $(GAIM_PROTOS)/yahoo
MSN = $(GAIM_PROTOS)/msn
TOC = $(GAIM_PROTOS)/toc
IRC = $(GAIM_PROTOS)/irc
JABBER = $(GAIM_PROTOS)/jabber
NAPSTER = $(GAIM_PROTOS)/napster
TREPIA = $(GAIM_PROTOS)/trepia
GG = $(GAIM_PROTOS)/gg
NOVELL = $(GAIM_PROTOS)/novell
SILC = $(GAIM_PROTOS)/silc
PO = ./po
MAKENSIS := makensis.exe
VERSION := $(shell cat ./VERSION)
NEEDED_DLLS = $(GTKSPELL_TOP)/libgtkspell.dll \
$(IDLETRACK_TOP)/idletrack.dll
SOUNDS = $(GAIM_SOUNDS)/leave.wav \
$(GAIM_SOUNDS)/redalert.wav \
$(GAIM_SOUNDS)/receive.wav \
$(GAIM_SOUNDS)/send.wav \
$(GAIM_SOUNDS)/arrive.wav
##
## Don't forget to change STATIC_PROTO_INIT, in config.h.mingw if you
## change the status of a protocol (static/plugin)
##
OSCAR_TYPE = PLUGIN
YAHOO_TYPE = PLUGIN
MSN_TYPE = PLUGIN
TOC_TYPE = PLUGIN
IRC_TYPE = PLUGIN
JABBER_TYPE = PLUGIN
NAPSTER_TYPE = PLUGIN
GG_TYPE = PLUGIN
NOVELL_TYPE = PLUGIN
TREPIA_TYPE = PLUGIN
SILC_TYPE = PLUGIN
all:
cp config.h.mingw config.h
$(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw
$(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw
$(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw
$(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw
$(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw
$(MAKE) TYPE='$(NAPSTER_TYPE)' -C $(NAPSTER) -f Makefile.mingw
$(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw
$(MAKE) TYPE='$(NOVELL_TYPE)' -C $(NOVELL) -f Makefile.mingw
$(MAKE) TYPE='$(SILC_TYPE)' -C $(SILC) -f Makefile.mingw
$(MAKE) -C $(GAIM_SRC) -f Makefile.mingw
$(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw
install: all
mkdir -p $(GAIM_INSTALL_DIR)/plugins
mkdir -p $(GAIM_INSTALL_DIR)/sounds/gaim
$(MAKE) -C $(GAIM_PIXMAPS) -f Makefile.mingw install
$(MAKE) -C $(PO) -f Makefile.mingw install
$(MAKE) -C $(GAIM_SRC) -f Makefile.mingw install
$(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw install
$(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw install
$(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw install
$(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw install
$(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw install
$(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw install
$(MAKE) TYPE='$(NAPSTER_TYPE)' -C $(NAPSTER) -f Makefile.mingw install
$(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw install
$(MAKE) TYPE='$(NOVELL_TYPE)' -C $(NOVELL) -f Makefile.mingw install
$(MAKE) TYPE='$(SILC_TYPE)' -C $(SILC) -f Makefile.mingw install
cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR)
cp $(SOUNDS) $(GAIM_INSTALL_DIR)/sounds/gaim
installer:
$(MAKENSIS) /DGAIM_VERSION="$(VERSION)" /DWITH_GTK gaim-installer.nsi
installer_nogtk:
$(MAKENSIS) /DGAIM_VERSION="$(VERSION)" gaim-installer.nsi
installer_debug:
$(MAKENSIS) /DGAIM_VERSION="$(VERSION)" /DDEBUG gaim-installer.nsi
installers: installer installer_nogtk
clean:
$(MAKE) -C $(PO) -f Makefile.mingw clean
$(MAKE) -C $(OSCAR) -f Makefile.mingw clean
$(MAKE) -C $(YAHOO) -f Makefile.mingw clean
$(MAKE) -C $(MSN) -f Makefile.mingw clean
$(MAKE) -C $(IRC) -f Makefile.mingw clean
$(MAKE) -C $(JABBER) -f Makefile.mingw clean
$(MAKE) -C $(NAPSTER) -f Makefile.mingw clean
$(MAKE) -C $(GG) -f Makefile.mingw clean
$(MAKE) -C $(NOVELL) -f Makefile.mingw clean
$(MAKE) -C $(SILC) -f Makefile.mingw clean
$(MAKE) -C $(GAIM_SRC) -f Makefile.mingw clean
$(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw clean
rm -rf config.h $(GAIM_INSTALL_DIR)
rm -rf gaim*.exe