diff libpurple/upnp.c @ 15822:32c366eeeb99

sed -ie 's/gaim/purple/g'
author Sean Egan <seanegan@gmail.com>
date Mon, 19 Mar 2007 07:01:17 +0000
parents 58ff9a0ffce0
children 1a12ce76c4f4
line wrap: on
line diff
--- a/libpurple/upnp.c	Mon Mar 19 06:11:46 2007 +0000
+++ b/libpurple/upnp.c	Mon Mar 19 07:01:17 2007 +0000
@@ -2,9 +2,9 @@
  * @file upnp.c UPnP Implementation
  * @ingroup core
  *
- * gaim
+ * purple
  *
- * Gaim is the legal property of its developers, whose names are too numerous
+ * Purple is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
@@ -84,7 +84,7 @@
 	"</s:Envelope>"
 
 #define PORT_MAPPING_LEASE_TIME "0"
-#define PORT_MAPPING_DESCRIPTION "GAIM_UPNP_PORT_FORWARD"
+#define PORT_MAPPING_DESCRIPTION "PURPLE_UPNP_PORT_FORWARD"
 
 #define ADD_PORT_MAPPING_PARAMS \
 	"<NewRemoteHost></NewRemoteHost>\r\n" \
@@ -106,24 +106,24 @@
 	"<NewProtocol>%s</NewProtocol>\r\n"
 
 typedef enum {
-	GAIM_UPNP_STATUS_UNDISCOVERED = -1,
-	GAIM_UPNP_STATUS_UNABLE_TO_DISCOVER,
-	GAIM_UPNP_STATUS_DISCOVERING,
-	GAIM_UPNP_STATUS_DISCOVERED
-} GaimUPnPStatus;
+	PURPLE_UPNP_STATUS_UNDISCOVERED = -1,
+	PURPLE_UPNP_STATUS_UNABLE_TO_DISCOVER,
+	PURPLE_UPNP_STATUS_DISCOVERING,
+	PURPLE_UPNP_STATUS_DISCOVERED
+} PurpleUPnPStatus;
 
 typedef struct {
-	GaimUPnPStatus status;
+	PurpleUPnPStatus status;
 	gchar* control_url;
 	gchar service_type[20];
 	char publicip[16];
 	char internalip[16];
 	time_t lookup_time;
-} GaimUPnPControlInfo;
+} PurpleUPnPControlInfo;
 
 typedef struct {
-	guint inpa;	/* gaim_input_add handle */
-	guint tima;	/* gaim_timeout_add handle */
+	guint inpa;	/* purple_input_add handle */
+	guint tima;	/* purple_timeout_add handle */
 	int fd;
 	struct sockaddr_in server;
 	gchar service_type[25];
@@ -136,19 +136,19 @@
 	unsigned short portmap;
 	gchar protocol[4];
 	gboolean add;
-	GaimUPnPCallback cb;
+	PurpleUPnPCallback cb;
 	gpointer cb_data;
-	guint tima; /* gaim_timeout_add handle */
-	GaimUtilFetchUrlData *gfud;
+	guint tima; /* purple_timeout_add handle */
+	PurpleUtilFetchUrlData *gfud;
 };
 
