Tue, 06 Nov 2018 03:20:49 +0000
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;