--- a/doc/reference/libpurple/libpurple-docs.xml Fri Feb 21 02:45:13 2020 +0000
+++ b/doc/reference/libpurple/libpurple-docs.xml Thu Feb 20 23:56:05 2020 -0600
@@ -46,7 +46,6 @@
<xi:include href="xml/conversations.xml" />
<xi:include href="xml/countingnode.xml" />
<xi:include href="xml/debug.xml" />
- <xi:include href="xml/e2ee.xml" />
<xi:include href="xml/eventloop.xml" />
<xi:include href="xml/group.xml" />
<xi:include href="xml/xfer.xml" />
--- a/finch/gntconv.c Fri Feb 21 02:45:13 2020 +0000
+++ b/finch/gntconv.c Thu Feb 20 23:56:05 2020 -0600
@@ -64,7 +64,6 @@
static void generate_send_to_menu(FinchConv *ggc);
-static void generate_e2ee_menu(FinchConv *ggc);
static int color_message_receive;
static int color_message_send;
@@ -253,18 +252,10 @@
get_conversation_title(PurpleConversation *conv, PurpleAccount *account)
- e2ee = purple_conversation_get_e2ee_state(conv);
- return g_strdup_printf(_("%s (%s -- %s)%s%s%s%s"),
+ return g_strdup_printf(_("%s (%s -- %s)"), purple_conversation_get_title(conv),
purple_account_get_username(account),
- purple_account_get_protocol_name(account),
- e2ee ? purple_e2ee_provider_get_name(purple_e2ee_state_get_provider(e2ee)) : "",
- e2ee ? purple_e2ee_state_get_name(e2ee) : "");
+ purple_account_get_protocol_name(account)); @@ -434,19 +425,6 @@
gg_extended_menu(purple_conversation_get_ui_data(conv));
- if (type == PURPLE_CONVERSATION_UPDATE_E2EE) {
- FinchConv *ggconv = FINCH_CONV(conv);
- title = get_conversation_title(conv,
- purple_conversation_get_account(conv));
- gnt_screen_rename_widget(ggconv->window, title);
- generate_e2ee_menu(ggconv);
@@ -633,41 +611,6 @@
-generate_e2ee_menu(FinchConv *ggc)
- GntWidget *menu = ggc->menu;
- PurpleConversation *conv = ggc->active_conv;
- PurpleE2eeProvider *eprov;
- GList *menu_actions, *it;
- eprov = purple_e2ee_provider_get_main();
- item = ggc->u.im->e2ee_menu;
- item = gnt_menuitem_new(NULL);
- gnt_menu_add_item(GNT_MENU(menu), item);
- ggc->u.im->e2ee_menu = item;
- sub = GNT_MENU(gnt_menu_new(GNT_MENU_POPUP));
- gnt_menuitem_set_submenu(item, GNT_MENU(sub));
- gnt_menuitem_set_visible(item, (eprov != NULL));
- gnt_menuitem_set_text(item, purple_e2ee_provider_get_name(eprov));
- menu_actions = purple_e2ee_provider_get_conv_menu_actions(eprov, conv);
- for (it = menu_actions; it; it = g_list_next(it)) {
- PurpleActionMenu *action = it->data;
- finch_append_menu_action(sub, action, conv);
- g_list_free(menu_actions);
invite_cb(GntMenuItem *item, gpointer ggconv)
@@ -741,8 +684,6 @@
gnt_menuitem_set_callback(item, invite_cb, ggc);
- generate_e2ee_menu(ggc);
item = gnt_menuitem_new(_("View Log..."));
gnt_menu_add_item(GNT_MENU(sub), item);
gnt_menuitem_set_callback(item, view_log_cb, ggc);
@@ -1561,8 +1502,6 @@
title = get_conversation_title(conv, account);
gnt_screen_rename_widget(ggconv->window, title);
- generate_e2ee_menu(ggconv);
void finch_conversation_set_info_widget(PurpleConversation *conv, GntWidget *widget)
--- a/libpurple/conversation.c Fri Feb 21 02:45:13 2020 +0000
+++ b/libpurple/conversation.c Thu Feb 20 23:56:05 2020 -0600
@@ -53,8 +53,6 @@
PurpleConnectionFlags features; /* The supported features */
GList *message_history; /* Message history, as a GList of PurpleMessages */
- PurpleE2eeState *e2ee_state; /* End-to-end encryption state. */
/* The list of remote smileys. This should be per-buddy (PurpleBuddy),
* but we don't have any class for people not on our buddy
* list (PurpleDude?). So, if we have one, we should switch to it. */
@@ -417,60 +415,6 @@
-purple_conversation_set_e2ee_state(PurpleConversation *conv,
- PurpleE2eeState *state)
- PurpleConversationPrivate *priv = NULL;
- g_return_if_fail(PURPLE_IS_CONVERSATION(conv));
- priv = purple_conversation_get_instance_private(conv);
- if (state != NULL && purple_e2ee_state_get_provider(state) !=
- purple_e2ee_provider_get_main())
- purple_debug_error("conversation",
- "This is not the main e2ee provider");
- if (state == priv->e2ee_state)
- purple_e2ee_state_ref(state);
- purple_e2ee_state_unref(priv->e2ee_state);
- priv->e2ee_state = state;
- purple_conversation_update(conv, PURPLE_CONVERSATION_UPDATE_E2EE);
-purple_conversation_get_e2ee_state(PurpleConversation *conv)
- PurpleConversationPrivate *priv = NULL;
- PurpleE2eeProvider *provider;
- g_return_val_if_fail(PURPLE_IS_CONVERSATION(conv), NULL);
- priv = purple_conversation_get_instance_private(conv);
- if (priv->e2ee_state == NULL)
- provider = purple_e2ee_provider_get_main();
- if (purple_e2ee_state_get_provider(priv->e2ee_state) != provider) {
- purple_debug_warning("conversation",
- "e2ee state has invalid provider set");
- return priv->e2ee_state;
purple_conversation_set_logging(PurpleConversation *conv, gboolean log)
PurpleConversationPrivate *priv = NULL;
@@ -1029,10 +973,7 @@
purple_request_close_with_handle(conv);
- purple_e2ee_state_unref(priv->e2ee_state);
- priv->e2ee_state = NULL;
- /* remove from conversations and im/chats lists prior to emit */
+ /* remove from conversations and im/chats lists prior to emit */ purple_conversations_remove(conv);
purple_signal_emit(purple_conversations_get_handle(),
--- a/libpurple/conversation.h Fri Feb 21 02:45:13 2020 +0000
+++ b/libpurple/conversation.h Thu Feb 20 23:56:05 2020 -0600
@@ -65,8 +65,6 @@
* @PURPLE_CONVERSATION_UPDATE_LOGGING: Logging for this conversation was
* @PURPLE_CONVERSATION_UPDATE_TOPIC: The topic for a chat was updated.
- * @PURPLE_CONVERSATION_UPDATE_E2EE: The End-to-end encryption state was
* @PURPLE_CONVERSATION_ACCOUNT_ONLINE: One of the user's accounts went online.
* @PURPLE_CONVERSATION_ACCOUNT_OFFLINE: One of the user's accounts went
@@ -88,7 +86,6 @@
PURPLE_CONVERSATION_UPDATE_UNSEEN,
PURPLE_CONVERSATION_UPDATE_LOGGING,
PURPLE_CONVERSATION_UPDATE_TOPIC,
- PURPLE_CONVERSATION_UPDATE_E2EE,
* XXX These need to go when we implement a more generic core/UI event
@@ -201,7 +198,6 @@
@@ -423,28 +419,6 @@
const char *purple_conversation_get_name(PurpleConversation *conv);
- * purple_conversation_set_e2ee_state:
- * @conv: The conversation.
- * @state: The E2EE state.
- * Sets current E2EE state for the conversation.
-purple_conversation_set_e2ee_state(PurpleConversation *conv,
- PurpleE2eeState *state);
- * purple_conversation_get_e2ee_state:
- * @conv: The conversation.
- * Gets current conversation's E2EE state.
- * Returns: (transfer none): Current E2EE state for conversation.
-purple_conversation_get_e2ee_state(PurpleConversation *conv);
* purple_conversation_set_logging:
* @conv: The conversation.
* @log: %TRUE if logging should be enabled, or %FALSE otherwise.
--- a/pidgin/gtkconv.c Fri Feb 21 02:45:13 2020 +0000
+++ b/pidgin/gtkconv.c Thu Feb 20 23:56:05 2020 -0600
@@ -119,7 +119,6 @@
PIDGIN_CONV_TOPIC = 1 << 4,
PIDGIN_CONV_SMILEY_THEME = 1 << 5,
PIDGIN_CONV_COLORIZE_TITLE = 1 << 6,
- PIDGIN_CONV_E2EE = 1 << 7
@@ -162,7 +161,6 @@
static GList *xa_list = NULL;
static GList *offline_list = NULL;
static GHashTable *protocol_lists = NULL;
-static GHashTable *e2ee_stock = NULL;
static gboolean update_send_to_selection(PidginConvWindow *win);
static void generate_send_to_items(PidginConvWindow *win);
@@ -3348,28 +3346,13 @@
-e2ee_state_to_gtkimage(PurpleE2eeState *state)
- img = _pidgin_e2ee_stock_icon_get(
- purple_e2ee_state_get_stock_icon(state));
- return gtk_image_new_from_pixbuf(pidgin_pixbuf_from_image(img));
create_sendto_item(GtkWidget *menu, GtkSizeGroup *sg, GSList **group,
- PurpleBuddy *buddy, PurpleAccount *account, const char *name,
+ PurpleBuddy *buddy, PurpleAccount *account, const char *name) - GtkWidget *e2ee_image = NULL;
@@ -3386,20 +3369,6 @@
g_object_unref(G_OBJECT(pixbuf));
- PurpleIMConversation *im;
- PurpleE2eeState *state = NULL;
- im = purple_conversations_find_im_with_account(
- purple_buddy_get_name(buddy), purple_buddy_get_account(buddy));
- state = purple_conversation_get_e2ee_state(PURPLE_CONVERSATION(im));
- e2ee_image = e2ee_state_to_gtkimage(state);
- e2ee_image = gtk_image_new();
gtk_size_group_add_widget(sg, image);
@@ -3418,8 +3387,6 @@
gtk_box_pack_start(GTK_BOX(box), image, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 4);
- gtk_box_pack_start(GTK_BOX(box), e2ee_image, FALSE, FALSE, 0);
!purple_presence_is_online(purple_buddy_get_presence(buddy)))
@@ -3442,8 +3409,6 @@
- gtk_widget_show(e2ee_image);
/* Set our data and callbacks. */
@@ -3509,7 +3474,6 @@
- gboolean e2ee_enabled = FALSE;
GList *list = NULL, *iter;
for (l = buds; l != NULL; l = l->next)
@@ -3527,8 +3491,6 @@
im = purple_conversations_find_im_with_account(purple_buddy_get_name(buddy), purple_buddy_get_account(buddy));
- if (im && purple_conversation_get_e2ee_state(PURPLE_CONVERSATION(im)) != NULL)
account = purple_buddy_get_account(buddy);
/* TODO WEBKIT: (I'm not actually sure if this is webkit-related --Mark Doliner) */
@@ -3550,7 +3512,7 @@
PurplePresence *pre = iter->data;
PurpleBuddy *buddy = purple_buddy_presence_get_buddy(PURPLE_BUDDY_PRESENCE(pre));
create_sendto_item(menu, sg, &group, buddy,
- purple_buddy_get_account(buddy), purple_buddy_get_name(buddy), e2ee_enabled);
+ purple_buddy_get_account(buddy), purple_buddy_get_name(buddy)); @@ -3567,88 +3529,6 @@
update_send_to_selection(win);
-_pidgin_e2ee_stock_icon_get(const gchar *stock_name)
- gchar filename[100], *path;
- if (e2ee_stock == NULL)
- if (g_hash_table_lookup_extended(e2ee_stock, stock_name, NULL, (gpointer*)&image))
- g_snprintf(filename, sizeof(filename), "e2ee-%s.png", stock_name);
- path = g_build_filename(PURPLE_DATADIR, "pidgin", "icons",
- "hicolor", "16x16", "status", filename, NULL);
- image = purple_image_new_from_file(path, NULL);
- g_hash_table_insert(e2ee_stock, g_strdup(stock_name), image);
-generate_e2ee_controls(PidginConvWindow *win)
- PidginConversation *gtkconv;
- PurpleConversation *conv;
- PurpleE2eeState *state;
- PurpleE2eeProvider *provider;
- GList *menu_actions, *it;
- gtkconv = pidgin_conv_window_get_active_gtkconv(win);
- g_return_if_fail(gtkconv != NULL);
- conv = gtkconv->active_conv;
- g_return_if_fail(conv != NULL);
- if (win->menu->e2ee != NULL) {
- gtk_widget_destroy(win->menu->e2ee);
- win->menu->e2ee = NULL;
- provider = purple_e2ee_provider_get_main();
- state = purple_conversation_get_e2ee_state(conv);
- if (state == NULL || provider == NULL)
- if (purple_e2ee_state_get_provider(state) != provider)
- win->menu->e2ee = gtk_image_menu_item_new_with_label(
- purple_e2ee_provider_get_name(provider));
- gtk_menu_shell_insert(GTK_MENU_SHELL(win->menu->menubar),
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(win->menu->e2ee), menu);
- e2ee_image = e2ee_state_to_gtkimage(state);
- gtk_image_menu_item_set_image(
- GTK_IMAGE_MENU_ITEM(win->menu->e2ee), e2ee_image);
- gtk_widget_set_tooltip_text(win->menu->e2ee,
- purple_e2ee_state_get_name(state));
- menu_actions = purple_e2ee_provider_get_conv_menu_actions(provider, conv);
- for (it = menu_actions; it; it = g_list_next(it)) {
- PurpleActionMenu *action = it->data;
- pidgin_append_menu_action(menu, action, conv));
- g_list_free(menu_actions);
- gtk_widget_show(win->menu->e2ee);
get_chat_user_status_icon(PurpleChatConversation *chat, const char *name, PurpleChatUserFlags flags)
@@ -5405,9 +5285,6 @@
regenerate_plugins_items(win);
- if (fields & PIDGIN_CONV_E2EE)
- generate_e2ee_controls(win);
if (fields & PIDGIN_CONV_TAB_ICON)
@@ -5599,10 +5476,6 @@
flags = PIDGIN_CONV_MENU;
- else if (type == PURPLE_CONVERSATION_UPDATE_E2EE)
- flags = PIDGIN_CONV_E2EE | PIDGIN_CONV_MENU;
pidgin_conv_update_fields(conv, flags);
@@ -6339,7 +6212,7 @@
pidgin_conv_update_fields(conv, PIDGIN_CONV_TAB_ICON |
PIDGIN_CONV_SET_TITLE | PIDGIN_CONV_MENU |
- PIDGIN_CONV_BUDDY_ICON | PIDGIN_CONV_E2EE );
+ PIDGIN_CONV_BUDDY_ICON); @@ -6526,18 +6399,12 @@
-pidgin_conversations_pre_uninit(void);
pidgin_conversations_init(void)
void *handle = pidgin_conversations_get_handle();
void *blist_handle = purple_blist_get_handle();
- e2ee_stock = g_hash_table_new_full(g_str_hash, g_str_equal,
- g_free, g_object_unref);
purple_prefs_add_none(PIDGIN_PREFS_ROOT "/conversations");
purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/conversations/use_smooth_scrolling", TRUE);
@@ -6751,9 +6618,6 @@
purple_signal_connect(purple_accounts_get_handle(), "account-status-changed",
handle, PURPLE_CALLBACK(account_status_changed_cb), NULL);
- purple_signal_connect_priority(purple_get_core(), "quitting", handle,
- PURPLE_CALLBACK(pidgin_conversations_pre_uninit), NULL, PURPLE_SIGNAL_PRIORITY_HIGHEST);
/* Callbacks to update a conversation */
purple_signal_connect(blist_handle, "blist-node-added", handle,
G_CALLBACK(buddy_update_cb), NULL);
@@ -6792,13 +6656,6 @@
PURPLE_CALLBACK(wrote_msg_update_unseen_cb), NULL);
-pidgin_conversations_pre_uninit(void)
- g_hash_table_destroy(e2ee_stock);
/* Invalidate the first tab color set */
static gboolean tab_color_fuse = TRUE;
@@ -7883,7 +7740,6 @@
purple_conversation_is_logging(conv));
generate_send_to_items(win);
- generate_e2ee_controls(win);
regenerate_options_items(win);
regenerate_plugins_items(win);