-static GaimUPnPControlInfo control_info = {
-	GAIM_UPNP_STATUS_UNDISCOVERED,
+static PurpleUPnPControlInfo control_info = {
+	PURPLE_UPNP_STATUS_UNDISCOVERED,
 	NULL, "\0", "\0", "\0", 0};
 
 static GSList *discovery_callbacks = NULL;
 
-static void gaim_upnp_discover_send_broadcast(UPnPDiscoveryData *dd);
+static void purple_upnp_discover_send_broadcast(UPnPDiscoveryData *dd);
 static void lookup_public_ip(void);
 static void lookup_internal_ip(void);
 
@@ -157,7 +157,7 @@
 {
 	while(discovery_callbacks) {
 		gpointer data;
-		GaimUPnPCallback cb = discovery_callbacks->data;
+		PurpleUPnPCallback cb = discovery_callbacks->data;
 		discovery_callbacks = g_slist_remove(discovery_callbacks, cb);
 		data = discovery_callbacks->data;
 		discovery_callbacks = g_slist_remove(discovery_callbacks, data);
@@ -166,7 +166,7 @@
 }
 
 static gboolean
-gaim_upnp_compare_device(const xmlnode* device, const gchar* deviceType)
+purple_upnp_compare_device(const xmlnode* device, const gchar* deviceType)
 {
 	xmlnode* deviceTypeNode = xmlnode_get_child(device, "deviceType");
 	char *tmp;
@@ -184,7 +184,7 @@
 }
 
 static gboolean
-gaim_upnp_compare_service(const xmlnode* service, const gchar* serviceType)
+purple_upnp_compare_service(const xmlnode* service, const gchar* serviceType)
 {
 	xmlnode* serviceTypeNode;
 	char *tmp;
@@ -208,7 +208,7 @@
 }
 
 static gchar*
-gaim_upnp_parse_description_response(const gchar* httpResponse, gsize len,
+purple_upnp_parse_description_response(const gchar* httpResponse, gsize len,
 	const gchar* httpURL, const gchar* serviceType)
 {
 	gchar *xmlRoot, *baseURL, *controlURL, *service;
@@ -217,14 +217,14 @@
 
 	/* make sure we have a valid http response */
 	if(g_strstr_len(httpResponse, len, HTTP_OK) == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_description_response(): Failed In HTTP_OK\n");
 		return NULL;
 	}
 
 	/* find the root of the xml document */
 	if((xmlRoot = g_strstr_len(httpResponse, len, "<root")) == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_description_response(): Failed finding root\n");
 		return NULL;
 	}
@@ -232,7 +232,7 @@
 	/* create the xml root node */
 	if((xmlRootNode = xmlnode_from_str(xmlRoot,
 			len - (xmlRoot - httpResponse))) == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_description_response(): Could not parse xml root node\n");
 		return NULL;
 	}
@@ -248,13 +248,13 @@
 
 	/* get urn:schemas-upnp-org:device:InternetGatewayDevice:1 and its devicelist */
 	serviceTypeNode = xmlnode_get_child(xmlRootNode, "device");
-	while(!gaim_upnp_compare_device(serviceTypeNode,
+	while(!purple_upnp_compare_device(serviceTypeNode,
 			"urn:schemas-upnp-org:device:InternetGatewayDevice:1") &&
 			serviceTypeNode != NULL) {
 		serviceTypeNode = xmlnode_get_next_twin(serviceTypeNode);
 	}
 	if(serviceTypeNode == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_description_response(): could not get serviceTypeNode 1\n");
 		g_free(baseURL);
 		xmlnode_free(xmlRootNode);
@@ -262,7 +262,7 @@
 	}
 	serviceTypeNode = xmlnode_get_child(serviceTypeNode, "deviceList");
 	if(serviceTypeNode == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_description_response(): could not get serviceTypeNode 2\n");
 		g_free(baseURL);
 		xmlnode_free(xmlRootNode);
@@ -271,13 +271,13 @@
 
 	/* get urn:schemas-upnp-org:device:WANDevice:1 and its devicelist */
 	serviceTypeNode = xmlnode_get_child(serviceTypeNode, "device");
-	while(!gaim_upnp_compare_device(serviceTypeNode,
+	while(!purple_upnp_compare_device(serviceTypeNode,
 			"urn:schemas-upnp-org:device:WANDevice:1") &&
 			serviceTypeNode != NULL) {
 		serviceTypeNode = xmlnode_get_next_twin(serviceTypeNode);
 	}
 	if(serviceTypeNode == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_description_response(): could not get serviceTypeNode 3\n");
 		g_free(baseURL);
 		xmlnode_free(xmlRootNode);
@@ -285,7 +285,7 @@
 	}
 	serviceTypeNode = xmlnode_get_child(serviceTypeNode, "deviceList");
 	if(serviceTypeNode == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_description_response(): could not get serviceTypeNode 4\n");
 		g_free(baseURL);
 		xmlnode_free(xmlRootNode);
@@ -294,12 +294,12 @@
 
 	/* get urn:schemas-upnp-org:device:WANConnectionDevice:1 and its servicelist */
 	serviceTypeNode = xmlnode_get_child(serviceTypeNode, "device");
-	while(serviceTypeNode && !gaim_upnp_compare_device(serviceTypeNode,
+	while(serviceTypeNode && !purple_upnp_compare_device(serviceTypeNode,
 			"urn:schemas-upnp-org:device:WANConnectionDevice:1")) {
 		serviceTypeNode = xmlnode_get_next_twin(serviceTypeNode);
 	}
 	if(serviceTypeNode == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_description_response(): could not get serviceTypeNode 5\n");
 		g_free(baseURL);
 		xmlnode_free(xmlRootNode);
@@ -307,7 +307,7 @@
 	}
 	serviceTypeNode = xmlnode_get_child(serviceTypeNode, "serviceList");
 	if(serviceTypeNode == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_description_response(): could not get serviceTypeNode 6\n");
 		g_free(baseURL);
 		xmlnode_free(xmlRootNode);
@@ -317,14 +317,14 @@
 	/* get the serviceType variable passed to this function */
 	service = g_strdup_printf(SEARCH_REQUEST_DEVICE, serviceType);
 	serviceTypeNode = xmlnode_get_child(serviceTypeNode, "service");
-	while(!gaim_upnp_compare_service(serviceTypeNode, service) &&
+	while(!purple_upnp_compare_service(serviceTypeNode, service) &&
 			serviceTypeNode != NULL) {
 		serviceTypeNode = xmlnode_get_next_twin(serviceTypeNode);
 	}
 
 	g_free(service);
 	if(serviceTypeNode == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_description_response(): could not get serviceTypeNode 7\n");
 		g_free(baseURL);
 		xmlnode_free(xmlRootNode);
@@ -334,7 +334,7 @@
 	/* get the controlURL of the service */
 	if((controlURLNode = xmlnode_get_child(serviceTypeNode,
 			"controlURL")) == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_description_response(): Could not find controlURL\n");
 		g_free(baseURL);
 		xmlnode_free(xmlRootNode);
@@ -342,8 +342,8 @@
 	}
 
 	tmp = xmlnode_get_data(controlURLNode);
-	if(baseURL && !gaim_str_has_prefix(tmp, "http://") &&
-	   !gaim_str_has_prefix(tmp, "HTTP://")) {
+	if(baseURL && !purple_str_has_prefix(tmp, "http://") &&
+	   !purple_str_has_prefix(tmp, "HTTP://")) {
 		/* Handle absolute paths in a relative URL.  This probably
 		 * belongs in util.c. */
 		if (tmp[0] == '/') {
@@ -367,25 +367,25 @@
 }
 
 static void
-upnp_parse_description_cb(GaimUtilFetchUrlData *url_data, gpointer user_data,
+upnp_parse_description_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data,
 		const gchar *httpResponse, gsize len, const gchar *error_message)
 {
 	UPnPDiscoveryData *dd = user_data;
 	gchar *control_url = NULL;
 
 	if (len > 0)
-		control_url = gaim_upnp_parse_description_response(
+		control_url = purple_upnp_parse_description_response(
 			httpResponse, len, dd->full_url, dd->service_type);
 
 	g_free(dd->full_url);
 
 	if(control_url == NULL) {
-		gaim_debug_error("upnp",
-			"gaim_upnp_parse_description(): control URL is NULL\n");
+		purple_debug_error("upnp",
+			"purple_upnp_parse_description(): control URL is NULL\n");
 	}
 
-	control_info.status = control_url ? GAIM_UPNP_STATUS_DISCOVERED
-		: GAIM_UPNP_STATUS_UNABLE_TO_DISCOVER;
+	control_info.status = control_url ? PURPLE_UPNP_STATUS_DISCOVERED
+		: PURPLE_UPNP_STATUS_UNABLE_TO_DISCOVER;
 	control_info.lookup_time = time(NULL);
 	control_info.control_url = control_url;
 	strncpy(control_info.service_type, dd->service_type,
@@ -403,7 +403,7 @@
 }
 
 static void
-gaim_upnp_parse_description(const gchar* descriptionURL, UPnPDiscoveryData *dd)
+purple_upnp_parse_description(const gchar* descriptionURL, UPnPDiscoveryData *dd)
 {
 	gchar* httpRequest;
 	gchar* descriptionXMLAddress;
@@ -414,7 +414,7 @@
 	   example description URL: http://192.168.1.1:5678/rootDesc.xml */
 
 	/* parse the url into address, port, path variables */
-	if(!gaim_url_parse(descriptionURL, &descriptionAddress,
+	if(!purple_url_parse(descriptionURL, &descriptionAddress,
 			&port, &descriptionXMLAddress, NULL, NULL)) {
 		return;
 	}
@@ -438,10 +438,10 @@
 
 	/* Remove the timeout because everything it is waiting for has
 	 * successfully completed */
-	gaim_timeout_remove(dd->tima);
+	purple_timeout_remove(dd->tima);
 	dd->tima = 0;
 
-	gaim_util_fetch_url_request(descriptionURL, TRUE, NULL, TRUE, httpRequest,
+	purple_util_fetch_url_request(descriptionURL, TRUE, NULL, TRUE, httpRequest,
 			TRUE, upnp_parse_description_cb, dd);
 
 	g_free(httpRequest);
@@ -449,7 +449,7 @@
 }
 
 static void
-gaim_upnp_parse_discover_response(const gchar* buf, unsigned int buf_len,
+purple_upnp_parse_discover_response(const gchar* buf, unsigned int buf_len,
 	UPnPDiscoveryData *dd)
 {
 	gchar* startDescURL;
@@ -457,13 +457,13 @@
 	gchar* descURL;
 
 	if(g_strstr_len(buf, buf_len, HTTP_OK) == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_discover_response(): Failed In HTTP_OK\n");
 		return;
 	}
 
 	if((startDescURL = g_strstr_len(buf, buf_len, "http://")) == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_discover_response(): Failed In finding http://\n");
 		return;
 	}
@@ -474,7 +474,7 @@
 		endDescURL = g_strstr_len(startDescURL,
 				buf_len - (startDescURL - buf), "\n");
 		if(endDescURL == NULL) {
-			gaim_debug_error("upnp",
+			purple_debug_error("upnp",
 				"parse_discover_response(): Failed In endDescURL\n");
 			return;
 		}
@@ -482,38 +482,38 @@
 
 	/* XXX: I'm not sure how this could ever happen */
 	if(endDescURL == startDescURL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"parse_discover_response(): endDescURL == startDescURL\n");
 		return;
 	}
 
 	descURL = g_strndup(startDescURL, endDescURL - startDescURL);
 
-	gaim_upnp_parse_description(descURL, dd);
+	purple_upnp_parse_description(descURL, dd);
 
 	g_free(descURL);
 
 }
 
 static gboolean
-gaim_upnp_discover_timeout(gpointer data)
+purple_upnp_discover_timeout(gpointer data)
 {
 	UPnPDiscoveryData* dd = data;
 
 	if (dd->inpa)
-		gaim_input_remove(dd->inpa);
+		purple_input_remove(dd->inpa);
 	dd->inpa = 0;
 	dd->tima = 0;
 
 	if (dd->retry_count < NUM_UDP_ATTEMPTS) {
 		/* TODO: We probably shouldn't be incrementing retry_count in two places */
 		dd->retry_count++;
-		gaim_upnp_discover_send_broadcast(dd);
+		purple_upnp_discover_send_broadcast(dd);
 	} else {
 		if (dd->fd)
 			close(dd->fd);
 
-		control_info.status = GAIM_UPNP_STATUS_UNABLE_TO_DISCOVER;
+		control_info.status = PURPLE_UPNP_STATUS_UNABLE_TO_DISCOVER;
 		control_info.lookup_time = time(NULL);
 		control_info.service_type[0] = '\0';
 		g_free(control_info.control_url);
@@ -528,7 +528,7 @@
 }
 
 static void
-gaim_upnp_discover_udp_read(gpointer data, gint sock, GaimInputCondition cond)
+purple_upnp_discover_udp_read(gpointer data, gint sock, PurpleInputCondition cond)
 {
 	int len;
 	UPnPDiscoveryData *dd = data;
@@ -547,20 +547,20 @@
 		}
 	} while (errno == EINTR);
 
-	gaim_input_remove(dd->inpa);
+	purple_input_remove(dd->inpa);
 	dd->inpa = 0;
 
 	close(dd->fd);
 	dd->fd = 0;
 
 	/* parse the response, and see if it was a success */
-	gaim_upnp_parse_discover_response(buf, len, dd);
+	purple_upnp_parse_discover_response(buf, len, dd);
 
 	/* We'll either time out or continue successfully */
 }
 
 static void
-gaim_upnp_discover_send_broadcast(UPnPDiscoveryData *dd)
+purple_upnp_discover_send_broadcast(UPnPDiscoveryData *dd)
 {
 	gchar *sendMessage = NULL;
 	gsize totalSize;
@@ -595,10 +595,10 @@
 		g_free(sendMessage);
 
 		if(sentSuccess) {
-			dd->tima = gaim_timeout_add(DISCOVERY_TIMEOUT,
-				gaim_upnp_discover_timeout, dd);
-			dd->inpa = gaim_input_add(dd->fd, GAIM_INPUT_READ,
-				gaim_upnp_discover_udp_read, dd);
+			dd->tima = purple_timeout_add(DISCOVERY_TIMEOUT,
+				purple_upnp_discover_timeout, dd);
+			dd->inpa = purple_input_add(dd->fd, PURPLE_INPUT_READ,
+				purple_upnp_discover_udp_read, dd);
 
 			return;
 		}
@@ -606,11 +606,11 @@
 
 	/* We have already done all our retries. Make sure that the callback
 	 * doesn't get called before the original function returns */
-	gaim_timeout_add(10, gaim_upnp_discover_timeout, dd);
+	purple_timeout_add(10, purple_upnp_discover_timeout, dd);
 }
 
 void
-gaim_upnp_discover(GaimUPnPCallback cb, gpointer cb_data)
+purple_upnp_discover(PurpleUPnPCallback cb, gpointer cb_data)
 {
 	/* Socket Setup Variables */
 	int sock;
@@ -619,7 +619,7 @@
 	/* UDP RECEIVE VARIABLES */
 	UPnPDiscoveryData *dd;
 
-	if (control_info.status == GAIM_UPNP_STATUS_DISCOVERING) {
+	if (control_info.status == PURPLE_UPNP_STATUS_DISCOVERING) {
 		if (cb) {
 			discovery_callbacks = g_slist_append(
 					discovery_callbacks, cb);
@@ -639,11 +639,11 @@
 	/* Set up the sockets */
 	sock = socket(AF_INET, SOCK_DGRAM, 0);
 	if(sock == -1) {
-		gaim_debug_error("upnp",
-			"gaim_upnp_discover(): Failed In sock creation\n");
+		purple_debug_error("upnp",
+			"purple_upnp_discover(): Failed In sock creation\n");
 		/* Short circuit the retry attempts */
 		dd->retry_count = NUM_UDP_ATTEMPTS;
-		gaim_timeout_add(10, gaim_upnp_discover_timeout, dd);
+		purple_timeout_add(10, purple_upnp_discover_timeout, dd);
 		return;
 	}
 
@@ -651,11 +651,11 @@
 
 	/* TODO: Non-blocking! */
 	if((hp = gethostbyname(HTTPMU_HOST_ADDRESS)) == NULL) {
-		gaim_debug_error("upnp",
-			"gaim_upnp_discover(): Failed In gethostbyname\n");
+		purple_debug_error("upnp",
+			"purple_upnp_discover(): Failed In gethostbyname\n");
 		/* Short circuit the retry attempts */
 		dd->retry_count = NUM_UDP_ATTEMPTS;
-		gaim_timeout_add(10, gaim_upnp_discover_timeout, dd);
+		purple_timeout_add(10, purple_upnp_discover_timeout, dd);
 		return;
 	}
 
@@ -664,17 +664,17 @@
 	memcpy(&(dd->server.sin_addr), hp->h_addr_list[0], hp->h_length);
 	dd->server.sin_port = htons(HTTPMU_HOST_PORT);
 
-	control_info.status = GAIM_UPNP_STATUS_DISCOVERING;
+	control_info.status = PURPLE_UPNP_STATUS_DISCOVERING;
 
-	gaim_upnp_discover_send_broadcast(dd);
+	purple_upnp_discover_send_broadcast(dd);
 }
 
-static GaimUtilFetchUrlData*
-gaim_upnp_generate_action_message_and_send(const gchar* actionName,
-		const gchar* actionParams, GaimUtilFetchUrlCallback cb,
+static PurpleUtilFetchUrlData*
+purple_upnp_generate_action_message_and_send(const gchar* actionName,
+		const gchar* actionParams, PurpleUtilFetchUrlCallback cb,
 		gpointer cb_data)
 {
-	GaimUtilFetchUrlData* gfud;
+	PurpleUtilFetchUrlData* gfud;
 	gchar* soapMessage;
 	gchar* totalSendMessage;
 	gchar* pathOfControl;
@@ -682,9 +682,9 @@
 	int port = 0;
 
 	/* parse the url into address, port, path variables */
-	if(!gaim_url_parse(control_info.control_url, &addressOfControl,
+	if(!purple_url_parse(control_info.control_url, &addressOfControl,
 			&port, &pathOfControl, NULL, NULL)) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"generate_action_message_and_send(): Failed In Parse URL\n");
 		/* XXX: This should probably be async */
 		if(cb)
@@ -706,7 +706,7 @@
 	g_free(pathOfControl);
 	g_free(soapMessage);
 
-	gfud = gaim_util_fetch_url_request(control_info.control_url, FALSE, NULL, TRUE,
+	gfud = purple_util_fetch_url_request(control_info.control_url, FALSE, NULL, TRUE,
 				totalSendMessage, TRUE, cb, cb_data);
 
 	g_free(totalSendMessage);
@@ -716,24 +716,24 @@
 }
 
 const gchar *
-gaim_upnp_get_public_ip()
+purple_upnp_get_public_ip()
 {
-	if (control_info.status == GAIM_UPNP_STATUS_DISCOVERED
+	if (control_info.status == PURPLE_UPNP_STATUS_DISCOVERED
 			&& control_info.publicip
 			&& strlen(control_info.publicip) > 0)
 		return control_info.publicip;
 
 	/* Trigger another UPnP discovery if 5 minutes have elapsed since the
 	 * last one, and it wasn't successful */
-	if (control_info.status < GAIM_UPNP_STATUS_DISCOVERING
+	if (control_info.status < PURPLE_UPNP_STATUS_DISCOVERING
 			&& (time(NULL) - control_info.lookup_time) > 300)
-		gaim_upnp_discover(NULL, NULL);
+		purple_upnp_discover(NULL, NULL);
 
 	return NULL;
 }
 
 static void
-looked_up_public_ip_cb(GaimUtilFetchUrlData *url_data, gpointer user_data,
+looked_up_public_ip_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data,
 		const gchar *httpResponse, gsize len, const gchar *error_message)
 {
 	gchar* temp, *temp2;
@@ -744,17 +744,17 @@
 	/* extract the ip, or see if there is an error */
 	if((temp = g_strstr_len(httpResponse, len,
 			"<NewExternalIPAddress")) == NULL) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"looked_up_public_ip_cb(): Failed Finding <NewExternalIPAddress\n");
 		return;
 	}
 	if(!(temp = g_strstr_len(temp, len - (temp - httpResponse), ">"))) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"looked_up_public_ip_cb(): Failed In Finding >\n");
 		return;
 	}
 	if(!(temp2 = g_strstr_len(temp, len - (temp - httpResponse), "<"))) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"looked_up_public_ip_cb(): Failed In Finding <\n");
 		return;
 	}
@@ -763,30 +763,30 @@
 	strncpy(control_info.publicip, temp + 1,
 			sizeof(control_info.publicip));
 
-	gaim_debug_info("upnp", "NAT Returned IP: %s\n", control_info.publicip);
+	purple_debug_info("upnp", "NAT Returned IP: %s\n", control_info.publicip);
 }
 
 static void
 lookup_public_ip()
 {
-	gaim_upnp_generate_action_message_and_send("GetExternalIPAddress", "",
+	purple_upnp_generate_action_message_and_send("GetExternalIPAddress", "",
 			looked_up_public_ip_cb, NULL);
 }
 
 /* TODO: This could be exported */
 static const gchar *
-gaim_upnp_get_internal_ip()
+purple_upnp_get_internal_ip()
 {
-	if (control_info.status == GAIM_UPNP_STATUS_DISCOVERED
+	if (control_info.status == PURPLE_UPNP_STATUS_DISCOVERED
 			&& control_info.internalip
 			&& strlen(control_info.internalip) > 0)
 		return control_info.internalip;
 
 	/* Trigger another UPnP discovery if 5 minutes have elapsed since the
 	 * last one, and it wasn't successful */
-	if (control_info.status < GAIM_UPNP_STATUS_DISCOVERING
+	if (control_info.status < PURPLE_UPNP_STATUS_DISCOVERING
 			&& (time(NULL) - control_info.lookup_time) > 300)
-		gaim_upnp_discover(NULL, NULL);
+		purple_upnp_discover(NULL, NULL);
 
 	return NULL;
 }
@@ -796,13 +796,13 @@
 {
 	if (source) {
 		strncpy(control_info.internalip,
-			gaim_network_get_local_system_ip(source),
+			purple_network_get_local_system_ip(source),
 			sizeof(control_info.internalip));
-		gaim_debug_info("upnp", "Local IP: %s\n",
+		purple_debug_info("upnp", "Local IP: %s\n",
 				control_info.internalip);
 		close(source);
 	} else
-		gaim_debug_info("upnp", "Unable to look up local IP\n");
+		purple_debug_info("upnp", "Unable to look up local IP\n");
 
 }
 
@@ -812,9 +812,9 @@
 	gchar* addressOfControl;
 	int port = 0;
 
-	if(!gaim_url_parse(control_info.control_url, &addressOfControl, &port,
+	if(!purple_url_parse(control_info.control_url, &addressOfControl, &port,
 			NULL, NULL, NULL)) {
-		gaim_debug_error("upnp",
+		purple_debug_error("upnp",
 			"lookup_internal_ip(): Failed In Parse URL\n");
 		return;
 	}
@@ -822,10 +822,10 @@
 		port = DEFAULT_HTTP_PORT;
 	}
 
-	if(gaim_proxy_connect(NULL, NULL, addressOfControl, port,
+	if(purple_proxy_connect(NULL, NULL, addressOfControl, port,
 			looked_up_internal_ip_cb, NULL) == NULL)
 	{
-		gaim_debug_error("upnp", "Get Local IP Connect Failed: Address: %s @@@ Port %d\n",
+		purple_debug_error("upnp", "Get Local IP Connect Failed: Address: %s @@@ Port %d\n",
 			addressOfControl, port);
 	}
 
@@ -833,7 +833,7 @@
 }
 
 static void
-done_port_mapping_cb(GaimUtilFetchUrlData *url_data, gpointer user_data,
+done_port_mapping_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data,
 		const gchar *httpResponse, gsize len, const gchar *error_message)
 {
 	UPnPMappingAddRemove *ar = user_data;
@@ -844,12 +844,12 @@
 	if ((error_message != NULL) || (httpResponse == NULL) ||
 		(g_strstr_len(httpResponse, len, HTTP_OK) == NULL))
 	{
-		gaim_debug_error("upnp",
-			"gaim_upnp_set_port_mapping(): Failed HTTP_OK\n%s\n",
+		purple_debug_error("upnp",
+			"purple_upnp_set_port_mapping(): Failed HTTP_OK\n%s\n",
 			httpResponse ? httpResponse : "(null)");
 		success =  FALSE;
 	} else
-		gaim_debug_info("upnp", "Successfully completed port mapping operation\n");
+		purple_debug_info("upnp", "Successfully completed port mapping operation\n");
 
 	if (ar->cb)
 		ar->cb(success, ar->cb_data);
@@ -867,9 +867,9 @@
 		if(ar->add) {
 			const gchar *internal_ip;
 			/* get the internal IP */
-			if(!(internal_ip = gaim_upnp_get_internal_ip())) {
-				gaim_debug_error("upnp",
-					"gaim_upnp_set_port_mapping(): couldn't get local ip\n");
+			if(!(internal_ip = purple_upnp_get_internal_ip())) {
+				purple_debug_error("upnp",
+					"purple_upnp_set_port_mapping(): couldn't get local ip\n");
 				/* UGLY */
 				if (ar->cb)
 					ar->cb(FALSE, ar->cb_data);
@@ -889,7 +889,7 @@
 				ar->portmap, ar->protocol);
 		}
 
-		ar->gfud = gaim_upnp_generate_action_message_and_send(action_name,
+		ar->gfud = purple_upnp_generate_action_message_and_send(action_name,
 						action_params, done_port_mapping_cb, ar);
 
 		g_free(action_params);
@@ -909,7 +909,7 @@
 	return FALSE;
 }
 
-void gaim_upnp_cancel_port_mapping(UPnPMappingAddRemove *ar)
+void purple_upnp_cancel_port_mapping(UPnPMappingAddRemove *ar)
 {
 	GSList *l;
 
@@ -927,17 +927,17 @@
 	}
 
 	if (ar->tima > 0)
-		gaim_timeout_remove(ar->tima);
+		purple_timeout_remove(ar->tima);
 
 	if (ar->gfud)
-		gaim_util_fetch_url_cancel(ar->gfud);
+		purple_util_fetch_url_cancel(ar->gfud);
 
 	g_free(ar);
 }
 
 UPnPMappingAddRemove *
-gaim_upnp_set_port_mapping(unsigned short portmap, const gchar* protocol,
-		GaimUPnPCallback cb, gpointer cb_data)
+purple_upnp_set_port_mapping(unsigned short portmap, const gchar* protocol,
+		PurpleUPnPCallback cb, gpointer cb_data)
 {
 	UPnPMappingAddRemove *ar;
 
@@ -949,7 +949,7 @@
 	strncpy(ar->protocol, protocol, sizeof(ar->protocol));
 
 	/* If we're waiting for a discovery, add to the callbacks list */
-	if(control_info.status == GAIM_UPNP_STATUS_DISCOVERING) {
+	if(control_info.status == PURPLE_UPNP_STATUS_DISCOVERING) {
 		/* TODO: This will fail because when this cb is triggered,
 		 * the internal IP lookup won't be complete */
 		discovery_callbacks = g_slist_append(
@@ -961,15 +961,15 @@
 
 	/* If we haven't had a successful UPnP discovery, check if 5 minutes has
 	 * elapsed since the last try, try again */
-	if(control_info.status == GAIM_UPNP_STATUS_UNDISCOVERED ||
-			(control_info.status == GAIM_UPNP_STATUS_UNABLE_TO_DISCOVER
+	if(control_info.status == PURPLE_UPNP_STATUS_UNDISCOVERED ||
+			(control_info.status == PURPLE_UPNP_STATUS_UNABLE_TO_DISCOVER
 			 && (time(NULL) - control_info.lookup_time) > 300)) {
-		gaim_upnp_discover(do_port_mapping_cb, ar);
+		purple_upnp_discover(do_port_mapping_cb, ar);
 		return ar;
-	} else if(control_info.status == GAIM_UPNP_STATUS_UNABLE_TO_DISCOVER) {
+	} else if(control_info.status == PURPLE_UPNP_STATUS_UNABLE_TO_DISCOVER) {
 		if (cb) {
 			/* Asynchronously trigger a failed response */
-			ar->tima = gaim_timeout_add(10, fire_port_mapping_failure_cb, ar);
+			ar->tima = purple_timeout_add(10, fire_port_mapping_failure_cb, ar);
 		} else {
 			/* No need to do anything if nobody expects a response*/
 			g_free(ar);
@@ -983,8 +983,8 @@
 }
 
 UPnPMappingAddRemove *
-gaim_upnp_remove_port_mapping(unsigned short portmap, const char* protocol,
-		GaimUPnPCallback cb, gpointer cb_data)
+purple_upnp_remove_port_mapping(unsigned short portmap, const char* protocol,
+		PurpleUPnPCallback cb, gpointer cb_data)
 {
 	UPnPMappingAddRemove *ar;
 
@@ -996,7 +996,7 @@
 	strncpy(ar->protocol, protocol, sizeof(ar->protocol));
 
 	/* If we're waiting for a discovery, add to the callbacks list */
-	if(control_info.status == GAIM_UPNP_STATUS_DISCOVERING) {
+	if(control_info.status == PURPLE_UPNP_STATUS_DISCOVERING) {
 		discovery_callbacks = g_slist_append(
 				discovery_callbacks, do_port_mapping_cb);
 		discovery_callbacks = g_slist_append(
@@ -1006,15 +1006,15 @@
 
 	/* If we haven't had a successful UPnP discovery, check if 5 minutes has
 	 * elapsed since the last try, try again */
-	if(control_info.status == GAIM_UPNP_STATUS_UNDISCOVERED ||
-			(control_info.status == GAIM_UPNP_STATUS_UNABLE_TO_DISCOVER
+	if(control_info.status == PURPLE_UPNP_STATUS_UNDISCOVERED ||
+			(control_info.status == PURPLE_UPNP_STATUS_UNABLE_TO_DISCOVER
 			 && (time(NULL) - control_info.lookup_time) > 300)) {
-		gaim_upnp_discover(do_port_mapping_cb, ar);
+		purple_upnp_discover(do_port_mapping_cb, ar);
 		return ar;
-	} else if(control_info.status == GAIM_UPNP_STATUS_UNABLE_TO_DISCOVER) {
+	} else if(control_info.status == PURPLE_UPNP_STATUS_UNABLE_TO_DISCOVER) {
 		if (cb) {
 			/* Asynchronously trigger a failed response */
-			ar->tima = gaim_timeout_add(10, fire_port_mapping_failure_cb, ar);
+			ar->tima = purple_timeout_add(10, fire_port_mapping_failure_cb, ar);
 		} else {
 			/* No need to do anything if nobody expects a response*/
 			g_free(ar);