From 776dd5bf6e9dce000a21a5d1708a2dae2277d50f1e6a33aa196ca1b8cddf1dad Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Thu, 10 Apr 2008 09:21:18 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/evolution?expand=0&rev=32 --- ...3-evo-fix-authenticated-proxy-support.diff | 1773 +++++++++++++++++ evolution.changes | 6 + evolution.spec | 31 +- 3 files changed, 1798 insertions(+), 12 deletions(-) create mode 100644 bnc-188523-evo-fix-authenticated-proxy-support.diff diff --git a/bnc-188523-evo-fix-authenticated-proxy-support.diff b/bnc-188523-evo-fix-authenticated-proxy-support.diff new file mode 100644 index 0000000..89cfbfa --- /dev/null +++ b/bnc-188523-evo-fix-authenticated-proxy-support.diff @@ -0,0 +1,1773 @@ +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/evolution.changes b/evolution.changes index c9aa0f8..92b3fb5 100644 --- a/evolution.changes +++ b/evolution.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Apr 9 11:34:40 CEST 2008 - msuman@suse.de + +- Configurable proxy settings for Evolution (Varadhan) + + Added patch: bnc-188523-evo-fix-authenticated-proxy-support.diff (bnc#188523) + ------------------------------------------------------------------- Fri Mar 14 04:43:36 CET 2008 - maw@suse.de diff --git a/evolution.spec b/evolution.spec index 3775b02..9e5810e 100644 --- a/evolution.spec +++ b/evolution.spec @@ -22,7 +22,7 @@ AutoReqProv: on # BASE_VERSION (as defined in configure.in). %define evolution_base_version 2.22 Version: 2.22.0 -Release: 1 +Release: 15 Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite #Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution/2.10/%{name}-%{version}.tar.bz2 Source0: %{name}-%{version}.tar.bz2 @@ -59,7 +59,8 @@ Patch90: fix-security-gtkhtml-moreui.diff # PATCH-FIX-UPSTREAM evo-2.8.2-regression-fix.patch -- Fix in 2.21.91 Patch92: evo-2.8.2-regression-fix.patch # #PATCH-FIX-UPSTREAM build-fixes.diff - Fixed for 2.21.91 -Patch999: build-fixes.diff +Patch93: build-fixes.diff +Patch94: bnc-188523-evo-fix-authenticated-proxy-support.diff Url: http://gnome.org/projects/evolution/ BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: yelp @@ -164,6 +165,7 @@ Authors: Chris Toshok %package devel +License: GPL v2 or later Summary: Include Files and Libraries mandatory for Development. Group: Development/Libraries/C and C++ Requires: evolution = %{?epoch:}%{version}-%{release} @@ -178,6 +180,7 @@ to develop applications that require these. %package pilot +License: GNU Free Documentation License, Version 1.1 (GFDL 1.1); GPL v2 or later; LGPL v2.1 or later; X11/MIT Summary: The Integrated GNOME Mail, Calendar, and Addressbook Suite Group: Productivity/Networking/Email/Clients Requires: evolution = %{?epoch:}%{version}-%{release} @@ -291,7 +294,8 @@ Authors: %patch45 %patch65 %patch66 -%patch999 +%patch93 +%patch94 %build autoreconf -f -i @@ -403,6 +407,9 @@ fi %{_libdir}/evolution/*/conduits/*.so %changelog +* Wed Apr 09 2008 msuman@suse.de +- Configurable proxy settings for Evolution (Varadhan) + + Added patch: bnc-188523-evo-fix-authenticated-proxy-support.diff (bnc#188523) * Fri Mar 14 2008 maw@suse.de - Update to version 2.22.0: + Bigs fixed: bnc#282466, bgo#351672m and bgo#520745 @@ -582,7 +589,7 @@ fi * Tue Aug 21 2007 sbrabec@suse.cz - Fixed crash on appointments with no no SENTBY parameter (#301835, patch from Suman Manjunath). -* Fri Aug 17 2007 jberkman@novell.com +* Sat Aug 18 2007 jberkman@novell.com - fix infinite recursion when used with smartcard auth patches * Mon Aug 06 2007 maw@suse.de - Split off a -lang subpackage. @@ -1010,14 +1017,14 @@ fi 168697 - Fixes a alarm crash (Srini) 171592 - Fixes a alarm crash (Srini) 170076 - Fixes a wrong mime lookup for a attachment (Srini) -* Tue May 02 2006 fejj@suse.de +* Wed May 03 2006 fejj@suse.de - Added bnc-167638.patch: Fixes the long Evolution quit times when the user tries to close Evolution when it is in the middle of syncing stuff to an IMAP/GW server. * Tue May 02 2006 pchenthill@novell.com - Update the patch bnc-158107-no-notification-canceled-mtgs.patch Fixes https://bugzilla.novell.com/show_bug.cgi?id=171531 -* Wed Apr 26 2006 dobey@suse.de +* Thu Apr 27 2006 dobey@suse.de - Update trach icon patch to deal with more instances Fixes https://bugzilla.novell.com/show_bug.cgi?id=160837 * Mon Apr 24 2006 sragavan@novell.com @@ -1439,15 +1446,15 @@ fi - Updated to version 1.5.92.1 - Add patch for more 64bit cleanliness issues - Add dependencies for spamassassin and other evo packages -* Wed Jul 28 2004 dobey@suse.de +* Thu Jul 29 2004 dobey@suse.de - Updated to version 1.5.91 * Fri Jul 16 2004 clahey@suse.de - Updated about box. -* Tue Jul 13 2004 clahey@suse.de +* Wed Jul 14 2004 clahey@suse.de - Updated to version 1.5.90. * Mon Jun 21 2004 clahey@suse.de - Updated to version 1.5.9.2. Added spamassassin. -* Fri Jun 11 2004 clahey@suse.de +* Sat Jun 12 2004 clahey@suse.de - Added rpath stuff for mozilla. * Thu Jun 10 2004 clahey@suse.de - Fixed a non-void warning. @@ -1459,7 +1466,7 @@ fi - Enabled default binary at configure time, this means evolution binary will be named 'evolution' instead of 'evolution-1.5'. -* Tue May 25 2004 mibarra@suse.de +* Wed May 26 2004 mibarra@suse.de - Fixed some 64bits compiler warnings. * Sat May 22 2004 mibarra@suse.de - Updated to 1.5.8. @@ -1499,7 +1506,7 @@ fi - Fix use of build root. * Mon Sep 22 2003 sbrabec@suse.cz - Obsolete bonobo-conf. -* Sun Sep 14 2003 adrian@suse.de +* Mon Sep 15 2003 adrian@suse.de - Add Email Category * Tue Sep 09 2003 sbrabec@suse.cz - Fixed default charset bug (bug #29851, Ximian bug #47638). @@ -1663,7 +1670,7 @@ fi * Fri Sep 22 2000 egger@suse.de - Use BuildRoot. - Buildproofed on i386. -* Tue Sep 19 2000 egger@suse.de +* Wed Sep 20 2000 egger@suse.de - First compilable version of it using version 0.5.1 - Buildproofed on i386. * Fri Sep 01 2000 egger@suse.de