Merged in default (pull request #412)

Tue, 06 Nov 2018 03:20:49 +0000

author
Gary Kramlich <grim@reaperworld.com>
date
Tue, 06 Nov 2018 03:20:49 +0000
changeset 39272
ee5b21f6b066
parent 39269
3e6eb178b03b (current diff)
parent 39271
5fd417ab577b (diff)
child 39279
d641404727c5

Merged in default (pull request #412)

facebook: Allow sizes larger than 1MiB for received images

Approved-by: Elliott Sales de Andrade
Approved-by: Gary Kramlich
Approved-by: Eion Robb

--- a/libpurple/protocols/facebook/data.c	Tue Nov 06 03:10:02 2018 +0000
+++ b/libpurple/protocols/facebook/data.c	Tue Nov 06 03:20:49 2018 +0000
@@ -592,14 +592,21 @@
 	g_hash_table_iter_init(&iter, priv->imgs);
 
 	while (g_hash_table_iter_next(&iter, (gpointer *) &img, NULL)) {
+		PurpleHttpRequest *req;
+
 		if (fb_data_image_get_active(img)) {
 			continue;
 		}
 
 		img->priv->active = TRUE;
 		url = fb_data_image_get_url(img);
-		con = purple_http_get(priv->gc, fb_data_image_cb, img, url);
+
+		req = purple_http_request_new(url);
+		purple_http_request_set_max_len(req, FB_DATA_ICON_SIZE_MAX);
+		con = purple_http_request(priv->gc, req,
+				fb_data_image_cb, img);
 		fb_http_conns_add(priv->cons, con);
+		purple_http_request_unref(req);
 
 		if (++active >= FB_DATA_ICON_MAX) {
 			break;
--- a/libpurple/protocols/facebook/data.h	Tue Nov 06 03:10:02 2018 +0000
+++ b/libpurple/protocols/facebook/data.h	Tue Nov 06 03:20:49 2018 +0000
@@ -61,6 +61,13 @@
  */
 #define FB_DATA_ICON_MAX  4
 
+/**
+ * FB_DATA_ICON_SIZE_MAX:
+ *
+ * The maximum size of a fetched icon.
+ */
+#define FB_DATA_ICON_SIZE_MAX  0xa00000 /* 10MiB */
+
 typedef struct _FbData FbData;
 typedef struct _FbDataClass FbDataClass;
 typedef struct _FbDataPrivate FbDataPrivate;

mercurial