diff --git a/bgo-395708_prefer-plain.patch b/bgo-395708_prefer-plain.patch
deleted file mode 100644
index d280244..0000000
--- a/bgo-395708_prefer-plain.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- plugins/prefer-plain/prefer-plain.c 2008/05/27 04:17:04 35553
-+++ plugins/prefer-plain/prefer-plain.c 2008/05/27 12:38:24 35554
-@@ -99,20 +99,41 @@
- int i, nparts, partidlen, displayid = 0;
-
- if (epp_mode == EPP_NORMAL) {
-+ gboolean have_plain = FALSE;
-+
- /* Try to find text/html part even when not as last and force to show it.
- Old handler will show the last part of multipart/alternate, but if we
-- can offer HTML, then offer it, regardless of position in multipart. */
-+ can offer HTML, then offer it, regardless of position in multipart.
-+ But do this only when have text/plain in a list, because otherwise it
-+ can be something else (like outlooks meeting invites with only text/html
-+ part and calendar part).
-+ */
- nparts = camel_multipart_get_number (mp);
- for (i = 0; i < nparts; i++) {
-+ CamelContentType *content_type;
-+
- part = camel_multipart_get_part (mp, i);
-- if (part && camel_content_type_is (camel_mime_part_get_content_type (part), "text", "html")) {
-+
-+ if (!part)
-+ continue;
-+
-+ content_type = camel_mime_part_get_content_type (part);
-+
-+ if (camel_content_type_is (content_type, "text", "html")) {
- displayid = i;
- display_part = part;
-- break;
-+
-+ if (have_plain)
-+ break;
-+ } else if (camel_content_type_is (content_type, "text", "plain")) {
-+ have_plain = TRUE;
-+
-+ if (display_part)
-+ break;
- }
- }
-
-- if (display_part) {
-+ if (display_part && have_plain) {
- g_string_append_printf (t->format->part_id, ".alternative.%d", displayid);
- em_format_part_as (t->format, t->stream, display_part, "text/html");
- g_string_truncate (t->format->part_id, partidlen);
diff --git a/bgo-531519-print-preview-crash.patch b/bgo-531519-print-preview-crash.patch
deleted file mode 100644
index cc4af16..0000000
--- a/bgo-531519-print-preview-crash.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- mail/em-format-html-display.c
-+++ mail/em-format-html-display.c
-@@ -2273,7 +2273,7 @@ efhd_message_update_bar(EMFormat *emf, CamelStream *stream, CamelMimePart *part,
- EMFormatHTMLDisplay *efhd = (EMFormatHTMLDisplay *) emf;
- const char *classid = "attachment-bar-refresh";
-
-- if (efhd->nobar || efhd->priv->updated )
-+ if (efhd->nobar || efhd->priv->updated || !efhd->priv->attachment_bar)
- return;
-
- efhd->priv->files = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
diff --git a/bgo-533820-fix-crash-on-border-clicking-meetings.diff b/bgo-533820-fix-crash-on-border-clicking-meetings.diff
deleted file mode 100644
index 8d0dced..0000000
--- a/bgo-533820-fix-crash-on-border-clicking-meetings.diff
+++ /dev/null
@@ -1,24 +0,0 @@
-Index: calendar/gui/e-day-view.c
-===================================================================
---- calendar/gui/e-day-view.c (revision 35521)
-+++ calendar/gui/e-day-view.c (working copy)
-@@ -3822,6 +3822,9 @@ e_day_view_update_resize (EDayView *day_
- g_print ("Updating resize Row:%i\n", row);
- #endif
-
-+ if (day_view->resize_event_num == -1)
-+ return;
-+
- day = day_view->resize_event_day;
- event_num = day_view->resize_event_num;
- event = &g_array_index (day_view->events[day], EDayViewEvent,
-@@ -3972,6 +3975,9 @@ e_day_view_finish_resize (EDayView *day_
- CalObjModType mod = CALOBJ_MOD_ALL;
- GtkWindow *toplevel;
-
-+ if (day_view->resize_event_num == -1)
-+ return;
-+
- day = day_view->resize_event_day;
- event_num = day_view->resize_event_num;
- event = &g_array_index (day_view->events[day], EDayViewEvent,
diff --git a/bgo-534012-backup-permission.patch b/bgo-534012-backup-permission.patch
deleted file mode 100644
index 7274fff..0000000
--- a/bgo-534012-backup-permission.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-Index: plugins/backup-restore/org-gnome-backup-restore.error.xml
-===================================================================
---- plugins/backup-restore/org-gnome-backup-restore.error.xml (revision 35517)
-+++ plugins/backup-restore/org-gnome-backup-restore.error.xml (working copy)
-@@ -17,4 +17,8 @@
-
-
-
-+
-+ <_title>Insufficient Permissions
-+ <_secondary>The selected folder does not have enough permissions to create the file
-+
-
-Index: plugins/backup-restore/backup-restore.c
-===================================================================
---- plugins/backup-restore/backup-restore.c (revision 35517)
-+++ plugins/backup-restore/backup-restore.c (working copy)
-@@ -3,6 +3,7 @@
- #include
- #include
- #include
-+#include
- #include
- #include "shell/es-menu.h"
- #include "mail/em-config.h"
-@@ -86,6 +87,16 @@ dialog_prompt_user(GtkWindow *parent, co
- return mask;
- }
-
-+static gboolean
-+epbr_perform_pre_backup_checks (char* dir)
-+{
-+#ifdef G_OS_WIN32
-+ return TRUE;
-+#else
-+ return (g_access (dir, W_OK) == 0);
-+#endif
-+}
-+
- void
- org_gnome_backup_restore_backup (EPlugin *ep, ESMenuTargetShell *target)
- {
-@@ -110,18 +121,27 @@ org_gnome_backup_restore_backup (EPlugin
- char *filename;
- guint32 mask;
- char *uri = NULL;
-+ char *dir;
-
- uri = gtk_file_chooser_get_current_folder_uri(GTK_FILE_CHOOSER (dlg));
- e_file_update_save_path(uri, TRUE);
-
- filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dlg));
-+ dir = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dlg));
- gtk_widget_destroy (dlg);
-
-- mask = dialog_prompt_user (GTK_WINDOW (target->target.widget), _("_Restart Evolution after backup"), "org.gnome.backup-restore:backup-confirm", NULL);
-- if (mask & BR_OK)
-- backup (filename, (mask & BR_START) ? TRUE: FALSE);
-+
-+ if (epbr_perform_pre_backup_checks (dir)) {
-+
-+ mask = dialog_prompt_user (GTK_WINDOW (target->target.widget), _("_Restart Evolution after backup"), "org.gnome.backup-restore:backup-confirm", NULL);
-+ if (mask & BR_OK)
-+ backup (filename, (mask & BR_START) ? TRUE: FALSE);
-+ } else {
-+ e_error_run (NULL, "org.gnome.backup-restore:insufficient-permissions", NULL);
-+ }
-
- g_free (filename);
-+ g_free (dir);
-
- return;
- }
diff --git a/bnc-188523-evo-fix-authenticated-proxy-support.diff b/bnc-188523-evo-fix-authenticated-proxy-support.diff
deleted file mode 100644
index 89cfbfa..0000000
--- a/bnc-188523-evo-fix-authenticated-proxy-support.diff
+++ /dev/null
@@ -1,1773 +0,0 @@
-Index: shell/apps_evolution_shell.schemas.in
-===================================================================
---- shell/apps_evolution_shell.schemas.in (revision 35239)
-+++ shell/apps_evolution_shell.schemas.in (revision 35240)
-@@ -241,5 +241,152 @@
- A string description of the current printer settings.
-
-
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/proxy_type
-+ /apps/evolution/shell/network_config/proxy_type
-+ evolution
-+ int
-+
-+ Proxy configuration mode
-+ Select the proxy configuration mode. Supported values are 0, 1, 2, and 3 representing "use system settings", "no proxy", "use manual proxy configuration" and "use proxy configuration provided in the autoconfig url" respectively.
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/http_port
-+ /apps/evolution/shell/network_config/http_port
-+ evolution
-+ int
-+
-+ HTTP proxy port
-+ The port on the machine defined by "/apps/evolution/shell/network_config/http_host" that you proxy through.
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/http_host
-+ /apps/evolution/shell/network_config/http_host
-+ evolution
-+ string
-+
-+ HTTP proxy host name
-+ The machine name to proxy HTTP through.
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/secure_port
-+ /apps/evolution/shell/network_config/secure_port
-+ evolution
-+ int
-+
-+ Secure HTTP proxy port
-+ The port on the machine defined by "/apps/evolution/shell/network_config/secure_host" that you proxy through.
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/secure_host
-+ /apps/evolution/shell/network_config/secure_host
-+ evolution
-+ string
-+
-+ Secure HTTP proxy host name
-+ The machine name to proxy secure HTTP through.
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/socks_port
-+ /apps/evolution/shell/network_config/socks_port
-+ evolution
-+ int
-+
-+ SOCKS proxy port
-+ The port on the machine defined by "/apps/evolution/shell/network_config/socks_host" that you proxy through.
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/socks_host
-+ /apps/evolution/shell/network_config/socks_host
-+ evolution
-+ string
-+
-+ SOCKS proxy host name
-+ The machine name to proxy socks through.
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/use_http_proxy
-+ /apps/evolution/shell/network_config/use_http_proxy
-+ evolution
-+ bool
-+
-+ Use HTTP proxy
-+ Enables the proxy settings when accessing HTTP/Secure HTTP over the Internet.
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/use_authentication
-+ /apps/evolution/shell/network_config/use_authentication
-+ evolution
-+ bool
-+
-+ Authenticate proxy server connections
-+ If true, then connections to the proxy server require authentication. The username/password combo is defined by "/apps/evolution/shell/network_config/authentication_user" and locally stored password in .gnome2_private/.
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/authentication_user
-+ /apps/evolution/shell/network_config/authentication_user
-+ evolution
-+ string
-+
-+ HTTP proxy username
-+ User name to pass as authentication when doing HTTP proxying.
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/authentication_password
-+ /apps/evolution/shell/network_config/authentication_password
-+ evolution
-+ string
-+
-+ HTTP proxy password
-+ Password to pass as authentication when doing HTTP proxying.
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/ignore_hosts
-+ /apps/evolution/shell/network_config/ignore_hosts
-+ evolution
-+ list
-+ string
-+
-+ Non-proxy hosts
-+ This key contains a list of hosts which are connected to directly, rather than via the proxy (if it is active). The values can be hostnames, domains (using an initial wildcard like *.foo.com), IP host addresses (both IPv4 and IPv6) and network addresses with a netmask (something like 192.168.0.0/24).
-+
-+
-+
-+
-+ /schemas/apps/evolution/shell/network_config/autoconfig_url
-+ /apps/evolution/shell/network_config/autoconfig_url
-+ evolution
-+ string
-+
-+ Automatic proxy configuration URL
-+ URL that provides proxy configuration values.
-+
-+
-+
-
-
-Index: mail/em-network-prefs.c
-===================================================================
---- mail/em-network-prefs.c (revision 0)
-+++ mail/em-network-prefs.c (revision 35240)
-@@ -0,0 +1,588 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-+/*
-+ * Authors: Veerapuram Varadhan
-+ *
-+ * Copyright 2007 Novell, Inc. (www.novell.com)
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
-+ *
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include
-+#endif
-+
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+#include "em-network-prefs.h"
-+
-+#include
-+
-+#include
-+#include
-+#include
-+
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+#include
-+#include
-+
-+#include "e-util/e-error.h"
-+#include "e-util/e-util-private.h"
-+#include "e-util/e-icon-factory.h"
-+
-+#include "mail-config.h"
-+#include "em-config.h"
-+
-+#define d(x)
-+
-+#define GCONF_E_SHELL_NETWORK_CONFIG_PATH "/apps/evolution/shell/network_config/"
-+#define GCONF_E_HTTP_HOST_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "http_host"
-+#define GCONF_E_HTTP_PORT_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "http_port"
-+#define GCONF_E_HTTPS_HOST_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "secure_host"
-+#define GCONF_E_HTTPS_PORT_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "secure_port"
-+#define GCONF_E_SOCKS_HOST_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "socks_host"
-+#define GCONF_E_SOCKS_PORT_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "socks_port"
-+#define GCONF_E_IGNORE_HOSTS_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "ignore_hosts"
-+#define GCONF_E_USE_AUTH_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "use_authentication"
-+#define GCONF_E_PROXY_TYPE_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "proxy_type"
-+#define GCONF_E_AUTH_USER_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "authentication_user"
-+#define GCONF_E_AUTH_PWD_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "authentication_password"
-+#define GCONF_E_USE_PROXY_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "use_http_proxy"
-+#define GCONF_E_AUTOCONFIG_URL_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "autoconfig_url"
-+
-+#define GCONF_SYS_PROXY_PATH "/system/proxy/"
-+#define GCONF_SYS_HTTP_PROXY_PATH "/system/http_proxy"
-+#define GCONF_SYS_HTTP_HOST_KEY GCONF_SYS_HTTP_PROXY_PATH "host"
-+#define GCONF_SYS_HTTP_PORT_KEY GCONF_SYS_HTTP_PROXY_PATH "port"
-+#define GCONF_SYS_HTTPS_HOST_KEY GCONF_SYS_PROXY_PATH "secure_host"
-+#define GCONF_SYS_HTTPS_PORT_KEY GCONF_SYS_PROXY_PATH "secure_port"
-+#define GCONF_SYS_SOCKS_HOST_KEY GCONF_SYS_PROXY_PATH "socks_host"
-+#define GCONF_SYS_SOCKS_PORT_KEY GCONF_SYS_PROXY_PATH "socks_port"
-+#define GCONF_SYS_AUTOCONFIG_URL_KEY GCONF_SYS_PROXY_PATH "autoconfig_url"
-+#define GCONF_SYS_IGNORE_HOSTS_KEY GCONF_SYS_HTTP_PROXY_PATH "ignore_hosts"
-+#define GCONF_SYS_USE_PROXY_KEY GCONF_SYS_HTTP_PROXY_PATH "use_http_proxy"
-+#define GCONF_SYS_USE_AUTH_KEY GCONF_SYS_HTTP_PROXY_PATH "use_authentication"
-+#define GCONF_SYS_AUTH_USER_KEY GCONF_SYS_HTTP_PROXY_PATH "authentication_user"
-+#define GCONF_SYS_AUTH_PWD_KEY GCONF_SYS_HTTP_PROXY_PATH "authentication_password"
-+
-+static void em_network_prefs_class_init (EMNetworkPrefsClass *class);
-+static void em_network_prefs_init (EMNetworkPrefs *dialog);
-+static void em_network_prefs_destroy (GtkObject *obj);
-+static void em_network_prefs_finalise (GObject *obj);
-+
-+
-+static GtkVBoxClass *parent_class = NULL;
-+
-+
-+GType
-+em_network_prefs_get_type (void)
-+{
-+ static GType type = 0;
-+
-+ if (!type) {
-+ static const GTypeInfo info = {
-+ sizeof (EMNetworkPrefsClass),
-+ NULL, NULL,
-+ (GClassInitFunc) em_network_prefs_class_init,
-+ NULL, NULL,
-+ sizeof (EMNetworkPrefs),
-+ 0,
-+ (GInstanceInitFunc) em_network_prefs_init,
-+ };
-+
-+ type = g_type_register_static (gtk_vbox_get_type (), "EMNetworkPrefs", &info, 0);
-+ }
-+
-+ return type;
-+}
-+
-+static void
-+em_network_prefs_class_init (EMNetworkPrefsClass *klass)
-+{
-+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-+ GtkObjectClass *object_class = GTK_OBJECT_CLASS (klass);
-+
-+ parent_class = g_type_class_ref (gtk_vbox_get_type ());
-+
-+ object_class->destroy = em_network_prefs_destroy;
-+ gobject_class->finalize = em_network_prefs_finalise;
-+}
-+
-+static void
-+em_network_prefs_init (EMNetworkPrefs *prefs)
-+{
-+ /* do something here */
-+}
-+
-+static void
-+em_network_prefs_finalise (GObject *obj)
-+{
-+ EMNetworkPrefs *prefs = (EMNetworkPrefs *) obj;
-+
-+ d(g_print ("Network preferences finalize is called\n"));
-+
-+ /* do something here */
-+ G_OBJECT_CLASS (parent_class)->finalize (obj);
-+}
-+
-+static void
-+em_network_prefs_destroy (GtkObject *obj)
-+{
-+ EMNetworkPrefs *prefs = (EMNetworkPrefs *) obj;
-+ d(g_print ("Network preferences destroy is called\n"));
-+
-+ GTK_OBJECT_CLASS (parent_class)->destroy (obj);
-+}
-+
-+static void
-+toggle_button_toggled (GtkToggleButton *toggle, EMNetworkPrefs *prefs)
-+{
-+ const char *key;
-+
-+ key = g_object_get_data ((GObject *) toggle, "key");
-+ gconf_client_set_bool (prefs->gconf, key, gtk_toggle_button_get_active (toggle), NULL);
-+ if (toggle == prefs->use_auth) {
-+ gboolean sensitivity = gtk_toggle_button_get_active (prefs->use_auth);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->lbl_auth_user, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->lbl_auth_pwd, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->auth_user, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->auth_pwd, sensitivity);
-+ }
-+}
-+
-+static void
-+toggle_button_init (EMNetworkPrefs *prefs, GtkToggleButton *toggle, const char *key)
-+{
-+ gboolean bool;
-+
-+ bool = gconf_client_get_bool (prefs->gconf, key, NULL);
-+ gtk_toggle_button_set_active (toggle, bool);
-+
-+ g_object_set_data ((GObject *) toggle, "key", (void *) key);
-+ g_signal_connect (toggle, "toggled", G_CALLBACK (toggle_button_toggled), prefs);
-+
-+ if (!gconf_client_key_is_writable (prefs->gconf, key, NULL))
-+ gtk_widget_set_sensitive ((GtkWidget *) toggle, FALSE);
-+}
-+
-+static GtkWidget *
-+emnp_widget_glade(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, void *data)
-+{
-+ EMNetworkPrefs *prefs = data;
-+
-+ return glade_xml_get_widget(prefs->gui, item->label);
-+}
-+
-+static void
-+emnp_set_sensitiveness (EMNetworkPrefs *prefs, NetworkConfigProxyType type, gboolean sensitivity)
-+{
-+ if (type == NETWORK_PROXY_AUTOCONFIG) {
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->auto_proxy_url, sensitivity);
-+ d(g_print ("Setting sensitivity of autoconfig to: %d\n", sensitivity));
-+ } else if (type == NETWORK_PROXY_MANUAL) {
-+ gboolean state;
-+
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->http_host, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->https_host, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->socks_host, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->ignore_hosts, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->use_auth, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->http_port, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->https_port, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->socks_port, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->lbl_ignore_hosts, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->lbl_http_host, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->lbl_http_port, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->lbl_https_host, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->lbl_https_port, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->lbl_socks_host, sensitivity);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->lbl_socks_port, sensitivity);
-+
-+ state = sensitivity && gtk_toggle_button_get_active (prefs->use_auth);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->lbl_auth_user, state);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->lbl_auth_pwd, state);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->auth_user, state);
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->auth_pwd, state);
-+
-+ d(g_print ("Setting sensitivity of manual proxy to: %d\n", sensitivity));
-+ }
-+}
-+
-+static void
-+emnp_parse_ignore_hosts (gpointer data, gpointer user_data)
-+{
-+ char *input = (char *)data;
-+ GString *str = (GString *)user_data;
-+
-+ if (!str)
-+ return;
-+
-+ /* FIXME: Remove trailing , */
-+ if (data) {
-+ str = g_string_append (str, data);
-+ str = g_string_append_c (str, ',');
-+ }
-+}
-+
-+static void
-+emnp_load_sys_settings (GConfClient *gconf)
-+{
-+ char *buf;
-+ int port;
-+ GSList *ignore_hosts;
-+ gboolean toggle;
-+ GString *str = NULL;
-+
-+ if (!gconf)
-+ return;
-+
-+ toggle = gconf_client_get_bool (gconf, GCONF_SYS_USE_PROXY_KEY, NULL);
-+ if (!toggle) {
-+ gconf_client_set_bool (gconf, GCONF_E_USE_PROXY_KEY, toggle, NULL);
-+ return;
-+ }
-+
-+ toggle = gconf_client_get_bool (gconf, GCONF_SYS_USE_AUTH_KEY, NULL);
-+ gconf_client_set_bool (gconf, GCONF_E_USE_AUTH_KEY, toggle, NULL);
-+
-+ buf = gconf_client_get_string (gconf, GCONF_SYS_HTTP_HOST_KEY, NULL);
-+ gconf_client_set_string (gconf, GCONF_E_HTTP_HOST_KEY, buf, NULL);
-+ g_free (buf);
-+
-+ buf = gconf_client_get_string (gconf, GCONF_SYS_HTTPS_HOST_KEY, NULL);
-+ gconf_client_set_string (gconf, GCONF_E_HTTPS_HOST_KEY, buf, NULL);
-+ g_free (buf);
-+
-+ buf = gconf_client_get_string (gconf, GCONF_SYS_SOCKS_HOST_KEY, NULL);
-+ gconf_client_set_string (gconf, GCONF_E_SOCKS_HOST_KEY, buf, NULL);
-+ g_free (buf);
-+
-+ buf = gconf_client_get_string (gconf, GCONF_SYS_AUTOCONFIG_URL_KEY, NULL);
-+ gconf_client_set_string (gconf, GCONF_E_AUTOCONFIG_URL_KEY, buf, NULL);
-+ g_free (buf);
-+
-+ buf = gconf_client_get_string (gconf, GCONF_SYS_AUTH_USER_KEY, NULL);
-+ gconf_client_set_string (gconf, GCONF_E_AUTH_USER_KEY, buf, NULL);
-+ g_free (buf);
-+
-+ buf = gconf_client_get_string (gconf, GCONF_SYS_AUTH_PWD_KEY, NULL);
-+ gconf_client_set_string (gconf, GCONF_E_AUTH_PWD_KEY, buf, NULL);
-+ g_free (buf);
-+
-+ port = gconf_client_get_int (gconf, GCONF_SYS_HTTP_PORT_KEY, NULL);
-+ gconf_client_set_int (gconf, GCONF_E_HTTP_PORT_KEY, port, NULL);
-+
-+ port = gconf_client_get_int (gconf, GCONF_SYS_HTTPS_PORT_KEY, NULL);
-+ gconf_client_set_int (gconf, GCONF_E_HTTPS_PORT_KEY, port, NULL);
-+
-+ port = gconf_client_get_int (gconf, GCONF_SYS_SOCKS_PORT_KEY, NULL);
-+ gconf_client_set_int (gconf, GCONF_E_SOCKS_PORT_KEY, port, NULL);
-+
-+ ignore_hosts = gconf_client_get_list (gconf, GCONF_SYS_IGNORE_HOSTS_KEY,
-+ GCONF_VALUE_STRING, NULL);
-+ if (ignore_hosts) {
-+ str = g_string_sized_new (32);
-+ g_slist_foreach (ignore_hosts, (GFunc) emnp_parse_ignore_hosts, str);
-+ g_slist_foreach (ignore_hosts, (GFunc) g_free, NULL);
-+ g_slist_free (ignore_hosts);
-+
-+ gconf_client_set_string (gconf, GCONF_E_IGNORE_HOSTS_KEY,
-+ str->str, NULL);
-+ g_string_free (str, TRUE);
-+ }
-+}
-+
-+static void
-+notify_proxy_type_changed (GtkWidget *widget, EMNetworkPrefs *prefs)
-+{
-+ int type;
-+
-+ if (gtk_toggle_button_get_active (prefs->sys_proxy))
-+ type = NETWORK_PROXY_SYS_SETTINGS;
-+ else if (gtk_toggle_button_get_active (prefs->no_proxy))
-+ type = NETWORK_PROXY_DIRECT_CONNECTION;
-+ else if (gtk_toggle_button_get_active (prefs->manual_proxy))
-+ type = NETWORK_PROXY_MANUAL;
-+ else
-+ type = NETWORK_PROXY_AUTOCONFIG;
-+
-+ gconf_client_set_int (prefs->gconf, "/apps/evolution/shell/network_config/proxy_type", type, NULL);
-+
-+ if (type == NETWORK_PROXY_DIRECT_CONNECTION ||
-+ type == NETWORK_PROXY_SYS_SETTINGS) {
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_MANUAL, FALSE);
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_AUTOCONFIG, FALSE);
-+ if (type == NETWORK_PROXY_SYS_SETTINGS) {
-+ d(g_print ("%s:%s:%d: Loading sys settings... \n",
-+ __FILE__, __PRETTY_FUNCTION__, __LINE__));
-+ emnp_load_sys_settings (prefs->gconf);
-+ }
-+
-+ } else if (type == NETWORK_PROXY_AUTOCONFIG) {
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_MANUAL, FALSE);
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_AUTOCONFIG, TRUE);
-+ } else if (type == NETWORK_PROXY_MANUAL) {
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_AUTOCONFIG, FALSE);
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_MANUAL, TRUE);
-+ }
-+
-+ if (type != NETWORK_PROXY_DIRECT_CONNECTION)
-+ gconf_client_set_bool (prefs->gconf, GCONF_E_USE_PROXY_KEY, TRUE, NULL);
-+ else if (type != NETWORK_PROXY_SYS_SETTINGS)
-+ gconf_client_set_bool (prefs->gconf, GCONF_E_USE_PROXY_KEY, FALSE, NULL);
-+
-+}
-+
-+static void
-+widget_entry_changed_cb (GtkWidget *widget, gpointer data)
-+{
-+ const char *value;
-+ int port = -1;
-+ GConfClient *gconf = mail_config_get_gconf_client ();
-+
-+ /*
-+ Do not change the order of comparison -
-+ GtkSpinButton is an extended form of GtkEntry
-+ */
-+ if (GTK_IS_SPIN_BUTTON (widget)) {
-+ port = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (widget));
-+ gconf_client_set_int (gconf, (const char *)data, port, NULL);
-+ d(g_print ("%s:%s:%d: %s is SpinButton: value = [%d]\n", __FILE__, __PRETTY_FUNCTION__, __LINE__, (const char *)data, port));
-+ } else if (GTK_IS_ENTRY (widget)) {
-+ value = gtk_entry_get_text (GTK_ENTRY (widget));
-+ gconf_client_set_string (gconf, (const char *)data, value, NULL);
-+ d(g_print ("%s:%s:%d: %s is Entry: value = [%s]\n", __FILE__, __PRETTY_FUNCTION__, __LINE__, (const char *)data, value));
-+ }
-+
-+}
-+
-+/* plugin meta-data */
-+static EMConfigItem emnp_items[] = {
-+ { E_CONFIG_BOOK, "", "network_preferences_toplevel", emnp_widget_glade },
-+ { E_CONFIG_PAGE, "00.general", "vboxGeneral", emnp_widget_glade },
-+ { E_CONFIG_SECTION, "00.general/00.proxy", "frameProxy", emnp_widget_glade },
-+};
-+
-+static void
-+emnp_free(EConfig *ec, GSList *items, void *data)
-+{
-+ /* the prefs data is freed automagically */
-+
-+ g_slist_free(items);
-+}
-+
-+static void
-+emnp_set_markups (EMNetworkPrefs *prefs)
-+{
-+ gtk_label_set_use_markup (GTK_LABEL (GTK_BIN(prefs->sys_proxy)->child), TRUE);
-+ gtk_label_set_use_markup (GTK_LABEL (GTK_BIN(prefs->no_proxy)->child), TRUE);
-+ gtk_label_set_use_markup (GTK_LABEL (GTK_BIN(prefs->manual_proxy)->child), TRUE);
-+ gtk_label_set_use_markup (GTK_LABEL (GTK_BIN(prefs->auto_proxy)->child), TRUE);
-+}
-+
-+static void
-+em_network_prefs_construct (EMNetworkPrefs *prefs)
-+{
-+ GtkWidget *toplevel;
-+ GladeXML *gui;
-+ GSList* l;
-+ char *buf;
-+ EMConfig *ec;
-+ EMConfigTargetPrefs *target;
-+ gboolean locked;
-+ int i, val, port;
-+ char *gladefile;
-+
-+ prefs->gconf = mail_config_get_gconf_client ();
-+
-+ gladefile = g_build_filename (EVOLUTION_GLADEDIR,
-+ "mail-config.glade",
-+ NULL);
-+ gui = glade_xml_new (gladefile, "network_preferences_toplevel", NULL);
-+ prefs->gui = gui;
-+ g_free (gladefile);
-+
-+ /** @HookPoint-EMConfig: Network Preferences
-+ * @Id: org.gnome.evolution.mail.networkPrefs
-+ * @Type: E_CONFIG_BOOK
-+ * @Class: org.gnome.evolution.mail.config:1.0
-+ * @Target: EMConfigTargetPrefs
-+ *
-+ * The network preferences settings page.
-+ */
-+ ec = em_config_new(E_CONFIG_BOOK, "org.gnome.evolution.mail.networkPrefs");
-+ l = NULL;
-+ for (i=0;igconf, GCONF_E_PROXY_TYPE_KEY, NULL);
-+
-+ val = gconf_client_get_int (prefs->gconf, GCONF_E_PROXY_TYPE_KEY, NULL);
-+ prefs->sys_proxy = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "rdoSysSettings"));
-+ gtk_toggle_button_set_active (prefs->sys_proxy, val == NETWORK_PROXY_SYS_SETTINGS);
-+ g_signal_connect (prefs->sys_proxy, "toggled", G_CALLBACK (notify_proxy_type_changed), prefs);
-+ if (locked)
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->sys_proxy, FALSE);
-+
-+ d(g_print ("Sys settings ----!!! \n"));
-+
-+ prefs->no_proxy = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "rdoNoProxy"));
-+ gtk_toggle_button_set_active (prefs->no_proxy, val == NETWORK_PROXY_DIRECT_CONNECTION);
-+ g_signal_connect (prefs->no_proxy, "toggled", G_CALLBACK (notify_proxy_type_changed), prefs);
-+ if (locked)
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->no_proxy, FALSE);
-+
-+ d(g_print ("No proxy settings ----!!! \n"));
-+
-+ prefs->auto_proxy = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "rdoAutoConfig"));
-+ prefs->auto_proxy_url = GTK_ENTRY (glade_xml_get_widget (gui, "txtAutoConfigUrl"));
-+ gtk_toggle_button_set_active (prefs->auto_proxy, val == NETWORK_PROXY_AUTOCONFIG);
-+
-+ g_signal_connect (prefs->auto_proxy, "toggled", G_CALLBACK (notify_proxy_type_changed), prefs);
-+ g_signal_connect(prefs->auto_proxy_url, "changed", G_CALLBACK(widget_entry_changed_cb), GCONF_E_AUTOCONFIG_URL_KEY);
-+
-+ if (locked)
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->auto_proxy, FALSE);
-+
-+ d(g_print ("Auto config settings ----!!! \n"));
-+
-+ prefs->manual_proxy = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "rdoManualProxy"));
-+ prefs->http_host = GTK_ENTRY (glade_xml_get_widget (gui, "txtHttpHost"));
-+ prefs->https_host = GTK_ENTRY (glade_xml_get_widget (gui, "txtHttpsHost"));
-+ prefs->socks_host = GTK_ENTRY (glade_xml_get_widget (gui, "txtSocksHost"));
-+ prefs->ignore_hosts = GTK_ENTRY (glade_xml_get_widget (gui, "txtIgnoreHosts"));
-+ prefs->http_port = GTK_SPIN_BUTTON (glade_xml_get_widget (gui, "spnHttpPort"));
-+ prefs->https_port = GTK_SPIN_BUTTON (glade_xml_get_widget (gui, "spnHttpsPort"));
-+ prefs->socks_port = GTK_SPIN_BUTTON (glade_xml_get_widget (gui, "spnSocksPort"));
-+ prefs->lbl_http_host = GTK_LABEL (glade_xml_get_widget (gui, "lblHttpHost"));
-+ prefs->lbl_http_port = GTK_LABEL (glade_xml_get_widget (gui, "lblHttpPort"));
-+ prefs->lbl_https_host = GTK_LABEL (glade_xml_get_widget (gui, "lblHttpsHost"));
-+ prefs->lbl_https_port = GTK_LABEL (glade_xml_get_widget (gui, "lblHttpsPort"));
-+ prefs->lbl_socks_host = GTK_LABEL (glade_xml_get_widget (gui, "lblSocksHost"));
-+ prefs->lbl_socks_port = GTK_LABEL (glade_xml_get_widget (gui, "lblSocksPort"));
-+ prefs->lbl_ignore_hosts = GTK_LABEL (glade_xml_get_widget (gui, "lblIgnoreHosts"));
-+ prefs->use_auth = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "chkUseAuth"));
-+ toggle_button_init (prefs, prefs->use_auth, GCONF_E_USE_AUTH_KEY);
-+ prefs->lbl_auth_user = GTK_LABEL (glade_xml_get_widget (gui, "lblAuthUser"));
-+ prefs->lbl_auth_pwd = GTK_LABEL (glade_xml_get_widget (gui, "lblAuthPwd"));
-+ prefs->auth_user = GTK_ENTRY (glade_xml_get_widget (gui, "txtAuthUser"));
-+ prefs->auth_pwd = GTK_ENTRY (glade_xml_get_widget (gui, "txtAuthPwd"));
-+
-+ /* Manual proxy options */
-+ g_signal_connect (prefs->http_host, "changed",
-+ G_CALLBACK(widget_entry_changed_cb), GCONF_E_HTTP_HOST_KEY);
-+ g_signal_connect (prefs->https_host, "changed",
-+ G_CALLBACK(widget_entry_changed_cb), GCONF_E_HTTPS_HOST_KEY);
-+ g_signal_connect (prefs->socks_host, "changed",
-+ G_CALLBACK(widget_entry_changed_cb), GCONF_E_SOCKS_HOST_KEY);
-+ g_signal_connect (prefs->ignore_hosts, "changed",
-+ G_CALLBACK(widget_entry_changed_cb), GCONF_E_IGNORE_HOSTS_KEY);
-+ g_signal_connect (prefs->http_port, "value_changed",
-+ G_CALLBACK(widget_entry_changed_cb), GCONF_E_HTTP_PORT_KEY);
-+ g_signal_connect (prefs->https_port, "value_changed",
-+ G_CALLBACK(widget_entry_changed_cb), GCONF_E_HTTPS_PORT_KEY);
-+ g_signal_connect (prefs->socks_port, "value_changed",
-+ G_CALLBACK(widget_entry_changed_cb), GCONF_E_SOCKS_PORT_KEY);
-+ g_signal_connect (prefs->auth_user, "changed",
-+ G_CALLBACK(widget_entry_changed_cb), GCONF_E_AUTH_USER_KEY);
-+ g_signal_connect (prefs->auth_pwd, "changed",
-+ G_CALLBACK(widget_entry_changed_cb), GCONF_E_AUTH_PWD_KEY);
-+
-+ gtk_toggle_button_set_active (prefs->manual_proxy, val == NETWORK_PROXY_MANUAL);
-+ g_signal_connect (prefs->manual_proxy, "toggled", G_CALLBACK (notify_proxy_type_changed), prefs);
-+
-+ if (locked)
-+ gtk_widget_set_sensitive ((GtkWidget *) prefs->manual_proxy, FALSE);
-+ d(g_print ("Manual settings ----!!! \n"));
-+
-+ buf = gconf_client_get_string (prefs->gconf, GCONF_E_HTTP_HOST_KEY, NULL);
-+ gtk_entry_set_text (prefs->http_host, buf ? buf : "");
-+ g_free (buf);
-+
-+ buf = gconf_client_get_string (prefs->gconf, GCONF_E_HTTPS_HOST_KEY, NULL);
-+ gtk_entry_set_text (prefs->https_host, buf ? buf : "");
-+ g_free (buf);
-+
-+ buf = gconf_client_get_string (prefs->gconf, GCONF_E_SOCKS_HOST_KEY, NULL);
-+ gtk_entry_set_text (prefs->socks_host, buf ? buf : "");
-+ g_free (buf);
-+
-+ buf = gconf_client_get_string (prefs->gconf, GCONF_E_IGNORE_HOSTS_KEY, NULL);
-+ gtk_entry_set_text (prefs->ignore_hosts, buf ? buf : "");
-+ g_free (buf);
-+
-+ buf = gconf_client_get_string (prefs->gconf, GCONF_E_AUTH_USER_KEY, NULL);
-+ gtk_entry_set_text (prefs->auth_user, buf ? buf : "");
-+ g_free (buf);
-+
-+ buf = gconf_client_get_string (prefs->gconf, GCONF_E_AUTH_PWD_KEY, NULL);
-+ gtk_entry_set_text (prefs->auth_pwd, buf ? buf : "");
-+ g_free (buf);
-+
-+ port = gconf_client_get_int (prefs->gconf, GCONF_E_HTTP_PORT_KEY, NULL);
-+ gtk_spin_button_set_value (prefs->http_port, (gdouble)port);
-+
-+ port = gconf_client_get_int (prefs->gconf, GCONF_E_HTTPS_PORT_KEY, NULL);
-+ gtk_spin_button_set_value (prefs->https_port, (gdouble)port);
-+
-+ port = gconf_client_get_int (prefs->gconf, GCONF_E_SOCKS_PORT_KEY, NULL);
-+ gtk_spin_button_set_value (prefs->socks_port, (gdouble)port);
-+
-+ emnp_set_markups (prefs);
-+
-+ if (val == NETWORK_PROXY_DIRECT_CONNECTION ||
-+ val == NETWORK_PROXY_SYS_SETTINGS) {
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_MANUAL, FALSE);
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_AUTOCONFIG, FALSE);
-+ if (val == NETWORK_PROXY_SYS_SETTINGS)
-+ emnp_load_sys_settings (prefs->gconf);
-+ } else if (val == NETWORK_PROXY_AUTOCONFIG) {
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_MANUAL, FALSE);
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_AUTOCONFIG, TRUE);
-+ } else if (val == NETWORK_PROXY_MANUAL) {
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_AUTOCONFIG, FALSE);
-+ emnp_set_sensitiveness (prefs, NETWORK_PROXY_MANUAL, TRUE);
-+ }
-+
-+ /* get our toplevel widget */
-+ target = em_config_target_new_prefs(ec, prefs->gconf);
-+ e_config_set_target((EConfig *)ec, (EConfigTarget *)target);
-+ toplevel = e_config_create_widget((EConfig *)ec);
-+ gtk_container_add (GTK_CONTAINER (prefs), toplevel);
-+}
-+
-+GtkWidget *
-+em_network_prefs_new (void)
-+{
-+ EMNetworkPrefs *new;
-+
-+ new = (EMNetworkPrefs *) g_object_new (em_network_prefs_get_type (), NULL);
-+ em_network_prefs_construct (new);
-+
-+ return (GtkWidget *) new;
-+}
-Index: mail/GNOME_Evolution_Mail.server.in.in
-===================================================================
---- mail/GNOME_Evolution_Mail.server.in.in (revision 35239)
-+++ mail/GNOME_Evolution_Mail.server.in.in (revision 35240)
-@@ -161,6 +161,30 @@
-
-
-
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-
-
-
-Index: mail/em-network-prefs.h
-===================================================================
---- mail/em-network-prefs.h (revision 0)
-+++ mail/em-network-prefs.h (revision 35240)
-@@ -0,0 +1,112 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-+/*
-+ * Authors: Veerapuram Varadhan
-+ *
-+ * Copyright 2007 Novell, Inc. (www.novell.com)
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
-+ *
-+ */
-+
-+
-+#ifndef __EM_NETWORK_PREFS_H__
-+#define __EM_NETWORK_PREFS_H__
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#pragma }
-+#endif /* __cplusplus */
-+
-+#include
-+#include
-+
-+#define EM_NETWORK_PREFS_TYPE (em_network_prefs_get_type ())
-+#define EM_NETWORK_PREFS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EM_NETWORK_PREFS_TYPE, EMNetworkPrefs))
-+#define EM_NETWORK_PREFS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), EM_NETWORK_PREFS_TYPE, EMNetworkPrefsClass))
-+#define EM_IS_NETWORK_PREFS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EM_NETWORK_PREFS_TYPE))
-+#define EM_IS_NETWORK_PREFS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EM_NETWORK_PREFS_TYPE))
-+
-+typedef struct _EMNetworkPrefs EMNetworkPrefs;
-+typedef struct _EMNetworkPrefsClass EMNetworkPrefsClass;
-+
-+struct _GtkToggleButton;
-+struct _GtkEntry;
-+struct _GladeXML;
-+struct _GConfClient;
-+
-+typedef enum {
-+ NETWORK_PROXY_SYS_SETTINGS,
-+ NETWORK_PROXY_DIRECT_CONNECTION,
-+ NETWORK_PROXY_MANUAL,
-+ NETWORK_PROXY_AUTOCONFIG
-+} NetworkConfigProxyType;
-+
-+
-+struct _EMNetworkPrefs {
-+ GtkVBox parent_object;
-+
-+ struct _GConfClient *gconf;
-+
-+ struct _GladeXML *gui;
-+
-+ /* Default Behavior */
-+ struct _GtkToggleButton *sys_proxy;
-+ struct _GtkToggleButton *no_proxy;
-+ struct _GtkToggleButton *manual_proxy;
-+ struct _GtkToggleButton *auto_proxy;
-+ struct _GtkToggleButton *use_auth;
-+
-+ struct _GtkEntry *http_host;
-+ struct _GtkEntry *https_host;
-+ struct _GtkEntry *socks_host;
-+ struct _GtkEntry *ignore_hosts;
-+ struct _GtkEntry *auto_proxy_url;
-+ struct _GtkEntry *auth_user;
-+ struct _GtkEntry *auth_pwd;
-+
-+ struct _GtkLabel *lbl_http_host;
-+ struct _GtkLabel *lbl_http_port;
-+ struct _GtkLabel *lbl_https_host;
-+ struct _GtkLabel *lbl_https_port;
-+ struct _GtkLabel *lbl_socks_host;
-+ struct _GtkLabel *lbl_socks_port;
-+ struct _GtkLabel *lbl_ignore_hosts;
-+ struct _GtkLabel *lbl_auth_user;
-+ struct _GtkLabel *lbl_auth_pwd;
-+
-+ struct _GtkSpinButton *http_port;
-+ struct _GtkSpinButton *https_port;
-+ struct _GtkSpinButton *socks_port;
-+};
-+
-+struct _EMNetworkPrefsClass {
-+ GtkVBoxClass parent_class;
-+
-+ /* signals */
-+
-+};
-+
-+GType em_network_prefs_get_type (void);
-+
-+struct _GtkWidget *em_network_prefs_new (void);
-+
-+/* needed by global config */
-+#define EM_NETWORK_PREFS_CONTROL_ID "OAFIID:GNOME_Evolution_Mail_NetworkPrefs_ConfigControl:" BASE_VERSION
-+
-+#ifdef __cplusplus
-+}
-+#endif /* __cplusplus */
-+
-+#endif /* __EM_NETWORK_PREFS_H__ */
-Index: mail/mail-config.glade
-===================================================================
---- mail/mail-config.glade (revision 35239)
-+++ mail/mail-config.glade (revision 35240)
-@@ -550,8 +550,8 @@
- *
- False
-
-+
-
--
-
-
-
-@@ -633,8 +633,8 @@
- *
- False
-
-+
-
--
-
-
-
-@@ -836,8 +836,8 @@
- *
- False
-
-+
-
--
-
-
-
-@@ -890,8 +890,8 @@
- *
- False
-
-+
-
--
-
-
-
-@@ -9053,4 +9053,770 @@
-
-
-
-+
-+ True
-+ window1
-+ GTK_WINDOW_TOPLEVEL
-+ GTK_WIN_POS_NONE
-+ False
-+ True
-+ False
-+ True
-+ False
-+ False
-+ GDK_WINDOW_TYPE_HINT_NORMAL
-+ GDK_GRAVITY_NORTH_WEST
-+ True
-+ False
-+
-+
-+
-+ True
-+ True
-+ True
-+ True
-+ GTK_POS_TOP
-+ False
-+ False
-+
-+
-+
-+ 12
-+ True
-+ False
-+ 18
-+
-+
-+
-+ True
-+ False
-+ 6
-+
-+
-+
-+ True
-+ <span weight="bold">Proxy Settings</span>
-+ False
-+ True
-+ GTK_JUSTIFY_LEFT
-+ False
-+ False
-+ 0
-+ 0.5
-+ 0
-+ 0
-+ PANGO_ELLIPSIZE_NONE
-+ -1
-+ False
-+ 0
-+
-+
-+ 0
-+ True
-+ True
-+
-+
-+
-+
-+
-+ 12
-+ True
-+ False
-+ 8
-+
-+
-+
-+ True
-+ True
-+ _Use system defaults
-+ True
-+ GTK_RELIEF_NORMAL
-+ True
-+ False
-+ False
-+ True
-+
-+
-+ 0
-+ True
-+ True
-+
-+
-+
-+
-+
-+ True
-+ True
-+ _Direct connection to the Internet
-+ True
-+ GTK_RELIEF_NORMAL
-+ True
-+ False
-+ False
-+ True
-+ rdoSysSettings
-+
-+
-+ 0
-+ True
-+ True
-+
-+
-+
-+
-+
-+ True
-+ True
-+ _Manual proxy configuration:
-+ True
-+ GTK_RELIEF_NORMAL
-+ True
-+ False
-+ False
-+ True
-+ rdoSysSettings
-+
-+
-+ 0
-+ True
-+ True
-+
-+
-+
-+
-+
-+ True
-+ 0.5
-+ 0.5
-+ 1
-+ 1
-+ 0
-+ 0
-+ 24
-+ 0
-+
-+
-+
-+ True
-+ False
-+ 6
-+
-+
-+
-+ True
-+ 4
-+ 4
-+ False
-+ 6
-+ 6
-+
-+
-+
-+ True
-+ H_TTP Proxy:
-+ True
-+ False
-+ GTK_JUSTIFY_LEFT
-+ False
-+ False
-+ 0
-+ 0.5
-+ 0
-+ 0
-+ txtHttpHost
-+ PANGO_ELLIPSIZE_NONE
-+ -1
-+ False
-+ 0
-+
-+
-+ 0
-+ 1
-+ 0
-+ 1
-+ fill
-+
-+
-+
-+
-+
-+
-+ True
-+ _Secure HTTP Proxy:
-+ True
-+ False
-+ GTK_JUSTIFY_LEFT
-+ False
-+ False
-+ 0
-+ 0.5
-+ 0
-+ 0
-+ txtHttpsHost
-+ PANGO_ELLIPSIZE_NONE
-+ -1
-+ False
-+ 0
-+
-+
-+ 0
-+ 1
-+ 1
-+ 2
-+ fill
-+
-+
-+
-+
-+
-+
-+ True
-+ S_OCKS Host:
-+ True
-+ False
-+ GTK_JUSTIFY_LEFT
-+ False
-+ False
-+ 0
-+ 0.5
-+ 0
-+ 0
-+ txtSocksHost
-+ PANGO_ELLIPSIZE_NONE
-+ -1
-+ False
-+ 0
-+
-+
-+ 0
-+ 1
-+ 2
-+ 3
-+ fill
-+
-+
-+
-+
-+
-+
-+ True
-+ No _Proxy for:
-+ True
-+ False
-+ GTK_JUSTIFY_LEFT
-+ False
-+ False
-+ 0
-+ 0.5
-+ 0
-+ 0
-+ txtIgnoreHosts
-+ PANGO_ELLIPSIZE_NONE
-+ -1
-+ False
-+ 0
-+
-+
-+ 0
-+ 1
-+ 3
-+ 4
-+ fill
-+
-+
-+
-+
-+
-+
-+ True
-+ True
-+ True
-+ True
-+ 0
-+
-+ True
-+ *
-+ False
-+
-+
-+ 1
-+ 2
-+ 0
-+ 1
-+
-+
-+
-+
-+
-+
-+ True
-+ True
-+ True
-+ True
-+ 0
-+
-+ True
-+ *
-+ False
-+
-+
-+ 1
-+ 2
-+ 1
-+ 2
-+
-+
-+
-+
-+
-+
-+ True
-+ True
-+ True
-+ True
-+ 0
-+
-+ True
-+ *
-+ False
-+
-+
-+ 1
-+ 2
-+ 2
-+ 3
-+
-+
-+
-+
-+
-+
-+ True
-+ Port:
-+ False
-+ False
-+ GTK_JUSTIFY_LEFT
-+ False
-+ False
-+ 0
-+ 0.5
-+ 0
-+ 0
-+ PANGO_ELLIPSIZE_NONE
-+ -1
-+ False
-+ 0
-+
-+
-+ 2
-+ 3
-+ 0
-+ 1
-+ fill
-+
-+
-+
-+
-+
-+
-+ True
-+ Port:
-+ False
-+ False
-+ GTK_JUSTIFY_LEFT
-+ False
-+ False
-+ 0
-+ 0.5
-+ 0
-+ 0
-+ PANGO_ELLIPSIZE_NONE
-+ -1
-+ False
-+ 0
-+
-+
-+ 2
-+ 3
-+ 1
-+ 2
-+ fill
-+
-+
-+
-+
-+
-+
-+ True
-+ Port:
-+ False
-+ False
-+ GTK_JUSTIFY_LEFT
-+ False
-+ False
-+ 0
-+ 0.5
-+ 0
-+ 0
-+ PANGO_ELLIPSIZE_NONE
-+ -1
-+ False
-+ 0
-+
-+
-+ 2
-+ 3
-+ 2
-+ 3
-+ fill
-+
-+
-+
-+
-+
-+
-+ True
-+ True
-+ 1
-+ 0
-+ False
-+ GTK_UPDATE_ALWAYS
-+ False
-+ False
-+ 0 0 65535 1 10 10
-+
-+
-+ 3
-+ 4
-+ 0
-+ 1
-+
-+
-+
-+
-+
-+
-+ True
-+ True
-+ 1
-+ 0
-+ False
-+ GTK_UPDATE_ALWAYS
-+ False
-+ False
-+ 0 0 65535 1 10 10
-+
-+
-+ 3
-+ 4
-+ 1
-+ 2
-+
-+
-+
-+
-+
-+
-+ True
-+ True
-+ 1
-+ 0
-+ False
-+ GTK_UPDATE_ALWAYS
-+ False
-+ False
-+ 0 0 65535 1 10 10
-+
-+
-+ 3
-+ 4
-+ 2
-+ 3
-+
-+
-+
-+
-+
-+
-+ True
-+ True
-+ True
-+ True
-+ 0
-+
-+ True
-+ *
-+ False
-+
-+
-+ 1
-+ 4
-+ 3
-+ 4
-+
-+
-+
-+
-+
-+ 0
-+ False
-+ True
-+
-+
-+
-+
-+
-+ True
-+ True
-+ Use Authe_ntication
-+ True
-+ GTK_RELIEF_NORMAL
-+ True
-+ False
-+ False
-+ True
-+
-+
-+ 0
-+ False
-+ True
-+
-+
-+
-+
-+
-+ True
-+ 0.5
-+ 0.5
-+ 1
-+ 1
-+ 0
-+ 0
-+ 24
-+ 0
-+
-+
-+
-+ True
-+ 2
-+ 2
-+ False
-+ 3
-+ 6
-+
-+
-+
-+ True
-+ Us_ername:
-+ True
-+ False
-+ GTK_JUSTIFY_LEFT
-+ False
-+ False
-+ 0
-+ 0.5
-+ 0
-+ 0
-+ txtAuthUser
-+ PANGO_ELLIPSIZE_NONE
-+ -1
-+ False
-+ 0
-+
-+
-+ 0
-+ 1
-+ 0
-+ 1
-+ fill
-+
-+
-+
-+
-+
-+
-+ True
-+ Pass_word:
-+ True
-+ False
-+ GTK_JUSTIFY_LEFT
-+ False
-+ False
-+ 0
-+ 0.5
-+ 0
-+ 0
-+ txtAuthPwd
-+ PANGO_ELLIPSIZE_NONE
-+ -1
-+ False
-+ 0
-+
-+
-+ 0
-+ 1
-+ 1
-+ 2
-+ fill
-+
-+
-+
-+
-+
-+
-+ True
-+ True
-+ True
-+ True
-+ 0
-+
-+ True
-+ *
-+ False
-+
-+
-+ 1
-+ 2
-+ 0
-+ 1
-+
-+
-+
-+
-+
-+ True
-+ True
-+ True
-+ False
-+ 0
-+
-+ True
-+ *
-+ False
-+
-+
-+ 1
-+ 2
-+ 1
-+ 2
-+
-+
-+
-+
-+
-+
-+ 0
-+ False
-+ True
-+
-+
-+
-+
-+
-+
-+ 0
-+ False
-+ True
-+
-+
-+
-+
-+
-+ True
-+ True
-+ _Automatic proxy configuration URL:
-+ True
-+ GTK_RELIEF_NORMAL
-+ True
-+ False
-+ False
-+ True
-+ rdoSysSettings
-+
-+
-+ 0
-+ True
-+ True
-+
-+
-+
-+
-+
-+ True
-+ 0.5
-+ 0.5
-+ 1
-+ 1
-+ 0
-+ 0
-+ 24
-+ 0
-+
-+
-+
-+ True
-+ True
-+ True
-+ True
-+ 0
-+
-+ True
-+ *
-+ False
-+
-+
-+
-+
-+ 0
-+ False
-+ True
-+
-+
-+
-+
-+ 0
-+ False
-+ True
-+
-+
-+
-+
-+ 0
-+ False
-+ True
-+
-+
-+
-+
-+ False
-+ True
-+
-+
-+
-+
-+
-+ True
-+ General
-+ False
-+ False
-+ GTK_JUSTIFY_LEFT
-+ False
-+ False
-+ 0.5
-+ 0.5
-+ 0
-+ 0
-+ PANGO_ELLIPSIZE_NONE
-+ -1
-+ False
-+ 0
-+
-+
-+ tab
-+
-+
-+
-+
-+
-+
-
-Index: mail/Makefile.am
-===================================================================
---- mail/Makefile.am (revision 35239)
-+++ mail/Makefile.am (revision 35240)
-@@ -164,6 +164,8 @@
- em-message-browser.c \
- em-migrate.c \
- em-migrate.h \
-+ em-network-prefs.c \
-+ em-network-prefs.h \
- em-popup.c \
- em-search-context.c \
- em-search-context.h \
-Index: mail/mail-component-factory.c
-===================================================================
---- mail/mail-component-factory.c (revision 35239)
-+++ mail/mail-component-factory.c (revision 35240)
-@@ -30,6 +30,7 @@
- #include "em-account-prefs.h"
- #include "em-mailer-prefs.h"
- #include "em-composer-prefs.h"
-+#include "em-network-prefs.h"
-
- #include "mail-config-factory.h"
- #include "mail-config.h"
-@@ -70,7 +71,8 @@
- return BONOBO_OBJECT (component);
- } else if (strcmp (component_id, EM_ACCOUNT_PREFS_CONTROL_ID) == 0
- || strcmp (component_id, EM_MAILER_PREFS_CONTROL_ID) == 0
-- || strcmp (component_id, EM_COMPOSER_PREFS_CONTROL_ID) == 0) {
-+ || strcmp (component_id, EM_COMPOSER_PREFS_CONTROL_ID) == 0
-+ || strcmp (component_id, EM_NETWORK_PREFS_CONTROL_ID) == 0) {
- return mail_config_control_factory_cb (factory, component_id, CORBA_OBJECT_NIL);
- } else if (strcmp(component_id, COMPOSER_ID) == 0) {
- /* FIXME: how to remove need for callbacks, probably make the composer more tightly integrated with mail */
-Index: mail/mail-config-factory.c
-===================================================================
---- mail/mail-config-factory.c (revision 35239)
-+++ mail/mail-config-factory.c (revision 35240)
-@@ -30,6 +30,7 @@
- #include "em-account-prefs.h"
- #include "em-composer-prefs.h"
- #include "em-mailer-prefs.h"
-+#include "em-network-prefs.h"
-
- #include "mail-config-factory.h"
-
-@@ -48,6 +49,8 @@
- prefs = em_mailer_prefs_new ();
- } else if (!strcmp (component_id, EM_COMPOSER_PREFS_CONTROL_ID)) {
- prefs = em_composer_prefs_new ();
-+ } else if (!strcmp (component_id, EM_NETWORK_PREFS_CONTROL_ID)) {
-+ prefs = em_network_prefs_new ();
- } else {
- g_return_val_if_reached(NULL);
- }
diff --git a/bnc-394441-exchange-addbook-crash.diff b/bnc-394441-exchange-addbook-crash.diff
deleted file mode 100644
index e871330..0000000
--- a/bnc-394441-exchange-addbook-crash.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- plugins/exchange-operations/exchange-contacts.c 2008-05-02 01:25:38.000000000 +0530
-+++ plugins/exchange-operations/exchange-contacts.c 2008-05-26 16:28:51.000000000 +0530
-@@ -491,6 +491,7 @@ e_exchange_contacts_commit (EPlugin *epl
- if (authtype) {
- e_source_set_property (source, "auth-type", authtype);
- g_free (authtype);
-+ authtype=NULL;
- }
- e_source_set_property (source, "auth", "plain/password");
- if (rename) {
diff --git a/bug-394641_evo-CVE-2008-1108.diff b/bug-394641_evo-CVE-2008-1108.diff
deleted file mode 100644
index 0480044..0000000
--- a/bug-394641_evo-CVE-2008-1108.diff
+++ /dev/null
@@ -1,311 +0,0 @@
-Index: calendar/gui/e-itip-control.c
-===================================================================
---- calendar/gui/e-itip-control.c (revision 35555)
-+++ calendar/gui/e-itip-control.c (working copy)
-@@ -660,7 +660,7 @@ find_attendee (icalcomponent *ical_comp,
-
- static void
- write_label_piece (EItipControl *itip, ECalComponentDateTime *dt,
-- char *buffer, int size,
-+ GString *buffer,
- const char *stext, const char *etext,
- gboolean just_date)
- {
-@@ -685,13 +685,13 @@ write_label_piece (EItipControl *itip, E
- tmp_tm.tm_hour = tmp_tm.tm_min = tmp_tm.tm_sec = 0;
-
- if (stext != NULL)
-- strcat (buffer, stext);
-+ g_string_append (buffer, stext);
-
- e_time_format_date_and_time (&tmp_tm,
- calendar_config_get_24_hour_format (),
- FALSE, FALSE,
- time_buf, sizeof (time_buf));
-- strcat (buffer, time_buf);
-+ g_string_append (buffer, time_buf);
-
- if (!dt->value->is_utc && dt->tzid) {
- zone = icalcomponent_get_timezone (priv->top_level, dt->tzid);
-@@ -703,21 +703,21 @@ write_label_piece (EItipControl *itip, E
- UTF-8. But it probably is not translated. */
- display_name = icaltimezone_get_display_name (zone);
- if (display_name && *display_name) {
-- strcat (buffer, " [");
-+ g_string_append_len (buffer, " [", 16);
-
- /* We check if it is one of our builtin timezone names,
- in which case we call gettext to translate it. */
- if (icaltimezone_get_builtin_timezone (display_name)) {
-- strcat (buffer, _(display_name));
-+ g_string_append_printf (buffer, "%s", _(display_name));
- } else {
-- strcat (buffer, display_name);
-+ g_string_append_printf (buffer, "%s", display_name);
- }
-- strcat (buffer, "]");
-+ g_string_append_len (buffer, "]", 8);
- }
- }
-
- if (etext != NULL)
-- strcat (buffer, etext);
-+ g_string_append (buffer, etext);
- }
-
- static const char *
-@@ -754,19 +754,17 @@ get_dayname (struct icalrecurrencetype *
-
- static void
- write_recurrence_piece (EItipControl *itip, ECalComponent *comp,
-- char *buffer, int size)
-+ GString *buffer)
- {
- GSList *rrules;
- struct icalrecurrencetype *r;
-- int len, i;
-+ int i;
-
-- strcpy (buffer, "Recurring: ");
-- len = strlen (buffer);
-- buffer += len;
-- size -= len;
-+ g_string_append_len (buffer, "Recurring: ", 18);
-
- if (!e_cal_component_has_simple_recurrence (comp)) {
-- strcpy (buffer, _("Yes. (Complex Recurrence)"));
-+ g_string_append_printf (
-+ buffer, "%s", _("Yes. (Complex Recurrence)"));
- return;
- }
-
-@@ -782,7 +780,10 @@ write_recurrence_piece (EItipControl *it
- Every %d day/days" */
- /* For Translators : 'Every day' is event Recurring every day */
- /* For Translators : 'Every %d days' is event Recurring every %d days. %d is a digit */
-- sprintf (buffer, ngettext("Every day", "Every %d days", r->interval), r->interval);
-+ g_string_append_printf (
-+ buffer, ngettext ("Every day",
-+ "Every %d days", r->interval),
-+ r->interval);
- break;
-
- case ICAL_WEEKLY_RECURRENCE:
-@@ -792,29 +793,36 @@ write_recurrence_piece (EItipControl *it
- Every %d week/weeks" */
- /* For Translators : 'Every week' is event Recurring every week */
- /* For Translators : 'Every %d weeks' is event Recurring every %d weeks. %d is a digit */
-- sprintf (buffer, ngettext("Every week", "Every %d weeks", r->interval), r->interval);
-+ g_string_append_printf (
-+ buffer, ngettext ("Every week",
-+ "Every %d weeks", r->interval),
-+ r->interval);
- } else {
- /* For Translators : 'Every week on' is event Recurring every week on (dayname) and (dayname) and (dayname) */
- /* For Translators : 'Every %d weeks on' is event Recurring: every %d weeks on (dayname) and (dayname). %d is a digit */
-- sprintf (buffer, ngettext("Every week on ", "Every %d weeks on ", r->interval), r->interval);
-+ g_string_append_printf (
-+ buffer, ngettext ("Every week on ",
-+ "Every %d weeks on ", r->interval),
-+ r->interval);
-
- for (i = 1; i < 8 && r->by_day[i] != ICAL_RECURRENCE_ARRAY_MAX; i++) {
- if (i > 1)
-- strcat (buffer, ", ");
-- strcat (buffer, get_dayname (r, i - 1));
-+ g_string_append_len (buffer, ", ", 2);
-+ g_string_append (buffer, get_dayname (r, i - 1));
- }
- if (i > 1)
- /* For Translators : 'and' is part of the sentence 'event recurring every week on (dayname) and (dayname)' */
-- strcat (buffer, _(" and "));
-- strcat (buffer, get_dayname (r, i - 1));
-+ g_string_append_printf (buffer, "%s", _(" and "));
-+ g_string_append (buffer, get_dayname (r, i - 1));
- }
- break;
-
- case ICAL_MONTHLY_RECURRENCE:
- if (r->by_month_day[0] != ICAL_RECURRENCE_ARRAY_MAX) {
- /* For Translators : 'The %s day of' is part of the sentence 'event recurring on the (nth) day of every month.' */
-- sprintf (buffer, _("The %s day of "),
-- nth (r->by_month_day[0]));
-+ g_string_append_printf (
-+ buffer, _("The %s day of "),
-+ nth (r->by_month_day[0]));
- } else {
- int pos;
-
-@@ -828,20 +836,21 @@ write_recurrence_piece (EItipControl *it
-
- /* For Translators : 'The %s %s of' is part of the sentence 'event recurring on the (nth) (dayname) of every month.'
- eg,third monday of every month */
-- sprintf (buffer, _("The %s %s of "),
-- nth (pos), get_dayname (r, 0));
-+ g_string_append_printf (
-+ buffer, _("The %s %s of "),
-+ nth (pos), get_dayname (r, 0));
- }
-
-- len = strlen (buffer);
-- buffer += len;
-- size -= len;
- /* For Translators: In this can also be translated as "With the period of %d
- month/months", where %d is a number. The entire sentence is of the form "Recurring:
- Every %d month/months" */
- /* For Translators : 'every month' is part of the sentence 'event recurring on the (nth) day of every month.' */
- /* For Translators : 'every %d months' is part of the sentence 'event recurring on the (nth) day of every %d months.'
- %d is a digit */
-- sprintf (buffer, ngettext("every month","every %d months", r->interval), r->interval);
-+ g_string_append_printf (
-+ buffer, ngettext ("every month",
-+ "every %d months", r->interval),
-+ r->interval);
- break;
-
- case ICAL_YEARLY_RECURRENCE:
-@@ -850,20 +859,22 @@ write_recurrence_piece (EItipControl *it
- Every %d year/years" */
- /* For Translators : 'Every year' is event Recurring every year */
- /* For Translators : 'Every %d years' is event Recurring every %d years. %d is a digit */
-- sprintf (buffer, ngettext("Every year", "Every %d years", r->interval), r->interval);
-+ g_string_append_printf (
-+ buffer, ngettext ("Every year",
-+ "Every %d years", r->interval),
-+ r->interval);
- break;
-
- default:
- g_return_if_reached ();
- }
-
-- len = strlen (buffer);
-- buffer += len;
-- size -= len;
- if (r->count) {
- /* For Translators:'a total of %d time' is part of the sentence of the form 'event recurring every day,a total of % time.' %d is a digit*/
- /* For Translators:'a total of %d times' is part of the sentence of the form 'event recurring every day,a total of % times.' %d is a digit*/
-- sprintf (buffer, ngettext("a total of %d time", " a total of %d times", r->count), r->count);
-+ g_string_append_printf (
-+ buffer, ngettext ("a total of %d time",
-+ " a total of %d times", r->count), r->count);
- } else if (!icaltime_is_null_time (r->until)) {
- ECalComponentDateTime dt;
-
-@@ -871,12 +882,12 @@ write_recurrence_piece (EItipControl *it
- dt.value = &r->until;
- dt.tzid = icaltimezone_get_tzid ((icaltimezone *)r->until.zone);
-
-- write_label_piece (itip, &dt, buffer, size,
-+ write_label_piece (itip, &dt, buffer,
- /* For Translators : ', ending on' is part of the sentence of the form 'event recurring every day, ending on (date).'*/
- _(", ending on "), NULL, TRUE);
- }
-
-- strcat (buffer, "
");
-+ g_string_append_len (buffer, "
", 4);
- }
-
- static void
-@@ -884,47 +895,51 @@ set_date_label (EItipControl *itip, GtkH
- ECalComponent *comp)
- {
- ECalComponentDateTime datetime;
-- static char buffer[1024];
-+ GString *buffer;
- gchar *str;
- gboolean wrote = FALSE, task_completed = FALSE;
- ECalComponentVType type;
-
-+ buffer = g_string_sized_new (1024);
- type = e_cal_component_get_vtype (comp);
-
-- buffer[0] = '\0';
- e_cal_component_get_dtstart (comp, &datetime);
- if (datetime.value) {
- /* For Translators : 'starts' is starts:date implying a task starts on what date */
- str = g_strdup_printf ("%s:", _("Starts"));
-- write_label_piece (itip, &datetime, buffer, 1024,
-- str,
-- "
", FALSE);
-- gtk_html_write (html, html_stream, buffer, strlen(buffer));
-+ write_label_piece (itip, &datetime, buffer, str, "
", FALSE);
-+ gtk_html_write (html, html_stream, buffer->str, buffer->len);
- wrote = TRUE;
- g_free (str);
- }
- e_cal_component_free_datetime (&datetime);
-
-- buffer[0] = '\0';
-+ /* Reset the buffer. */
-+ g_string_truncate (buffer, 0);
-+
- e_cal_component_get_dtend (comp, &datetime);
- if (datetime.value){
- /* For Translators : 'ends' is ends:date implying a task ends on what date */
- str = g_strdup_printf ("%s:", _("Ends"));
-- write_label_piece (itip, &datetime, buffer, 1024, str, "
", FALSE);
-- gtk_html_write (html, html_stream, buffer, strlen (buffer));
-+ write_label_piece (itip, &datetime, buffer, str, "
", FALSE);
-+ gtk_html_write (html, html_stream, buffer->str, buffer->len);
- wrote = TRUE;
- g_free (str);
- }
- e_cal_component_free_datetime (&datetime);
-
-- buffer[0] = '\0';
-+ /* Reset the buffer. */
-+ g_string_truncate (buffer, 0);
-+
- if (e_cal_component_has_recurrences (comp)) {
-- write_recurrence_piece (itip, comp, buffer, 1024);
-- gtk_html_write (html, html_stream, buffer, strlen (buffer));
-+ write_recurrence_piece (itip, comp, buffer);
-+ gtk_html_write (html, html_stream, buffer->str, buffer->len);
- wrote = TRUE;
- }
-
-- buffer[0] = '\0';
-+ /* Reset the buffer. */
-+ g_string_truncate (buffer, 0);
-+
- datetime.tzid = NULL;
- e_cal_component_get_completed (comp, &datetime.value);
- if (type == E_CAL_COMPONENT_TODO && datetime.value) {
-@@ -932,20 +947,22 @@ set_date_label (EItipControl *itip, GtkH
- timezone. */
- str = g_strdup_printf ("%s:", _("Completed"));
- datetime.value->is_utc = TRUE;
-- write_label_piece (itip, &datetime, buffer, 1024, str, "
", FALSE);
-- gtk_html_write (html, html_stream, buffer, strlen (buffer));
-+ write_label_piece (itip, &datetime, buffer, str, "
", FALSE);
-+ gtk_html_write (html, html_stream, buffer->str, buffer->len);
- wrote = TRUE;
- task_completed = TRUE;
- g_free (str);
- }
- e_cal_component_free_datetime (&datetime);
-
-- buffer[0] = '\0';
-+ /* Reset the buffer. */
-+ g_string_truncate (buffer, 0);
-+
- e_cal_component_get_due (comp, &datetime);
- if (type == E_CAL_COMPONENT_TODO && !task_completed && datetime.value) {
- str = g_strdup_printf ("%s:", _("Due"));
-- write_label_piece (itip, &datetime, buffer, 1024, str, "
", FALSE);
-- gtk_html_write (html, html_stream, buffer, strlen (buffer));
-+ write_label_piece (itip, &datetime, buffer, str, "
", FALSE);
-+ gtk_html_write (html, html_stream, buffer->str, buffer->len);
- wrote = TRUE;
- g_free (str);
- }
-@@ -954,6 +971,8 @@ set_date_label (EItipControl *itip, GtkH
-
- if (wrote)
- gtk_html_stream_printf (html_stream, "
");
-+
-+ g_string_free (buffer, TRUE);
- }
-
- static void
diff --git a/bug-394641_evo-CVE-2008-1109.diff b/bug-394641_evo-CVE-2008-1109.diff
deleted file mode 100644
index 4e0626b..0000000
--- a/bug-394641_evo-CVE-2008-1109.diff
+++ /dev/null
@@ -1,62 +0,0 @@
-Index: calendar/gui/itip-utils.c
-===================================================================
---- calendar/gui/itip-utils.c (revision 35555)
-+++ calendar/gui/itip-utils.c (working copy)
-@@ -172,50 +172,16 @@ get_attendee_if_attendee_sentby_is_user
- }
-
- static char *
--html_new_lines_for (char *string)
-+html_new_lines_for (const char *string)
- {
-- char *html_string = (char *) malloc (sizeof (char)* (3500));
-- int length = strlen (string);
-- int index = 0;
-- char *index_ptr = string;
-- char *temp = string;
-+ gchar **lines;
-+ gchar *joined;
-
-- /*Find the first occurence*/
-- index_ptr = strstr ((const char *)temp, "\n");
-+ lines = g_strsplit_set (string, "\n", -1);
-+ joined = g_strjoinv ("
", lines);
-+ g_strfreev (lines);
-
-- /*Doesn't occur*/
-- if (index_ptr == NULL) {
-- strcpy (html_string, (const char *)string);
-- html_string[length] = '\0';
-- return html_string;
-- }
--
-- /*Split into chunks inserting
for \n */
-- do{
-- while (temp != index_ptr){
-- html_string[index++] = *temp;
-- temp++;
-- }
-- temp++;
--
-- html_string[index++] = '<';
-- html_string[index++] = 'b';
-- html_string[index++] = 'r';
-- html_string[index++] = '>';
--
-- index_ptr = strstr ((const char *)temp, "\n");
--
-- } while (index_ptr);
--
-- /*Don't leave out the last chunk*/
-- while (*temp != '\0'){
-- html_string[index++] = *temp;
-- temp++;
-- }
--
-- html_string[index] = '\0';
--
-- return html_string;
-+ return joined;
- }
-
- char *
diff --git a/evolution-2.22.1.1.tar.bz2 b/evolution-2.22.1.1.tar.bz2
deleted file mode 100644
index 3d6bbd6..0000000
--- a/evolution-2.22.1.1.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5c5d387a9bdd8f89f46a49bbf2b7bf63b2a117e15e2c7472fe4dc365cbb2c1f9
-size 30907929
diff --git a/evolution-2.23.4.tar.bz2 b/evolution-2.23.4.tar.bz2
new file mode 100644
index 0000000..edbd23b
--- /dev/null
+++ b/evolution-2.23.4.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:73dbf521929fe539a670627d334845e032a79286af7d5f2ccd66f2668f5bc194
+size 30953896
diff --git a/evolution-warnings.patch b/evolution-warnings.patch
deleted file mode 100644
index 6fd45a1..0000000
--- a/evolution-warnings.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-=== modified file 'calendar/gui/calendar-component.c'
-Index: calendar/gui/calendar-component.c
-===================================================================
---- calendar/gui/calendar-component.c.orig
-+++ calendar/gui/calendar-component.c
-@@ -1284,7 +1284,7 @@ create_new_event (CalendarComponent *cal
- } else {
- ECalComponent *comp;
- EventEditor *editor;
-- CompEditorFlags flags;
-+ CompEditorFlags flags = 0;
-
- flags = COMP_EDITOR_USER_ORG | COMP_EDITOR_NEW_ITEM;
- if (is_meeting)
-Index: mail/em-composer-prefs.c
-===================================================================
---- mail/em-composer-prefs.c.orig
-+++ mail/em-composer-prefs.c
-@@ -56,6 +56,7 @@
- #include
- #include
- #include
-+#include
- #include
- #include
-
-Index: mail/em-composer-utils.c
-===================================================================
---- mail/em-composer-utils.c.orig
-+++ mail/em-composer-utils.c
-@@ -55,6 +55,7 @@
- #include
- #include
- #include
-+#include
-
- #ifdef G_OS_WIN32
- /* Undef the similar macro from pthread.h, it doesn't check if
diff --git a/evolution.changes b/evolution.changes
index d853786..8339d64 100644
--- a/evolution.changes
+++ b/evolution.changes
@@ -1,3 +1,57 @@
+-------------------------------------------------------------------
+Fri Jun 20 22:03:20 CEST 2008 - maw@suse.de
+
+- Update to version 2.23.4:
+ + Quota support to IMAP/POP accounts
+ + Configurable Proxy settings for Evolution
+ + Gtk+ Recent manager integration in Composer
+ + New bonobo-less message composer
+ + Add icons for Edit->Select All, Folder->New, Folder->Delete and
+ Folder->Refresh
+ + Fix up the Debug Logs window a bit
+ + Fix include path for e-dbhash.h, now in libebackend
+ + New plugin for setting headers while sending email
+ + Python support for EPlugins
+ + Fix for security vulnerabilities CVE-2008-1108 and
+ CVE-2008-1109
+ + Bugs fixed: bgo#201011, bgo#201011, bgo#314467, bgo#330597,
+ bgo#337160, bgo#509595, bgo#535204, bgo#535791, bgo#536772,
+ bgo#536813, bgo#538002, bgo#304029, bgo#311042, bgo#317755,
+ bgo#322553, bnc#394441, bgo#463040, bgo#473198, bgo#496476,
+ bgo#514383, bgo#523402, bgo#525966, bgo#529464, bgo#529995,
+ bgo#530392, bgo#531592, bgo#531836, bgo#532384, bgo#532597,
+ bgo#533465, bgo#533820, bgo#534012, bgo#534312, bgo#534360,
+ bgo#534476, bgo#535273, bgo#535459, bgo#535670, bgo#535749,
+ bgo#240823, bgo#273041, bgo#316390, bgo#338330, bnc#358644,
+ bgo#363908, bnc#368277, bgo#382687, bgo#424744, bgo#467892,
+ bgo#511337, bgo#518103, bgo#524121, bgo#525241, bgo#528288,
+ bgo#529179, bgo#529247, bgo#529254, bgo#529375, bgo#529660,
+ bgo#529768, bgo#529855, bgo#529893, bgo#530245, bgo#530576,
+ bgo#530672, bgo#531426, bgo#531519, bgo#232594, bgo#264456,
+ bgo#270406, bgo#271863, bgo#273177, bgo#316572, bgo#328146,
+ bgo#334444, bgo#335891, bgo#346555, bgo#350308, bgo#378203,
+ bgo#404241, bgo#408579, bgo#437539, bgo#438613, bgo#451976,
+ bgo#460204, bgo#476918, bgo#482148, bgo#484793, bgo#488175,
+ bgo#496839, bgo#501885, bgo#502826, bgo#506347, bgo#506359,
+ bgo#507372, bgo#507526, bgo#509672, bgo#509923, bgo#511950,
+ bgo#511952, bgo#511953, bgo#511956, bgo#511957, bgo#511978,
+ bgo#512543, bgo#513951, bgo#514744, bgo#515786, bgo#517134,
+ bgo#517168, bgo#517492, bgo#519154, bgo#519292, bgo#519304,
+ bgo#519421, bgo#521562, bgo#522178, bgo#522631, bgo#522764,
+ bgo#523271, bgo#523402, bgo#523413, bgo#523541, bgo#524310,
+ bgo#524434, bgo#525234, bgo#525238, bgo#525508, bgo#525510,
+ bgo#525966, bgo#526152, bgo#526739, bgo#527327, bgo#528358,
+ and bgo#528817
+ + Updated translations
+- Drop the following obsolete patches: evolution-warnings.patch,
+ bnc-188523-evo-fix-authenticated-proxy-support.diff,
+ bgo-531519-print-preview-crash.patch,
+ bgo-534012-backup-permission.patch,
+ bgo-533820-fix-crash-on-border-clicking-meetings.diff,
+ bnc-394441-exchange-addbook-crash.diff,
+ bgo-395708_prefer-plain.patch, bug-394641_evo-CVE-2008-1108.diff,
+ and bug-394641_evo-CVE-2008-1109.diff.
+
-------------------------------------------------------------------
Mon Jun 2 10:43:43 CEST 2008 - abharath@suse.de
- Added
diff --git a/evolution.spec b/evolution.spec
index 74885f0..923d2c9 100644
--- a/evolution.spec
+++ b/evolution.spec
@@ -1,5 +1,5 @@
#
-# spec file for package evolution (Version 2.22.1.1)
+# spec file for package evolution (Version 2.23.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,7 +12,7 @@
Name: evolution
-BuildRequires: bison evolution-data-server-devel fdupes gnome-common gnome-doc-utils-devel gnome-icon-theme-devel gnome-pilot-devel gtk-doc gtkhtml2-devel intltool libidl libnotify libnotify-devel libpisock-devel libpisync-devel mozilla-nss-devel notification-daemon openldap2-devel perl-XML-Parser pilot-link psmisc python-devel scrollkeeper update-desktop-files
+BuildRequires: bison evolution-data-server-devel fdupes gnome-common gnome-doc-utils-devel gnome-icon-theme-devel gnome-pilot-devel gtk-doc gtkhtml2-devel intltool libidl libnotify libnotify-devel libpisock-devel libpisync-devel mozilla-nss-devel notification-daemon openldap2-devel perl-XML-Parser pilot-link psmisc python-devel scrollkeeper shared-mime-info update-desktop-files
License: GPL v2 or later
Group: Productivity/Networking/Email/Clients
Obsoletes: evoltn
@@ -20,9 +20,9 @@ Provides: evoltn
AutoReqProv: on
# This should be updated upon major version changes, and used in place of
# BASE_VERSION (as defined in configure.in).
-%define evolution_base_version 2.22
-Version: 2.22.1.1
-Release: 14
+%define evolution_base_version 2.24
+Version: 2.23.4
+Release: 1
Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite
#Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution/2.22/%{name}-%{version}.tar.bz2
Source0: %{name}-%{version}.tar.bz2
@@ -36,8 +36,6 @@ Source7: ximian-evolution-addressbook.png
Source8: ximian-evolution-calendar.png
Source9: ximian-evolution-tasks.png
Patch1: evolution-2.0.1-de-po.patch
-# PATCH-FIX-UPSTREAM evolution-warnings.patch
-Patch2: evolution-warnings.patch
# PATCH-FIX-UPSTREAM evolution-2.2.0-port-to-pilot-link-0.12.patch - Upstream has the patch already.
Patch3: evolution-2.2.0-port-to-pilot-link-0.12.patch
Patch4: evolution-desktop.patch
@@ -48,20 +46,8 @@ Patch8: fix-exchange-menuitem.diff
Patch9: fix-sendrecv.diff
# PATCH-FIX-UPSTREAM build-fixes.diff - Fixed for 2.21.91
Patch10: build-fixes.diff
-# PATCH-FIX-UPSTREAM bnc-188523-evo-fix-authenticated-proxy-support.diff msuman@suse.de
-Patch11: bnc-188523-evo-fix-authenticated-proxy-support.diff
# PATCH-FIX-UPSTREAM SVN po update
Patch12: evolution-po-update.patch
-# PATCH-FIX-UPSTREAM bgo-531519-print-preview-crash.patch bgo#531519 -- Patch is in Upstream now
-Patch13: bgo-531519-print-preview-crash.patch
-# PATCH-FIX-UPSTREAM bgo-534012-backup-permission.patch bgo#534012 bnc#386416 psankar@suse.de -- Patch is in Upstream now
-Patch14: bgo-534012-backup-permission.patch
-# PATCH-FIX-UPSTREAM bgo-533820-fix-crash-on-border-clicking-meetings.diff bgo#533820 bnc#391993 pchenthill@suse.de -- Patch is in Upstream now
-Patch15: bgo-533820-fix-crash-on-border-clicking-meetings.diff
-Patch16: bnc-394441-exchange-addbook-crash.diff
-Patch17: bgo-395708_prefer-plain.patch
-Patch18: bug-394641_evo-CVE-2008-1108.diff
-Patch19: bug-394641_evo-CVE-2008-1109.diff
Url: http://gnome.org/projects/evolution/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: yelp
@@ -283,7 +269,6 @@ Authors:
%prep
%setup -q
%patch1 -p0
-%patch2
%if %suse_version > 1000
# FIXME: somebody with time should fix this patch up and make it apply once more
# %patch3 -p1
@@ -295,15 +280,7 @@ Authors:
%patch8
%patch9
#%patch10
-%patch11
#%patch12
-%patch13
-%patch14
-%patch15
-%patch16
-%patch17
-%patch18
-%patch19
%build
autoreconf -f -i
@@ -415,6 +392,57 @@ fi
%{_libdir}/evolution/*/conduits/*.so
%changelog
+* Sat Jun 21 2008 maw@suse.de
+- Update to version 2.23.4:
+ + Quota support to IMAP/POP accounts
+ + Configurable Proxy settings for Evolution
+ + Gtk+ Recent manager integration in Composer
+ + New bonobo-less message composer
+ + Add icons for Edit->Select All, Folder->New, Folder->Delete and
+ Folder->Refresh
+ + Fix up the Debug Logs window a bit
+ + Fix include path for e-dbhash.h, now in libebackend
+ + New plugin for setting headers while sending email
+ + Python support for EPlugins
+ + Fix for security vulnerabilities CVE-2008-1108 and
+ CVE-2008-1109
+ + Bugs fixed: bgo#201011, bgo#201011, bgo#314467, bgo#330597,
+ bgo#337160, bgo#509595, bgo#535204, bgo#535791, bgo#536772,
+ bgo#536813, bgo#538002, bgo#304029, bgo#311042, bgo#317755,
+ bgo#322553, bnc#394441, bgo#463040, bgo#473198, bgo#496476,
+ bgo#514383, bgo#523402, bgo#525966, bgo#529464, bgo#529995,
+ bgo#530392, bgo#531592, bgo#531836, bgo#532384, bgo#532597,
+ bgo#533465, bgo#533820, bgo#534012, bgo#534312, bgo#534360,
+ bgo#534476, bgo#535273, bgo#535459, bgo#535670, bgo#535749,
+ bgo#240823, bgo#273041, bgo#316390, bgo#338330, bnc#358644,
+ bgo#363908, bnc#368277, bgo#382687, bgo#424744, bgo#467892,
+ bgo#511337, bgo#518103, bgo#524121, bgo#525241, bgo#528288,
+ bgo#529179, bgo#529247, bgo#529254, bgo#529375, bgo#529660,
+ bgo#529768, bgo#529855, bgo#529893, bgo#530245, bgo#530576,
+ bgo#530672, bgo#531426, bgo#531519, bgo#232594, bgo#264456,
+ bgo#270406, bgo#271863, bgo#273177, bgo#316572, bgo#328146,
+ bgo#334444, bgo#335891, bgo#346555, bgo#350308, bgo#378203,
+ bgo#404241, bgo#408579, bgo#437539, bgo#438613, bgo#451976,
+ bgo#460204, bgo#476918, bgo#482148, bgo#484793, bgo#488175,
+ bgo#496839, bgo#501885, bgo#502826, bgo#506347, bgo#506359,
+ bgo#507372, bgo#507526, bgo#509672, bgo#509923, bgo#511950,
+ bgo#511952, bgo#511953, bgo#511956, bgo#511957, bgo#511978,
+ bgo#512543, bgo#513951, bgo#514744, bgo#515786, bgo#517134,
+ bgo#517168, bgo#517492, bgo#519154, bgo#519292, bgo#519304,
+ bgo#519421, bgo#521562, bgo#522178, bgo#522631, bgo#522764,
+ bgo#523271, bgo#523402, bgo#523413, bgo#523541, bgo#524310,
+ bgo#524434, bgo#525234, bgo#525238, bgo#525508, bgo#525510,
+ bgo#525966, bgo#526152, bgo#526739, bgo#527327, bgo#528358,
+ and bgo#528817
+ + Updated translations
+- Drop the following obsolete patches: evolution-warnings.patch,
+ bnc-188523-evo-fix-authenticated-proxy-support.diff,
+ bgo-531519-print-preview-crash.patch,
+ bgo-534012-backup-permission.patch,
+ bgo-533820-fix-crash-on-border-clicking-meetings.diff,
+ bnc-394441-exchange-addbook-crash.diff,
+ bgo-395708_prefer-plain.patch, bug-394641_evo-CVE-2008-1108.diff,
+ and bug-394641_evo-CVE-2008-1109.diff.
* Mon Jun 02 2008 abharath@suse.de
- Added
- bnc#394641 - VUL-0: evolution buffer overflows