pidgin/purple-plugin-pack

merge of 'd96630e7b4cab3a8e44326d936d5c008d332ff0c'
org.guifications.plugins
2008-09-21, rlaager
2f842b91d09d
merge of 'd96630e7b4cab3a8e44326d936d5c008d332ff0c'
and 'ff6b591687253495e1968fb2a3a49700f473b5ab'
--- a/irchelper/irchelper.c Thu Sep 18 15:59:45 2008 -0400
+++ b/irchelper/irchelper.c Sun Sep 21 05:21:44 2008 -0400
@@ -56,6 +56,7 @@
#define AUTO_RESPONSE_INTERVAL 600
#define DOMAIN_SUFFIX_FREENODE ".freenode.net"
+#define DOMAIN_SUFFIX_FUNCOM ".funcom.com"
#define DOMAIN_SUFFIX_GAMESURGE ".gamesurge.net"
#define DOMAIN_SUFFIX_THUNDERCITY ".thundercity.org"
#define DOMAIN_SUFFIX_DALNET ".dal.net"
@@ -105,6 +106,7 @@
#define NICK_CHANSERV "ChanServ"
#define NICK_FREENODE_CONNECT "freenode-connect"
+#define NICK_FUNCOM_Q_SERVICE NICK_QUAKENET_Q "@cserve.funcom.com"
#define NICK_GAMESURGE_AUTHSERV "AuthServ"
#define NICK_GAMESURGE_AUTHSERV_SERVICE NICK_GAMESURGE_AUTHSERV "@Services.GameSurge.net"
#define NICK_GAMESURGE_GLOBAL "Global"
@@ -140,6 +142,7 @@
IRC_NETWORK_TYPE_UNDERNET = 0x0200,
IRC_NETWORK_TYPE_THUNDERCITY = 0x0400,
IRC_NETWORK_TYPE_DALNET = 0x0800,
+ IRC_NETWORK_TYPE_FUNCOM = 0x1000,
} IRCHelperStateFlags;
struct proto_stuff
@@ -234,6 +237,8 @@
type = IRC_NETWORK_TYPE_DALNET;
else if (g_str_has_suffix(username, DOMAIN_SUFFIX_QUAKENET))
type = IRC_NETWORK_TYPE_QUAKENET;
+ else if (g_str_has_suffix(username, DOMAIN_SUFFIX_FUNCOM))
+ type = IRC_NETWORK_TYPE_FUNCOM;
else if (g_str_has_suffix(username, DOMAIN_SUFFIX_JEUX))
type = IRC_NETWORK_TYPE_JEUX;
else if (g_str_has_suffix(username, DOMAIN_SUFFIX_UNDERNET))
@@ -301,6 +306,8 @@
authserv = NICK_DALNET_AUTHSERV_SERVICE;
else if (state & IRC_NETWORK_TYPE_QUAKENET)
authserv = NICK_QUAKENET_Q_SERVICE;
+ else if (state & IRC_NETWORK_TYPE_FUNCOM)
+ authserv = NICK_FUNCOM_Q_SERVICE;
else if (state & IRC_NETWORK_TYPE_UNDERNET)
authserv = NICK_UNDERNET_X;
@@ -553,6 +560,13 @@
authserv_identify("login ", connection, state);
}
+ else if (state & IRC_NETWORK_TYPE_FUNCOM)
+ {
+ purple_debug_info(PLUGIN_STATIC_NAME, "Connected with Funcom: %s\n",
+ purple_connection_get_display_name(connection));
+
+ authserv_identify("AUTH", connection, state);
+ }
else
{
nickpassword = purple_account_get_string(account, PLUGIN_ID "_nickpassword", "");
@@ -1127,7 +1141,8 @@
}
/* Suppress useless Q notifications if we're identifying automatically. */
- if (state & IRC_NETWORK_TYPE_QUAKENET &&
+ if ((state & IRC_NETWORK_TYPE_QUAKENET ||
+ state & IRC_NETWORK_TYPE_FUNCOM) &&
state & IRC_WILL_ID &&
g_str_equal(nick, NICK_QUAKENET_Q))
{