X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=blobdiff_plain;f=src%2Fplugins%2Flibravatar%2Flibravatar.c;h=7870bc94db42a802a11d4bf7930d5647922eab47;hp=abb2d9a5a74f30129865cc0c3e642e3b54cd867e;hb=e66bd88be9291f3076d00634fbdbba5b1d7d70a0;hpb=4c7ed56f3b9027689df4a979df26c7ff62c7adf0;ds=sidebyside diff --git a/src/plugins/libravatar/libravatar.c b/src/plugins/libravatar/libravatar.c index abb2d9a5a..7870bc94d 100644 --- a/src/plugins/libravatar/libravatar.c +++ b/src/plugins/libravatar/libravatar.c @@ -31,6 +31,7 @@ #include "libravatar.h" #include "libravatar_prefs.h" #include "libravatar_missing.h" +#include "libravatar_federation.h" #include "prefs_common.h" #include "procheader.h" #include "procmsg.h" @@ -76,10 +77,21 @@ static gboolean libravatar_header_update_hook(gpointer source, gpointer data) static gchar *federated_base_url_from_address(const gchar *address) { - /* - TODO: no federation supported right now - Details on http://wiki.libravatar.org/running_your_own/ - */ +#if (defined USE_GNUTLS && GLIB_CHECK_VERSION(2,22,0)) + gchar *base_url = NULL; + + if (!libravatarprefs.allow_federated) { + debug_print("federated domains disabled by configuration\n"); + goto default_url; + } + + base_url = federated_url_for_address(address); + if (base_url != NULL) { + return base_url; + } + +default_url: +#endif return g_strdup(libravatarprefs.base_url); } @@ -263,6 +275,7 @@ static gboolean libravatar_image_render_hook(gpointer source, gpointer data) if (ar->image) /* previous plugin set one */ gtk_widget_destroy(ar->image); ar->image = image; + ar->type = AVATAR_LIBRAVATAR; return FALSE; } /* not cached copy: try network */ @@ -279,6 +292,7 @@ static gboolean libravatar_image_render_hook(gpointer source, gpointer data) if (ar->image) /* previous plugin set one */ gtk_widget_destroy(ar->image); ar->image = image; + ar->type = AVATAR_LIBRAVATAR; } } g_free(base); @@ -442,7 +456,7 @@ const gchar *plugin_desc(void) "info about libravatar at http://www.libravatar.org/. If you have\n" "a gravatar.com profile but not a libravatar one, those will also\n" "be retrieved (when redirections are allowed in plugin config).\n" - "Plugin config page it's available from main window at:\n" + "Plugin config page is available from main window at:\n" "/Configuration/Preferences/Plugins/Libravatar.\n\n" "This plugin uses libcurl to retrieve images, so if you're behind a\n" "proxy please refer to curl(1) manpage for details on 'http_proxy'\n"