- Modify patch for GNOME bug #376991 to fix RH bug #231994.

- Add patch for GNOME bug #419999 (avoid deprecated GTK+ symbols).
- Remove evolution-data-server-1.0.2-workaround-cal-backend-leak.patch.
- Remove evolution-data-server-1.2.2-fix_open_calendar_declaration.patch.
- Remove evolution-data-server-1.3.8-fix-implicit-function-declarations.
This commit is contained in:
Matthew Barnes 2007-03-15 00:56:56 +00:00
parent 83418fe8b7
commit 3b4059feca
3 changed files with 1214 additions and 85 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
--- evolution-data-server-1.9.92/libedataserverui/e-passwords.h.e-passwords 2007-01-03 09:56:25.000000000 -0500 --- evolution-data-server-1.10.0/libedataserverui/e-passwords.h.e-passwords 2007-01-03 05:09:27.000000000 -0500
+++ evolution-data-server-1.9.92/libedataserverui/e-passwords.h 2007-03-08 16:47:27.000000000 -0500 +++ evolution-data-server-1.10.0/libedataserverui/e-passwords.h 2007-03-14 18:05:55.000000000 -0400
@@ -28,45 +28,65 @@ @@ -28,45 +28,65 @@
G_BEGIN_DECLS G_BEGIN_DECLS
@ -97,8 +97,8 @@
G_END_DECLS G_END_DECLS
--- evolution-data-server-1.9.92/libedataserverui/e-passwords.c.e-passwords 2007-02-09 13:49:32.000000000 -0500 --- evolution-data-server-1.10.0/libedataserverui/e-passwords.c.e-passwords 2007-02-09 03:38:09.000000000 -0500
+++ evolution-data-server-1.9.92/libedataserverui/e-passwords.c 2007-03-08 16:47:27.000000000 -0500 +++ evolution-data-server-1.10.0/libedataserverui/e-passwords.c 2007-03-14 20:27:01.000000000 -0400
@@ -23,18 +23,29 @@ @@ -23,18 +23,29 @@
*/ */
@ -139,7 +139,7 @@
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
@@ -42,159 +53,372 @@ @@ -42,159 +53,384 @@
#endif #endif
#include <string.h> #include <string.h>
@ -467,18 +467,30 @@
+ep_msg_send (EPassMsg *msg) +ep_msg_send (EPassMsg *msg)
{ {
- int needidle = 0; - int needidle = 0;
+ GMainContext *context;
+
+ context = g_main_context_default ();
+
+ /* Expedite flag requires a key. */ + /* Expedite flag requires a key. */
+ g_assert (!msg->expedite || msg->key != NULL); + g_assert (!msg->expedite || msg->key != NULL);
+
+ if (!(msg->expedite && ep_msg_expedite (msg)))
+ g_thread_pool_push (dispatcher, msg, NULL);
- LOCK(); - LOCK();
- e_dlist_addtail(&request_list, (EDListNode *)&msg->msg); - e_dlist_addtail(&request_list, (EDListNode *)&msg->msg);
- if (!idle_id) { - if (!idle_id) {
- if (!msg->ismain) - if (!msg->ismain)
- idle_id = g_idle_add(ep_idle_dispatch, NULL); - idle_id = g_idle_add(ep_idle_dispatch, NULL);
+ if (!(msg->expedite && ep_msg_expedite (msg))) + g_debug ("%s: in main thread? %d", G_STRFUNC,
+ g_thread_pool_push (dispatcher, msg, NULL); + g_main_context_is_owner (context));
+ +
+ e_flag_wait (msg->done); + /* Don't block the main loop. */
+ if (g_main_context_is_owner (context))
+ while (!e_flag_is_set (msg->done))
+ g_main_context_iteration (context, TRUE);
+ else
+ e_flag_wait (msg->done);
+} +}
+ +
+static void +static void
@ -614,7 +626,7 @@
{ {
GnomeKeyringAttributeList *attributes; GnomeKeyringAttributeList *attributes;
GnomeKeyringAttribute attribute; GnomeKeyringAttribute attribute;
@@ -205,11 +429,8 @@ @@ -205,11 +441,8 @@
result = gnome_keyring_get_default_keyring_sync (&default_keyring); result = gnome_keyring_get_default_keyring_sync (&default_keyring);
if (!default_keyring) { if (!default_keyring) {
@ -628,7 +640,7 @@
default_keyring = g_strdup ("default"); default_keyring = g_strdup ("default");
} }
@@ -239,38 +460,44 @@ @@ -239,38 +472,44 @@
} }
g_free (default_keyring); g_free (default_keyring);
@ -642,15 +654,15 @@
+ep_clear_passwords_keyfile (EPassMsg *msg) +ep_clear_passwords_keyfile (EPassMsg *msg)
{ {
- char *path; - char *path;
-
- path = g_strdup_printf ("/Evolution/Passwords-%s", msg->component);
+ gchar *group; + gchar *group;
+ GError *error = NULL; + GError *error = NULL;
- gnome_config_private_clean_section (path); - path = g_strdup_printf ("/Evolution/Passwords-%s", msg->component);
- gnome_config_private_sync_file ("/Evolution");
+ group = ep_key_file_get_group (msg->component); + group = ep_key_file_get_group (msg->component);
- gnome_config_private_clean_section (path);
- gnome_config_private_sync_file ("/Evolution");
-
- g_free (path); - g_free (path);
+ g_key_file_remove_group (key_file, group, &error); + g_key_file_remove_group (key_file, group, &error);
+ if (error == NULL) + if (error == NULL)
@ -691,7 +703,7 @@
{ {
GnomeKeyringAttributeList *attributes; GnomeKeyringAttributeList *attributes;
GnomeKeyringAttribute attribute; GnomeKeyringAttribute attribute;
@@ -281,11 +508,8 @@ @@ -281,11 +520,8 @@
result = gnome_keyring_get_default_keyring_sync (&default_keyring); result = gnome_keyring_get_default_keyring_sync (&default_keyring);
if (!default_keyring) { if (!default_keyring) {
@ -705,7 +717,7 @@
default_keyring = g_strdup ("default"); default_keyring = g_strdup ("default");
} }
d(g_print("Get Default %d\n", result)); d(g_print("Get Default %d\n", result));
@@ -316,69 +540,54 @@ @@ -316,69 +552,54 @@
g_free (default_keyring); g_free (default_keyring);
/* free up the session passwords */ /* free up the session passwords */
@ -802,7 +814,7 @@
guint32 item_id; guint32 item_id;
if (!strcmp (uri->protocol, "ldap") && !uri->user) { if (!strcmp (uri->protocol, "ldap") && !uri->user) {
@@ -419,48 +628,48 @@ @@ -419,48 +640,48 @@
d(g_print("Remember %s: %d/%d\n", msg->key, result, item_id)); d(g_print("Remember %s: %d/%d\n", msg->key, result, item_id));
/* now remove it from our session hash */ /* now remove it from our session hash */
@ -826,16 +838,11 @@
- gpointer okey, value; - gpointer okey, value;
- char *path, *pass64; - char *path, *pass64;
- int len, state, save; - int len, state, save;
+ gchar *group, *key, *password; -
- if (g_hash_table_lookup_extended (passwords, msg->key, &okey, &value)) { - if (g_hash_table_lookup_extended (passwords, msg->key, &okey, &value)) {
- /* add it to the on-disk cache of passwords */ - /* add it to the on-disk cache of passwords */
- path = password_path (msg->component, okey); - path = password_path (msg->component, okey);
+ password = g_hash_table_lookup (password_cache, msg->key); + gchar *group, *key, *password;
+ if (password == NULL) {
+ g_warning ("Password for key \"%s\" not found", msg->key);
+ return;
+ }
- len = strlen (value); - len = strlen (value);
- pass64 = g_malloc0 ((len + 2) * 4 / 3 + 1); - pass64 = g_malloc0 ((len + 2) * 4 / 3 + 1);
@ -845,6 +852,16 @@
- gnome_config_private_set_string (path, pass64); - gnome_config_private_set_string (path, pass64);
- g_free (path); - g_free (path);
- g_free (pass64); - g_free (pass64);
+ password = g_hash_table_lookup (password_cache, msg->key);
+ if (password == NULL) {
+ g_warning ("Password for key \"%s\" not found", msg->key);
+ return;
+ }
- /* now remove it from our session hash */
- g_hash_table_remove (passwords, msg->key);
- g_free (okey);
- g_free (value);
+ group = ep_key_file_get_group (msg->component); + group = ep_key_file_get_group (msg->component);
+ key = ep_key_file_normalize_key (msg->key); + key = ep_key_file_normalize_key (msg->key);
+ password = ep_password_encode (password); + password = ep_password_encode (password);
@ -853,11 +870,6 @@
+ g_key_file_set_string (key_file, group, key, password); + g_key_file_set_string (key_file, group, key, password);
+ ep_key_file_save (); + ep_key_file_save ();
- /* now remove it from our session hash */
- g_hash_table_remove (passwords, msg->key);
- g_free (okey);
- g_free (value);
-
- gnome_config_private_sync_file ("/Evolution"); - gnome_config_private_sync_file ("/Evolution");
- } - }
+ g_free (group); + g_free (group);
@ -881,7 +893,7 @@
} }
#if WITH_GNOME_KEYRING #if WITH_GNOME_KEYRING
@@ -472,7 +681,6 @@ @@ -472,7 +693,6 @@
GnomeKeyringResult result; GnomeKeyringResult result;
GList *matches = NULL, *tmp; GList *matches = NULL, *tmp;
char *default_keyring = NULL; char *default_keyring = NULL;
@ -889,7 +901,7 @@
EUri *uri = e_uri_new (msg->key); EUri *uri = e_uri_new (msg->key);
if (!strcmp (uri->protocol, "ldap") && !uri->user) { if (!strcmp (uri->protocol, "ldap") && !uri->user) {
@@ -486,27 +694,17 @@ @@ -486,27 +706,17 @@
uri->user = keycopy; uri->user = keycopy;
} }
@ -920,7 +932,7 @@
default_keyring = g_strdup ("default"); default_keyring = g_strdup ("default");
} }
@@ -567,35 +765,44 @@ @@ -567,35 +777,44 @@
} }
g_free (default_keyring); g_free (default_keyring);
@ -938,14 +950,14 @@
- char *path; - char *path;
+ gchar *group, *key; + gchar *group, *key;
+ GError *error = NULL; + GError *error = NULL;
+
+ g_hash_table_remove (password_cache, msg->key);
- if (g_hash_table_lookup_extended (passwords, msg->key, &okey, &value)) { - if (g_hash_table_lookup_extended (passwords, msg->key, &okey, &value)) {
- g_hash_table_remove (passwords, msg->key); - g_hash_table_remove (passwords, msg->key);
- memset (value, 0, strlen (value)); - memset (value, 0, strlen (value));
- g_free (okey); - g_free (okey);
- g_free (value); - g_free (value);
+ g_hash_table_remove (password_cache, msg->key);
+
+ group = ep_key_file_get_group (msg->component); + group = ep_key_file_get_group (msg->component);
+ key = ep_key_file_normalize_key (msg->key); + key = ep_key_file_normalize_key (msg->key);
+ +
@ -984,7 +996,7 @@
#if WITH_GNOME_KEYRING #if WITH_GNOME_KEYRING
static void static void
@@ -605,11 +812,11 @@ @@ -605,11 +824,11 @@
GnomeKeyringAttributeList *attributes; GnomeKeyringAttributeList *attributes;
GnomeKeyringAttribute attribute; GnomeKeyringAttribute attribute;
GnomeKeyringResult result; GnomeKeyringResult result;
@ -999,7 +1011,7 @@
} else { } else {
EUri *uri = e_uri_new (msg->key); EUri *uri = e_uri_new (msg->key);
@@ -683,287 +890,154 @@ @@ -683,287 +902,154 @@
} }
} }
@ -1377,7 +1389,7 @@
* *
* Set the offline-state of the application. This is a work-around * Set the offline-state of the application. This is a work-around
* for having the backends fully offline aware, and returns a * for having the backends fully offline aware, and returns a
@@ -972,10 +1046,11 @@ @@ -972,10 +1058,11 @@
* FIXME: This is not a permanent api, review post 2.0. * FIXME: This is not a permanent api, review post 2.0.
**/ **/
void void
@ -1392,7 +1404,7 @@
} }
/** /**
@@ -986,150 +1061,137 @@ @@ -986,150 +1073,137 @@
void void
e_passwords_forget_passwords (void) e_passwords_forget_passwords (void)
{ {
@ -1428,12 +1440,12 @@
- EPassMsg *msg = ep_msg_new(ep_clear_passwords_file); - EPassMsg *msg = ep_msg_new(ep_clear_passwords_file);
-#endif -#endif
+ EPassMsg *msg; + EPassMsg *msg;
+
+ g_return_if_fail (component != NULL);
- msg->component = component_name; - msg->component = component_name;
- ep_msg_send(msg); - ep_msg_send(msg);
- ep_msg_free(msg); - ep_msg_free(msg);
+ g_return_if_fail (component != NULL);
+
+ msg = ep_msg_new (ep_clear_passwords, FALSE); + msg = ep_msg_new (ep_clear_passwords, FALSE);
+ msg->component = component; + msg->component = component;
+ +
@ -1523,33 +1535,33 @@
{ {
EPassMsg *msg; EPassMsg *msg;
- char *passwd; - char *passwd;
- + char *password;
- g_return_val_if_fail(component_name != NULL, NULL); - g_return_val_if_fail(component_name != NULL, NULL);
- g_return_val_if_fail(key != NULL, NULL); - g_return_val_if_fail(key != NULL, NULL);
+ char *password; + g_return_val_if_fail (component != NULL, NULL);
+ g_return_val_if_fail (key != NULL, NULL);
-#if WITH_GNOME_KEYRING -#if WITH_GNOME_KEYRING
- msg = ep_msg_new(gnome_keyring_is_available() ? ep_get_password_keyring : ep_get_password_file); - msg = ep_msg_new(gnome_keyring_is_available() ? ep_get_password_keyring : ep_get_password_file);
-#else -#else
- msg = ep_msg_new(ep_get_password_file); - msg = ep_msg_new(ep_get_password_file);
-#endif -#endif
+ g_return_val_if_fail (component != NULL, NULL); -
+ g_return_val_if_fail (key != NULL, NULL);
- msg->component = component_name; - msg->component = component_name;
+ msg = ep_msg_new (ep_get_password, TRUE); + msg = ep_msg_new (ep_get_password, TRUE);
+ msg->component = component; + msg->component = component;
msg->key = key; msg->key = key;
- ep_msg_send(msg); - ep_msg_send(msg);
-
- passwd = msg->password;
- msg->password = NULL;
- ep_msg_free(msg);
+ ep_msg_send (msg); + ep_msg_send (msg);
+ password = msg->password; + password = msg->password;
+ ep_msg_free (msg); + ep_msg_free (msg);
- passwd = msg->password;
- msg->password = NULL;
- ep_msg_free(msg);
-
- return passwd; - return passwd;
+ return password; + return password;
} }
@ -1596,7 +1608,7 @@
* @key: key to store the password under * @key: key to store the password under
* @prompt: prompt string * @prompt: prompt string
* @secret: whether or not the password text should be ***ed out * @secret: whether or not the password text should be ***ed out
@@ -1146,241 +1208,45 @@ @@ -1146,241 +1220,45 @@
* return value is non-%NULL and @remember_type is not * return value is non-%NULL and @remember_type is not
* E_PASSWORDS_DO_NOT_REMEMBER. * E_PASSWORDS_DO_NOT_REMEMBER.
**/ **/
@ -1867,8 +1879,8 @@
- return (char *)plain; - return (char *)plain;
+ return password; + return password;
} }
--- evolution-data-server-1.9.92/libedataserver/e-msgport.h.e-passwords 2007-02-26 01:52:22.000000000 -0500 --- evolution-data-server-1.10.0/libedataserver/e-msgport.h.e-passwords 2007-02-26 04:52:17.000000000 -0500
+++ evolution-data-server-1.9.92/libedataserver/e-msgport.h 2007-03-08 16:47:27.000000000 -0500 +++ evolution-data-server-1.10.0/libedataserver/e-msgport.h 2007-03-14 18:05:55.000000000 -0400
@@ -54,7 +54,7 @@ @@ -54,7 +54,7 @@
/* header for any message */ /* header for any message */

