- Porting a couple patches over from RHEL5:

- Add patch for RH bug #212106 (address book error on fresh install).
- Add patch for RH bug #215702 (bad search filter for LDAP address books).
This commit is contained in:
Matthew Barnes 2007-10-19 16:59:47 +00:00
parent 632ead38c1
commit 66f62690bd
3 changed files with 150 additions and 9 deletions

View File

@ -0,0 +1,56 @@
diff -up evolution-data-server-1.12.1/addressbook/backends/file/e-book-backend-file.c.db4 evolution-data-server-1.12.1/addressbook/backends/file/e-book-backend-file.c
--- evolution-data-server-1.12.1/addressbook/backends/file/e-book-backend-file.c.db4 2007-10-12 02:29:47.000000000 -0400
+++ evolution-data-server-1.12.1/addressbook/backends/file/e-book-backend-file.c 2007-10-19 11:56:03.000000000 -0400
@@ -1137,23 +1137,30 @@ e_book_backend_file_load_source (EBookBa
return db_error_to_status (db_error);
}
+ db->close (db, 0);
+ db_error = db_create (&db, env, 0);
+ if (db_error != 0) {
+ g_warning ("db_create failed with %s", db_strerror (db_error));
+ g_free (dirname);
+ g_free (filename);
+ return db_error_to_status (db_error);
+ }
+
db_error = (*db->open) (db, NULL, filename, NULL, DB_HASH, DB_THREAD, 0666);
}
- bf->priv->file_db = db;
-
if (db_error == 0) {
writable = TRUE;
} else {
db->close (db, 0);
-
db_error = db_create (&db, env, 0);
if (db_error != 0) {
g_warning ("db_create failed with %s", db_strerror (db_error));
g_free (dirname);
g_free (filename);
- return GNOME_Evolution_Addressbook_OtherError;
+ return db_error_to_status (db_error);
}
+
db_error = (*db->open) (db, NULL, filename, NULL, DB_HASH, DB_RDONLY | DB_THREAD, 0666);
if (db_error != 0 && !only_if_exists) {
@@ -1178,7 +1185,7 @@ e_book_backend_file_load_source (EBookBa
g_warning ("db_create failed with %s", db_strerror (db_error));
g_free (dirname);
g_free (filename);
- return GNOME_Evolution_Addressbook_OtherError;
+ return db_error_to_status (db_error);
}
db_error = (*db->open) (db, NULL, filename, NULL, DB_HASH, DB_CREATE | DB_THREAD, 0666);
@@ -1201,6 +1208,8 @@ e_book_backend_file_load_source (EBookBa
}
}
+ bf->priv->file_db = db;
+
if (db_error != 0) {
bf->priv->file_db = NULL;
g_free (dirname);

View File

@ -0,0 +1,72 @@
--- evolution-data-server-1.8.0/addressbook/backends/ldap/e-book-backend-ldap.c.fix-ldap-query 2006-09-02 02:36:49.000000000 -0400
+++ evolution-data-server-1.8.0/addressbook/backends/ldap/e-book-backend-ldap.c 2007-07-02 14:21:14.000000000 -0400
@@ -3209,22 +3209,28 @@
char ** strings;
if (argc > 0) {
- int i;
+ int i, empty;
strings = g_new0(char*, argc+3);
strings[0] = g_strdup ("(&");
strings[argc+3 - 2] = g_strdup (")");
+ empty = 0;
for (i = 0; i < argc; i ++) {
GList *list_head = ldap_data->list;
if (!list_head)
break;
+ if (strlen (list_head->data) == 0)
+ empty++;
strings[argc - i] = list_head->data;
ldap_data->list = g_list_remove_link(list_head, list_head);
g_list_free_1(list_head);
}
- ldap_data->list = g_list_prepend(ldap_data->list, g_strjoinv(" ", strings));
+ if (empty == argc)
+ ldap_data->list = g_list_prepend(ldap_data->list, g_strdup(" "));
+ else
+ ldap_data->list = g_list_prepend(ldap_data->list, g_strjoinv(" ", strings));
for (i = 0 ; i < argc + 2; i ++)
g_free (strings[i]);
@@ -3246,22 +3252,28 @@
char ** strings;
if (argc > 0) {
- int i;
+ int i, empty;
strings = g_new0(char*, argc+3);
strings[0] = g_strdup ("(|");
strings[argc+3 - 2] = g_strdup (")");
+ empty = 0;
for (i = 0; i < argc; i ++) {
GList *list_head = ldap_data->list;
if (!list_head)
break;
+ if (strlen (list_head->data) == 0)
+ empty++;
strings[argc - i] = list_head->data;
ldap_data->list = g_list_remove_link(list_head, list_head);
g_list_free_1(list_head);
}
- ldap_data->list = g_list_prepend(ldap_data->list, g_strjoinv(" ", strings));
+ if (empty == argc)
+ ldap_data->list = g_list_prepend(ldap_data->list, g_strdup(" "));
+ else
+ ldap_data->list = g_list_prepend(ldap_data->list, g_strjoinv(" ", strings));
for (i = 0 ; i < argc + 2; i ++)
g_free (strings[i]);
@@ -3410,6 +3422,7 @@
char *ldap_attr = query_prop_to_ldap(propname);
if (strlen (str) == 0) {
+ ldap_data->list = g_list_prepend(ldap_data->list, g_strdup (""));
r = e_sexp_result_new (f, ESEXP_RES_BOOL);
r->value.bool = FALSE;
return r;

View File

@ -27,7 +27,7 @@
Name: evolution-data-server Name: evolution-data-server
Version: 1.12.1 Version: 1.12.1
Release: 2%{?dist} Release: 3%{?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
@ -46,21 +46,27 @@ Patch11: evolution-data-server-1.8.0-no-gnome-common.patch
# RH bug #202309 # RH bug #202309
Patch12: evolution-data-server-1.7.91-maybe-fix-crash.patch Patch12: evolution-data-server-1.7.91-maybe-fix-crash.patch
# RH bug #212106
Patch13: evolution-data-server-1.8.0-db4.patch
# RH bug #215702 / GNOME bug #487988
Patch14: evolution-data-server-1.8.0-fix-ldap-query.patch
# GNOME bug #363695 # GNOME bug #363695
Patch14: evolution-data-server-1.9.1-kill-ememory.patch Patch15: evolution-data-server-1.9.1-kill-ememory.patch
# GNOME bug #376991 # GNOME bug #376991
# XXX Disabled due to outstanding issues. # XXX Disabled due to outstanding issues.
#Patch16: evolution-data-server-1.9.92-e-passwords.patch #Patch16: evolution-data-server-1.9.92-e-passwords.patch
# GNOME bug #417999 # GNOME bug #417999
Patch18: evolution-data-server-1.10.0-code-cleanup.patch Patch17: evolution-data-server-1.10.0-code-cleanup.patch
# GNOME bug #373146 # GNOME bug #373146
Patch19: evolution-data-server-1.10.1-camel-folder-summary-crash.patch Patch18: evolution-data-server-1.10.1-camel-folder-summary-crash.patch
# RH bug #243296 # RH bug #243296
Patch20: evolution-data-server-1.11.5-fix-64bit-acinclude.patch Patch19: evolution-data-server-1.11.5-fix-64bit-acinclude.patch
### Dependencies ### ### Dependencies ###
@ -145,11 +151,13 @@ evolution-data-server.
%patch10 -p1 -b .ldaphack %patch10 -p1 -b .ldaphack
%patch11 -p1 -b .no-gnome-common %patch11 -p1 -b .no-gnome-common
%patch12 -p1 -b .maybe-fix-crash %patch12 -p1 -b .maybe-fix-crash
%patch14 -p1 -b .kill-ememory %patch13 -p1 -b .db4
%patch14 -p1 -b .fix-ldap-query
%patch15 -p1 -b .kill-ememory
#%patch16 -p1 -b .e-passwords #%patch16 -p1 -b .e-passwords
%patch18 -p1 -b .code-cleanup %patch17 -p1 -b .code-cleanup
%patch19 -p1 -b .camel-folder-symmary-crash %patch18 -p1 -b .camel-folder-summary-crash
%patch20 -p1 -b .fix-64bit-acinclude %patch19 -p1 -b .fix-64bit-acinclude
mkdir -p krb5-fakeprefix/include mkdir -p krb5-fakeprefix/include
mkdir -p krb5-fakeprefix/lib mkdir -p krb5-fakeprefix/lib
@ -382,6 +390,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/libexchange-storage-%{eds_api_version}.pc %{_libdir}/pkgconfig/libexchange-storage-%{eds_api_version}.pc
%changelog %changelog
* Thu Oct 18 2007 Matthew Barnes <mbarnes@redhat.com> - 1.12.1-3.fc9
- Porting a couple patches over from RHEL5:
- Add patch for RH bug #212106 (address book error on fresh install).
- Add patch for RH bug #215702 (bad search filter for LDAP address books).
* Tue Oct 16 2007 Matthew Barnes <mbarnes@redhat.com> - 1.12.1-2.fc8 * Tue Oct 16 2007 Matthew Barnes <mbarnes@redhat.com> - 1.12.1-2.fc8
- Disable patch for GNOME bug #376991 for now. It may be contributing - Disable patch for GNOME bug #376991 for now. It may be contributing
to password prompting problems as described in RH bug #296671. to password prompting problems as described in RH bug #296671.