#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"
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);
}
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 */
if (ar->image) /* previous plugin set one */
gtk_widget_destroy(ar->image);
ar->image = image;
+ ar->type = AVATAR_LIBRAVATAR;
}
}
g_free(base);
"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"