View File

@ -26,7 +26,7 @@
Name: evolution-data-server Name: evolution-data-server
Version: 1.10.0 Version: 1.10.0
Release: 1%{?dist} Release: 2%{?dist}
License: LGPL License: LGPL
Group: System Environment/Libraries Group: System Environment/Libraries
Summary: Backend data server for Evolution Summary: Backend data server for Evolution
@ -36,47 +36,47 @@ Source: %{name}-%{version}.tar.bz2
### Patches ### ### Patches ###
Patch10: evolution-data-server-1.0.2-workaround-cal-backend-leak.patch Patch10: evolution-1.4.4-ldap-x86_64-hack.patch
Patch11: evolution-1.4.4-ldap-x86_64-hack.patch
Patch12: evolution-data-server-1.2.2-fix_open_calendar_declaration.patch
Patch13: evolution-data-server-1.3.8-fix-implicit-function-declarations
# Remove gnome-common macros from configure.in. # Remove gnome-common macros from configure.in.
# We do not ship gnome-common (or at least we're not supposed to). # We do not ship gnome-common (or at least we're not supposed to).
Patch14: evolution-data-server-1.8.0-no-gnome-common.patch Patch11: evolution-data-server-1.8.0-no-gnome-common.patch
# RH bug #202309 # RH bug #202309
Patch15: evolution-data-server-1.7.91-maybe-fix-crash.patch Patch12: evolution-data-server-1.7.91-maybe-fix-crash.patch
# RH bug #203915 # RH bug #203915
Patch17: evolution-data-server-1.8.0-fix-camel-malloc.patch Patch13: evolution-data-server-1.8.0-fix-camel-malloc.patch
# GNOME bug #360240 # GNOME bug #360240
Patch18: evolution-data-server-1.8.1-warn-unused-variable.patch Patch14: evolution-data-server-1.8.1-warn-unused-variable.patch
# GNOME bug #360619 # GNOME bug #360619
Patch19: evolution-data-server-1.8.1-warn-incompatible-pointer-type.patch Patch15: evolution-data-server-1.8.1-warn-incompatible-pointer-type.patch
# GNOME bug #363965 # GNOME bug #363965
Patch20: evolution-data-server-1.9.1-kill-ememory.patch Patch16: evolution-data-server-1.9.1-kill-ememory.patch
# RH bug #203058 # RH bug #203058
Patch21: evolution-data-server-1.9.2-fix-name-selector-dialog.patch Patch17: evolution-data-server-1.9.2-fix-name-selector-dialog.patch
# RH bug #210142 # RH bug #210142
Patch22: evolution-data-server-1.9.2-strftime.patch Patch18: evolution-data-server-1.9.2-strftime.patch
# GNOME bug #373117 # GNOME bug #373117
Patch23: evolution-data-server-1.9.3-e-source-color.patch Patch19: evolution-data-server-1.9.3-e-source-color.patch
# GNOME bug #415891 # GNOME bug #415891
Patch24: evolution-data-server-1.9.92-e-flag.patch Patch20: evolution-data-server-1.9.92-e-flag.patch
# GNOME bug #376991 # GNOME bug #376991
Patch25: evolution-data-server-1.9.92-e-passwords.patch Patch21: evolution-data-server-1.9.92-e-passwords.patch
# GNOME bug #415922 # GNOME bug #415922
Patch26: evolution-data-server-1.9.92-isa-support.patch Patch22: evolution-data-server-1.9.92-isa-support.patch
# GNOME bug #417999
Patch23: evolution-data-server-1.10.0-code-cleanup.patch
### Dependencies ### ### Dependencies ###
@ -156,22 +156,20 @@ evolution-data-server.
%prep %prep
%setup -q %setup -q
%patch10 -p1 -b .workaround-cal-backend-leak %patch10 -p1 -b .ldaphack
%patch11 -p1 -b .ldaphack %patch11 -p1 -b .no-gnome-common
%patch12 -p1 -b .fix_open_calendar_declaration %patch12 -p1 -b .maybe-fix-crash
%patch13 -p1 -b .fix-implicit-function-declarations %patch13 -p1 -b .fix-camel-malloc
%patch14 -p1 -b .no-gnome-common %patch14 -p1 -b .warn-unused-variable
%patch15 -p1 -b .maybe-fix-crash %patch15 -p1 -b .warn-incompatible-pointer-type
%patch17 -p1 -b .fix-camel-malloc %patch16 -p1 -b .kill-ememory
%patch18 -p1 -b .warn-unused-variable %patch17 -p1 -b .fix-name-selector-dialog
%patch19 -p1 -b .warn-incompatible-pointer-type %patch18 -p1 -b .strftime
%patch20 -p1 -b .kill-ememory %patch19 -p1 -b .e-source-color
%patch21 -p1 -b .fix-name-selector-dialog %patch20 -p1 -b .e-flag
%patch22 -p1 -b .strftime %patch21 -p1 -b .e-passwords
%patch23 -p1 -b .e-source-color %patch22 -p1 -b .isa-support
%patch24 -p1 -b .e-flag %patch23 -p1 -b .code-cleanup
%patch25 -p1 -b .e-passwords
%patch26 -p1 -b .isa-support
mkdir -p krb5-fakeprefix/include mkdir -p krb5-fakeprefix/include
mkdir -p krb5-fakeprefix/lib mkdir -p krb5-fakeprefix/lib
@ -380,6 +378,13 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/libexchange-storage-%{eds_api_version}.pc %{_libdir}/pkgconfig/libexchange-storage-%{eds_api_version}.pc
%changelog %changelog
* Wed Mar 14 2007 Matthew Barnes <mbarnes@redhat.com> - 1.10.0-2.fc7
- Modify patch for GNOME bug #376991 to fix RH bug #231994.
- Add patch for GNOME bug #419999 (avoid deprecated GTK+ symbols).
- Remove evolution-data-server-1.0.2-workaround-cal-backend-leak.patch.
- Remove evolution-data-server-1.2.2-fix_open_calendar_declaration.patch.
- Remove evolution-data-server-1.3.8-fix-implicit-function-declarations.
* Mon Mar 12 2007 Matthew Barnes <mbarnes@redhat.com> - 1.10.0-1.fc7 * Mon Mar 12 2007 Matthew Barnes <mbarnes@redhat.com> - 1.10.0-1.fc7
- Update to 1.10.0 - Update to 1.10.0
- Remove patch for GNOME bug #301363 (fixed upstream). - Remove patch for GNOME bug #301363 (fixed upstream).