From 49bdc2466b15b7376fff597c1c2ca698c4180e22729c59eabde038dde0659d6c Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Fri, 31 Aug 2007 13:42:40 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/evolution-data-server?expand=0&rev=12 --- abuild.patch | 38 -- ...ata-server-1.11.5-cert-auth-complete.patch | 461 +++++++++--------- evolution-data-server-1.11.6.1.tar.bz2 | 3 - evolution-data-server-1.11.91.tar.bz2 | 3 + evolution-data-server.changes | 15 + evolution-data-server.spec | 20 +- 6 files changed, 253 insertions(+), 287 deletions(-) delete mode 100644 abuild.patch delete mode 100644 evolution-data-server-1.11.6.1.tar.bz2 create mode 100644 evolution-data-server-1.11.91.tar.bz2 diff --git a/abuild.patch b/abuild.patch deleted file mode 100644 index bb078ff..0000000 --- a/abuild.patch +++ /dev/null @@ -1,38 +0,0 @@ -Index: evolution-data-server-1.11.5/addressbook/backends/groupwise/e-book-backend-groupwise.c -=================================================================== ---- evolution-data-server-1.11.5.orig/addressbook/backends/groupwise/e-book-backend-groupwise.c -+++ evolution-data-server-1.11.5/addressbook/backends/groupwise/e-book-backend-groupwise.c -@@ -2449,11 +2449,6 @@ find_book_view (EBookBackendGroupwise *e - EIterator *iter; - EDataBookView *rv = NULL; - -- if (!iter) { -- g_object_unref (views); -- return NULL; -- } -- - if (!views) - return NULL; - -Index: evolution-data-server-1.11.5/libedataserverui/e-name-selector-entry.c -=================================================================== ---- evolution-data-server-1.11.5.orig/libedataserverui/e-name-selector-entry.c -+++ evolution-data-server-1.11.5/libedataserverui/e-name-selector-entry.c -@@ -2057,7 +2057,7 @@ popup_activate_cut (ENameSelectorEntry * - g_signal_handlers_block_by_func (name_selector_entry, user_delete_text, name_selector_entry); - - clipboard = gtk_clipboard_get (GDK_SELECTION_PRIMARY); -- pemail = g_strconcat (contact_email, ","); -+ pemail = g_strconcat (contact_email, ",", NULL); - gtk_clipboard_set_text (clipboard, pemail, strlen (pemail)); - - clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); -@@ -2086,7 +2086,7 @@ popup_activate_copy (ENameSelectorEntry - g_signal_handlers_block_by_func (name_selector_entry, user_delete_text, name_selector_entry); - - clipboard = gtk_clipboard_get (GDK_SELECTION_PRIMARY); -- pemail = g_strconcat (contact_email, ","); -+ pemail = g_strconcat (contact_email, ",", NULL); - gtk_clipboard_set_text (clipboard, pemail, strlen (pemail)); - - clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); diff --git a/evolution-data-server-1.11.5-cert-auth-complete.patch b/evolution-data-server-1.11.5-cert-auth-complete.patch index c35726e..83b6105 100644 --- a/evolution-data-server-1.11.5-cert-auth-complete.patch +++ b/evolution-data-server-1.11.5-cert-auth-complete.patch @@ -1,8 +1,8 @@ Index: configure.in =================================================================== ---- configure.in (revision 7790) -+++ configure.in (working copy) -@@ -1252,6 +1252,11 @@ +--- configure.in.orig ++++ configure.in +@@ -1369,6 +1369,11 @@ dnl ************************************ dnl Flags for the various libraries we build dnl **************************************** @@ -13,8 +13,8 @@ Index: configure.in + dnl --- libedataserver and libedataserverui flags - E_DATA_SERVER_DEPS="libxml-2.0 gobject-2.0 >= $GLIB_REQUIRED libbonobo-2.0 >= $LIBBONOBO_REQUIRED gconf-2.0 $mozilla_nspr" -@@ -1390,7 +1390,7 @@ AC_SUBST(E_DATA_SERVER_UI_LIBS) + E_DATA_SERVER_DEPS="libxml-2.0 libbonobo-2.0 gconf-2.0 $mozilla_nspr" +@@ -1385,7 +1390,7 @@ AC_SUBST(E_DATA_SERVER_UI_LIBS) dnl --- evolution-addressbook flags @@ -23,7 +23,7 @@ Index: configure.in EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS) AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS) -@@ -1398,7 +1398,7 @@ AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS) +@@ -1393,7 +1398,7 @@ AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS) dnl --- evolution-calendar flags if test "x${enable_calendar}" = "xyes"; then @@ -34,8 +34,8 @@ Index: configure.in AC_SUBST(EVOLUTION_CALENDAR_CFLAGS) Index: servers/exchange/storage/exchange-account.c =================================================================== ---- servers/exchange/storage/exchange-account.c (revision 7790) -+++ servers/exchange/storage/exchange-account.c (working copy) +--- servers/exchange/storage/exchange-account.c.orig ++++ servers/exchange/storage/exchange-account.c @@ -39,6 +39,9 @@ #include "e2k-utils.h" #include "exchange-hierarchy-foreign.h" @@ -46,32 +46,30 @@ Index: servers/exchange/storage/exchange-account.c /* This is an ugly hack to avoid API break */ /* Added for get_authtype */ #include "exchange-esource.h" -@@ -53,11 +56,23 @@ +@@ -53,11 +56,22 @@ #include #include --#define d(x) (x) +#define TRACE(s, ...) d(fprintf (stderr, "%d:%s:%s():%d "s"\n", getpid(), __FILE__, __PRETTY_FUNCTION__, __LINE__, __VA_ARGS__)) +#define TRACEMSG(s) TRACE("%s", (s)) +#define ENTER TRACEMSG("ENTER") +#define EXIT TRACEMSG("EXIT") +#define HASLOCK TRACEMSG("HAS LOCK") +#define ALREADYLOCKED TRACEMSG("ALREADY LOCKED") -+ -+#define d(x) + #define d(x) #define ADS_UF_DONT_EXPIRE_PASSWORD 0x10000 #define ONE_HUNDRED_NANOSECOND 0.000000100 #define SECONDS_IN_DAY 86400 +typedef struct { -+ E2kCreds creds; -+ ExchangeAccount *account; ++ E2kCreds creds; ++ ExchangeAccount *account; +} AccountCreds; + struct _ExchangeAccountPrivate { E2kContext *ctx; E2kGlobalCatalog *gc; -@@ -86,6 +101,10 @@ +@@ -86,6 +100,10 @@ struct _ExchangeAccountPrivate { GMutex *discover_data_lock; GList *discover_datas; @@ -82,7 +80,7 @@ Index: servers/exchange/storage/exchange-account.c }; enum { -@@ -229,6 +248,13 @@ +@@ -229,6 +247,13 @@ dispose (GObject *object) account->priv->fresh_folders = NULL; } @@ -96,7 +94,7 @@ Index: servers/exchange/storage/exchange-account.c G_OBJECT_CLASS (parent_class)->dispose (object); } -@@ -1169,14 +1195,21 @@ +@@ -1171,14 +1196,21 @@ exchange_account_set_offline (ExchangeAc g_return_val_if_fail (EXCHANGE_IS_ACCOUNT (account), FALSE); @@ -104,8 +102,11 @@ Index: servers/exchange/storage/exchange-account.c - if (account->priv->ctx) { - g_object_unref (account->priv->ctx); - account->priv->ctx = NULL; +- } + ENTER; -+ + +- account->priv->account_online = OFFLINE_MODE; +- g_mutex_unlock (account->priv->connect_lock); + if (g_mutex_trylock (account->priv->connect_lock)) { + HASLOCK; + if (account->priv->ctx) { @@ -117,15 +118,12 @@ Index: servers/exchange/storage/exchange-account.c + g_mutex_unlock (account->priv->connect_lock); + } else { + ALREADYLOCKED; - } -- -- account->priv->account_online = OFFLINE_MODE; -- g_mutex_unlock (account->priv->connect_lock); ++ } + EXIT; return TRUE; } -@@ -1195,11 +1228,15 @@ +@@ -1197,11 +1229,15 @@ gboolean exchange_account_set_online (ExchangeAccount *account) { g_return_val_if_fail (EXCHANGE_IS_ACCOUNT (account), FALSE); @@ -146,7 +144,7 @@ Index: servers/exchange/storage/exchange-account.c return TRUE; } -@@ -1342,6 +1379,117 @@ +@@ -1344,6 +1380,117 @@ hierarchies_created: return TRUE; } @@ -264,7 +262,7 @@ Index: servers/exchange/storage/exchange-account.c /** * exchange_account_connect: * @account: an #ExchangeAccount -@@ -1370,13 +1518,16 @@ +@@ -1372,13 +1519,16 @@ exchange_account_connect (ExchangeAccoun E2kOperation gcop; char *user_name = NULL; @@ -282,7 +280,7 @@ Index: servers/exchange/storage/exchange-account.c if (mode == UNSUPPORTED_MODE) { *info_result = EXCHANGE_ACCOUNT_CONNECT_ERROR; -@@ -1394,10 +1545,17 @@ +@@ -1396,10 +1546,17 @@ exchange_account_connect (ExchangeAccoun else { *info_result = EXCHANGE_ACCOUNT_CONNECT_ERROR; } @@ -300,7 +298,7 @@ Index: servers/exchange/storage/exchange-account.c } account->priv->connecting = TRUE; -@@ -1409,7 +1567,7 @@ +@@ -1411,7 +1568,7 @@ exchange_account_connect (ExchangeAccoun ac = e2k_autoconfig_new (account->home_uri, user_name, @@ -309,7 +307,7 @@ Index: servers/exchange/storage/exchange-account.c account->priv->auth_pref); g_free (user_name); -@@ -1417,15 +1575,10 @@ +@@ -1419,15 +1576,10 @@ exchange_account_connect (ExchangeAccoun account->priv->ad_limit); if (!pword) { @@ -327,7 +325,7 @@ Index: servers/exchange/storage/exchange-account.c try_connect_again: account->priv->ctx = e2k_autoconfig_get_context (ac, NULL, &result); -@@ -1435,12 +1588,14 @@ +@@ -1437,12 +1589,14 @@ exchange_account_connect (ExchangeAccoun account->priv->nt_domain = NULL; if (result != E2K_AUTOCONFIG_OK) { @@ -342,7 +340,7 @@ Index: servers/exchange/storage/exchange-account.c return NULL; } #endif -@@ -1451,6 +1606,7 @@ +@@ -1453,6 +1607,7 @@ exchange_account_connect (ExchangeAccoun e2k_autoconfig_free (ac); account->priv->connecting = FALSE; g_mutex_unlock (account->priv->connect_lock); @@ -350,7 +348,7 @@ Index: servers/exchange/storage/exchange-account.c return NULL; case E2K_AUTOCONFIG_AUTH_ERROR_TRY_DOMAIN: -@@ -1458,6 +1614,7 @@ +@@ -1460,6 +1615,7 @@ exchange_account_connect (ExchangeAccoun e2k_autoconfig_free (ac); account->priv->connecting = FALSE; g_mutex_unlock (account->priv->connect_lock); @@ -358,7 +356,7 @@ Index: servers/exchange/storage/exchange-account.c return NULL; case E2K_AUTOCONFIG_AUTH_ERROR_TRY_NTLM: -@@ -1515,6 +1672,7 @@ +@@ -1517,6 +1673,7 @@ exchange_account_connect (ExchangeAccoun } g_mutex_unlock (account->priv->connect_lock); @@ -366,7 +364,7 @@ Index: servers/exchange/storage/exchange-account.c return NULL; } -@@ -1531,6 +1689,7 @@ +@@ -1533,6 +1690,7 @@ exchange_account_connect (ExchangeAccoun account->priv->connecting = FALSE; *info_result = EXCHANGE_ACCOUNT_UNKNOWN_ERROR; g_mutex_unlock (account->priv->connect_lock); @@ -374,7 +372,7 @@ Index: servers/exchange/storage/exchange-account.c return NULL; /* FIXME: what error has happened? */ } -@@ -1555,6 +1714,7 @@ +@@ -1557,6 +1715,7 @@ exchange_account_connect (ExchangeAccoun g_mutex_unlock (account->priv->connect_lock); if (nresults) e2k_results_free (results, nresults); @@ -382,7 +380,7 @@ Index: servers/exchange/storage/exchange-account.c return NULL; /* FIXME: what error has happened? */ } -@@ -1600,6 +1760,7 @@ +@@ -1602,6 +1761,7 @@ skip_quota: g_mutex_unlock (account->priv->connect_lock); if (nresults) e2k_results_free (results, nresults); @@ -390,7 +388,7 @@ Index: servers/exchange/storage/exchange-account.c return account->priv->ctx; } -@@ -2253,6 +2414,14 @@ +@@ -2273,6 +2433,14 @@ exchange_account_new (EAccountList *acco e2k_uri_free (uri); @@ -407,9 +405,9 @@ Index: servers/exchange/storage/exchange-account.c Index: servers/exchange/storage/exchange-account.h =================================================================== ---- servers/exchange/storage/exchange-account.h (revision 7790) -+++ servers/exchange/storage/exchange-account.h (working copy) -@@ -93,6 +93,11 @@ +--- servers/exchange/storage/exchange-account.h.orig ++++ servers/exchange/storage/exchange-account.h +@@ -95,6 +95,11 @@ ExchangeHierarchy *exchange_account_ char *exchange_account_get_authtype (ExchangeAccount *account); @@ -423,17 +421,17 @@ Index: servers/exchange/storage/exchange-account.h ExchangeAccountResult *result); Index: servers/exchange/lib/e2k-context.c =================================================================== ---- servers/exchange/lib/e2k-context.c (revision 7790) -+++ servers/exchange/lib/e2k-context.c (working copy) -@@ -51,7 +51,6 @@ - +--- servers/exchange/lib/e2k-context.c.orig ++++ servers/exchange/lib/e2k-context.c +@@ -52,7 +52,6 @@ + #include #include #include -#include #include #include #include -@@ -59,6 +58,15 @@ +@@ -60,6 +59,15 @@ #include #include @@ -449,7 +447,7 @@ Index: servers/exchange/lib/e2k-context.c #ifdef G_OS_WIN32 /* The strtok() in Microsoft's C library is MT-safe (not stateless, * but that is not needed here). -@@ -89,8 +97,8 @@ +@@ -90,8 +98,8 @@ enum { static guint signals [LAST_SIGNAL] = { 0 }; struct _E2kContextPrivate { @@ -460,7 +458,7 @@ Index: servers/exchange/lib/e2k-context.c time_t last_timestamp; /* Notification listener */ -@@ -114,8 +114,18 @@ +@@ -106,8 +114,18 @@ struct _E2kContextPrivate { char *cookie; gboolean cookie_verified; EProxy* proxy; @@ -479,7 +477,28 @@ Index: servers/exchange/lib/e2k-context.c /* For operations with progress */ #define E2K_CONTEXT_MIN_BATCH_SIZE 25 #define E2K_CONTEXT_MAX_BATCH_SIZE 100 -@@ -144,6 +162,31 @@ +@@ -136,9 +154,7 @@ proxy_settings_changed (EProxy *proxy, g + { + SoupUri *proxy_uri = NULL; + E2kContext* ctx = (E2kContext *)user_data; +- if (!ctx || !ctx->priv || +- (!ctx->priv->session && !ctx->priv->async_session) || +- (!ctx->priv->owa_uri)) ++ if (!ctx || !ctx->priv || !ctx->priv->session || !ctx->priv->owa_uri) + return; + + if (!e_proxy_require_proxy_for_uri (proxy, ctx->priv->owa_uri)) +@@ -149,9 +165,6 @@ proxy_settings_changed (EProxy *proxy, g + if (ctx->priv->session) + g_object_set (ctx->priv->session, SOUP_SESSION_PROXY_URI, + proxy_uri, NULL); +- if (ctx->priv->async_session) +- g_object_set (ctx->priv->async_session, SOUP_SESSION_PROXY_URI, +- proxy_uri, NULL); + } + + static void +@@ -177,6 +190,31 @@ destroy_sub_list (gpointer uri, gpointer } static void @@ -511,7 +530,7 @@ Index: servers/exchange/lib/e2k-context.c dispose (GObject *object) { E2kContext *ctx = E2K_CONTEXT (object); -@@ -151,10 +194,6 @@ +@@ -184,10 +222,6 @@ dispose (GObject *object) if (ctx->priv) { if (ctx->priv->owa_uri) g_free (ctx->priv->owa_uri); @@ -522,7 +541,7 @@ Index: servers/exchange/lib/e2k-context.c if (ctx->priv->get_local_address_sock) g_object_unref (ctx->priv->get_local_address_sock); -@@ -237,11 +247,11 @@ +@@ -208,11 +242,11 @@ dispose (GObject *object) if (ctx->priv->session) g_object_unref (ctx->priv->session); @@ -536,7 +555,7 @@ Index: servers/exchange/lib/e2k-context.c if (ctx->priv->proxy) { g_object_unref (ctx->priv->proxy); ctx->priv->proxy = NULL; -@@ -340,10 +379,116 @@ +@@ -378,62 +412,89 @@ session_authenticate (SoupSession *sessi { E2kContext *ctx = user_data; @@ -547,8 +566,8 @@ Index: servers/exchange/lib/e2k-context.c + auth_type, auth_realm, + username, password); + } - } - ++} ++ +static int +session_certificate_requested (SoupSession *session, + const gnutls_datum_t *req_ca_rdn, @@ -591,50 +610,95 @@ Index: servers/exchange/lib/e2k-context.c + } + GCA_EXIT; + return ret; -+} -+ -+void + } + +-/** +- * e2k_context_set_auth: +- * @ctx: the context +- * @username: the Windows username (not including domain) of the user +- * @domain: the NT domain, or %NULL to use the default (if using NTLM) +- * @authmech: the HTTP Authorization type to use; either "Basic" or "NTLM" +- * @password: the user's password +- * +- * Sets the authentication information on @ctx. This will have the +- * side effect of cancelling any pending requests on @ctx. +- **/ + void +-e2k_context_set_auth (E2kContext *ctx, const char *username, +- const char *domain, const char *authmech, +- const char *password) +e2k_context_set_creds (E2kContext *ctx, + E2kCreds *creds) -+{ -+ guint timeout = E2K_SOUP_SESSION_TIMEOUT; + { + guint timeout = E2K_SOUP_SESSION_TIMEOUT; + SoupUri* uri = NULL; + char *authmech = NULL; -+ -+ g_return_if_fail (E2K_IS_CONTEXT (ctx)); + + g_return_if_fail (E2K_IS_CONTEXT (ctx)); +- +- if (username) { +- g_free (ctx->priv->username); +- if (domain) { +- ctx->priv->username = +- g_strdup_printf ("%s\\%s", domain, +- username); +- } else +- ctx->priv->username = g_strdup (username); +- } +- +- if (password) { +- g_free (ctx->priv->password); +- ctx->priv->password = g_strdup (password); +- } + g_return_if_fail (creds != NULL); -+ -+ /* Destroy the old sessions so we don't reuse old auths */ -+ if (ctx->priv->session) -+ g_object_unref (ctx->priv->session); + + /* Destroy the old sessions so we don't reuse old auths */ + if (ctx->priv->session) + g_object_unref (ctx->priv->session); +- if (ctx->priv->async_session) +- g_object_unref (ctx->priv->async_session); + + release_creds (ctx); + ctx->priv->creds = creds; -+ -+ /* Set a default timeout value of 30 seconds. -+ FIXME: Make timeout configurable -+ */ -+ if (g_getenv ("SOUP_SESSION_TIMEOUT")) -+ timeout = atoi (g_getenv ("SOUP_SESSION_TIMEOUT")); + + /* Set a default timeout value of 30 seconds. + FIXME: Make timeout configurable + */ + if (g_getenv ("SOUP_SESSION_TIMEOUT")) + timeout = atoi (g_getenv ("SOUP_SESSION_TIMEOUT")); +- + + /* Check do we need a proxy to contact the server? */ + if (e_proxy_require_proxy_for_uri (ctx->priv->proxy, ctx->priv->owa_uri)) + uri = e_proxy_peek_uri (ctx->priv->proxy); + + if (ctx->priv->creds->http_auth_method) { + authmech = ctx->priv->creds->http_auth_method (ctx->priv->creds); + } + -+ ctx->priv->session = soup_session_sync_new_with_options ( -+ SOUP_SESSION_USE_NTLM, !authmech || !strcmp (authmech, "NTLM"), -+ SOUP_SESSION_TIMEOUT, timeout, -+ NULL); -+ g_signal_connect (ctx->priv->session, "authenticate", -+ G_CALLBACK (session_authenticate), ctx); + ctx->priv->session = soup_session_sync_new_with_options ( + SOUP_SESSION_USE_NTLM, !authmech || !strcmp (authmech, "NTLM"), + SOUP_SESSION_TIMEOUT, timeout, +@@ -441,16 +502,76 @@ e2k_context_set_auth (E2kContext *ctx, c + NULL); + g_signal_connect (ctx->priv->session, "authenticate", + G_CALLBACK (session_authenticate), ctx); + g_signal_connect (ctx->priv->session, "certificate-requested", + G_CALLBACK (session_certificate_requested), ctx); + g_signal_connect (ctx->priv->session, "sign-data", + G_CALLBACK (session_sign_data), ctx); -+ soup_session_add_filter (ctx->priv->session, -+ SOUP_MESSAGE_FILTER (ctx)); + soup_session_add_filter (ctx->priv->session, + SOUP_MESSAGE_FILTER (ctx)); + g_free (authmech); +} -+ + +- ctx->priv->async_session = soup_session_async_new_with_options ( +- SOUP_SESSION_USE_NTLM, !authmech || !strcmp (authmech, "NTLM"), +- SOUP_SESSION_PROXY_URI, uri, NULL); +- g_signal_connect (ctx->priv->async_session, "authenticate", +- G_CALLBACK (session_authenticate), ctx); +- soup_session_add_filter (ctx->priv->async_session, +- SOUP_MESSAGE_FILTER (ctx)); +static char * +auth_creds_http_auth_method (E2kCreds *e2k_creds) +{ @@ -652,76 +716,43 @@ Index: servers/exchange/lib/e2k-context.c + *password = g_strdup (creds->password); +} + - /** - * e2k_context_set_auth: - * @ctx: the context -@@ -533,59 +548,34 @@ - const char *domain, const char *authmech, - const char *password) - { -- guint timeout = E2K_SOUP_SESSION_TIMEOUT; -- SoupUri* uri = NULL; ++/** ++ * e2k_context_set_auth: ++ * @ctx: the context ++ * @username: the Windows username (not including domain) of the user ++ * @domain: the NT domain, or %NULL to use the default (if using NTLM) ++ * @authmech: the HTTP Authorization type to use; either "Basic" or "NTLM" ++ * @password: the user's password ++ * ++ * Sets the authentication information on @ctx. This will have the ++ * side effect of cancelling any pending requests on @ctx. ++ **/ ++void ++e2k_context_set_auth (E2kContext *ctx, const char *username, ++ const char *domain, const char *authmech, ++ const char *password) ++{ + E2kAuthCreds *creds; - - g_return_if_fail (E2K_IS_CONTEXT (ctx)); - ++ ++ g_return_if_fail (E2K_IS_CONTEXT (ctx)); ++ + creds = g_new0 (E2kAuthCreds, 1); - if (username) { -- g_free (ctx->priv->username); - if (domain) { -- ctx->priv->username = -- g_strdup_printf ("%s\\%s", domain, -- username); ++ if (username) { ++ if (domain) { + creds->username = + g_strdup_printf ("%s\\%s", domain, username); - } else -- ctx->priv->username = g_strdup (username); ++ } else + creds->username = g_strdup (username); - } - ++ } ++ + if (authmech) { + creds->authmech = g_strdup (authmech); + } + - if (password) { -- g_free (ctx->priv->password); -- ctx->priv->password = g_strdup (password); ++ if (password) { + creds->password = g_strdup (password); - } - -- /* Destroy the old sessions so we don't reuse old auths */ -- if (ctx->priv->session) -- g_object_unref (ctx->priv->session); -- if (ctx->priv->async_session) -- g_object_unref (ctx->priv->async_session); -- -- /* Set a default timeout value of 30 seconds. -- FIXME: Make timeout configurable -- */ -- if (g_getenv ("SOUP_SESSION_TIMEOUT")) -- timeout = atoi (g_getenv ("SOUP_SESSION_TIMEOUT")); -- -- /* Check do we need a proxy to contact the server? */ -- if (e_proxy_require_proxy_for_uri (ctx->priv->proxy, ctx->priv->owa_uri)) -- uri = e_proxy_peek_uri (ctx->priv->proxy); -- -- ctx->priv->session = soup_session_sync_new_with_options ( -- SOUP_SESSION_USE_NTLM, !authmech || !strcmp (authmech, "NTLM"), -- SOUP_SESSION_TIMEOUT, timeout, -- SOUP_SESSION_PROXY_URI, uri, -- NULL); -- g_signal_connect (ctx->priv->session, "authenticate", -- G_CALLBACK (session_authenticate), ctx); -- soup_session_add_filter (ctx->priv->session, -- SOUP_MESSAGE_FILTER (ctx)); -- -- ctx->priv->async_session = soup_session_async_new_with_options ( -- SOUP_SESSION_USE_NTLM, !authmech || !strcmp (authmech, "NTLM"), -- SOUP_SESSION_PROXY_URI, uri, NULL); -- g_signal_connect (ctx->priv->async_session, "authenticate", -- G_CALLBACK (session_authenticate), ctx); -- soup_session_add_filter (ctx->priv->async_session, -- SOUP_MESSAGE_FILTER (ctx)); ++ } ++ + creds->creds.http_auth_method = auth_creds_http_auth_method; + creds->creds.http_authenticate = auth_creds_http_authenticate; + @@ -732,7 +763,7 @@ Index: servers/exchange/lib/e2k-context.c } /** -@@ -550,6 +676,8 @@ +@@ -594,6 +715,8 @@ e2k_context_fba (E2kContext *ctx, SoupMe SoupMessage *post_msg; GString *form_body, *cookie_str; const GSList *cookies, *c; @@ -741,7 +772,7 @@ Index: servers/exchange/lib/e2k-context.c g_return_val_if_fail (E2K_IS_CONTEXT (ctx), FALSE); -@@ -568,7 +696,7 @@ +@@ -612,7 +735,7 @@ e2k_context_fba (E2kContext *ctx, SoupMe /* Otherwise, it's just expired. */ } @@ -750,7 +781,7 @@ Index: servers/exchange/lib/e2k-context.c return FALSE; in_fba_auth = TRUE; -@@ -608,6 +736,15 @@ +@@ -653,6 +776,15 @@ e2k_context_fba (E2kContext *ctx, SoupMe action = g_strdup (value); xmlFree (value); @@ -766,7 +797,7 @@ Index: servers/exchange/lib/e2k-context.c form_body = g_string_new (NULL); while ((node = e2k_xml_find (node, "input"))) { name = xmlGetProp (node, "name"); -@@ -626,11 +763,11 @@ +@@ -671,11 +803,11 @@ e2k_context_fba (E2kContext *ctx, SoupMe g_string_append_c (form_body, '&'); } else if (!g_ascii_strcasecmp (name, "username")) { g_string_append (form_body, "username="); @@ -780,7 +811,7 @@ Index: servers/exchange/lib/e2k-context.c g_string_append_c (form_body, '&'); } -@@ -638,6 +775,12 @@ +@@ -683,6 +815,12 @@ e2k_context_fba (E2kContext *ctx, SoupMe xmlFree (value); xmlFree (name); } @@ -793,7 +824,7 @@ Index: servers/exchange/lib/e2k-context.c g_string_append_printf (form_body, "trusted=%d", E2K_FBA_FLAG_TRUSTED); xmlFreeDoc (doc); doc = NULL; -@@ -687,6 +830,8 @@ +@@ -732,6 +870,8 @@ e2k_context_fba (E2kContext *ctx, SoupMe in_fba_auth = FALSE; if (doc) xmlFreeDoc (doc); @@ -802,7 +833,7 @@ Index: servers/exchange/lib/e2k-context.c return FALSE; } -@@ -842,7 +987,7 @@ +@@ -887,7 +1027,7 @@ e2k_context_queue_message (E2kContext *c { g_return_if_fail (E2K_IS_CONTEXT (ctx)); @@ -811,39 +842,10 @@ Index: servers/exchange/lib/e2k-context.c callback, user_data); } ---- servers/exchange/lib/e2k-context.c~ 2007-07-31 15:59:43.000000000 -0400 -+++ servers/exchange/lib/e2k-context.c 2007-07-31 16:08:11.000000000 -0400 -@@ -463,6 +473,7 @@ - E2kCreds *creds) - { - guint timeout = E2K_SOUP_SESSION_TIMEOUT; -+ SoupUri* uri = NULL; - char *authmech = NULL; - - g_return_if_fail (E2K_IS_CONTEXT (ctx)); -@@ -481,6 +492,10 @@ - if (g_getenv ("SOUP_SESSION_TIMEOUT")) - timeout = atoi (g_getenv ("SOUP_SESSION_TIMEOUT")); - -+ /* Check do we need a proxy to contact the server? */ -+ if (e_proxy_require_proxy_for_uri (ctx->priv->proxy, ctx->priv->owa_uri)) -+ uri = e_proxy_peek_uri (ctx->priv->proxy); -+ - if (ctx->priv->creds->http_auth_method) { - authmech = ctx->priv->creds->http_auth_method (ctx->priv->creds); - } -@@ -488,6 +503,7 @@ - ctx->priv->session = soup_session_sync_new_with_options ( - SOUP_SESSION_USE_NTLM, !authmech || !strcmp (authmech, "NTLM"), - SOUP_SESSION_TIMEOUT, timeout, -+ SOUP_SESSION_PROXY_URI, uri, - NULL); - g_signal_connect (ctx->priv->session, "authenticate", - G_CALLBACK (session_authenticate), ctx); Index: servers/exchange/lib/e2k-context.h =================================================================== ---- servers/exchange/lib/e2k-context.h (revision 7790) -+++ servers/exchange/lib/e2k-context.h (working copy) +--- servers/exchange/lib/e2k-context.h.orig ++++ servers/exchange/lib/e2k-context.h @@ -9,6 +9,8 @@ #include @@ -853,7 +855,7 @@ Index: servers/exchange/lib/e2k-context.h #include "e2k-types.h" #include "e2k-operation.h" #include "e2k-http-utils.h" -@@ -47,6 +49,25 @@ +@@ -47,6 +49,25 @@ void e2k_context_set_auth const char *domain, const char *authmech, const char *password); @@ -881,9 +883,9 @@ Index: servers/exchange/lib/e2k-context.h Index: servers/exchange/lib/e2k-autoconfig.c =================================================================== ---- servers/exchange/lib/e2k-autoconfig.c (revision 7790) -+++ servers/exchange/lib/e2k-autoconfig.c (working copy) -@@ -337,6 +337,13 @@ +--- servers/exchange/lib/e2k-autoconfig.c.orig ++++ servers/exchange/lib/e2k-autoconfig.c +@@ -338,6 +338,13 @@ get_ctx_auth_handler (SoupMessage *msg, } } @@ -897,7 +899,7 @@ Index: servers/exchange/lib/e2k-autoconfig.c /* * e2k_autoconfig_get_context: * @ac: an autoconfig context -@@ -395,8 +402,12 @@ +@@ -396,8 +403,12 @@ e2k_autoconfig_get_context (E2kAutoconfi *result = E2K_AUTOCONFIG_FAILED; return NULL; } @@ -914,9 +916,9 @@ Index: servers/exchange/lib/e2k-autoconfig.c soup_message_add_header (msg->request_headers, "Accept-Language", Index: servers/exchange/lib/e2k-autoconfig.h =================================================================== ---- servers/exchange/lib/e2k-autoconfig.h (revision 7790) -+++ servers/exchange/lib/e2k-autoconfig.h (working copy) -@@ -47,6 +47,7 @@ +--- servers/exchange/lib/e2k-autoconfig.h.orig ++++ servers/exchange/lib/e2k-autoconfig.h +@@ -47,6 +47,7 @@ typedef struct { gboolean require_ntlm, use_ntlm; gboolean saw_basic, saw_ntlm; gboolean nt_domain_defaulted, gc_server_autodetected; @@ -924,7 +926,7 @@ Index: servers/exchange/lib/e2k-autoconfig.h } E2kAutoconfig; E2kAutoconfig *e2k_autoconfig_new (const char *owa_uri, -@@ -64,7 +65,8 @@ +@@ -64,7 +65,8 @@ void e2k_autoconfig_set_ const char *username); void e2k_autoconfig_set_password (E2kAutoconfig *ac, const char *password); @@ -936,9 +938,9 @@ Index: servers/exchange/lib/e2k-autoconfig.h E2kAutoconfigResult *result); Index: servers/exchange/lib/e2k-types.h =================================================================== ---- servers/exchange/lib/e2k-types.h (revision 7790) -+++ servers/exchange/lib/e2k-types.h (working copy) -@@ -14,6 +14,7 @@ +--- servers/exchange/lib/e2k-types.h.orig ++++ servers/exchange/lib/e2k-types.h +@@ -14,6 +14,7 @@ typedef struct _E2kAddrList typedef struct _E2kContext E2kContext; typedef struct _E2kContextPrivate E2kContextPrivate; typedef struct _E2kContextClass E2kContextClass; @@ -948,11 +950,11 @@ Index: servers/exchange/lib/e2k-types.h typedef struct _E2kGlobalCatalogPrivate E2kGlobalCatalogPrivate; Index: addressbook/libebook/e-book.c =================================================================== ---- addressbook/libebook/e-book.c (revision 7790) -+++ addressbook/libebook/e-book.c (working copy) +--- addressbook/libebook/e-book.c.orig ++++ addressbook/libebook/e-book.c @@ -17,6 +17,10 @@ #include - #include + #include "libedataserver/e-component-listener.h" +#ifdef HAVE_GNOME_CERTAUTH +#include @@ -961,7 +963,7 @@ Index: addressbook/libebook/e-book.c #include "e-book-listener.h" #define d(x) -@@ -3277,6 +3281,9 @@ +@@ -3283,6 +3287,9 @@ fetch_corba_book (EBook *book, GError **error) { GNOME_Evolution_Addressbook_Book corba_book = CORBA_OBJECT_NIL; @@ -971,7 +973,7 @@ Index: addressbook/libebook/e-book.c gchar *uri; gchar *source_xml; GList *factories; -@@ -3293,6 +3300,7 @@ +@@ -3299,6 +3306,7 @@ fetch_corba_book (EBook *book, /* try to find a list of factories that can handle the protocol */ factories = activate_factories_for_uri (book, uri); if (!factories) { @@ -979,7 +981,7 @@ Index: addressbook/libebook/e-book.c g_set_error (error, E_BOOK_ERROR, E_BOOK_ERROR_PROTOCOL_NOT_SUPPORTED, _("%s: no factories available for URI `%s'"), "e_book_load_uri", uri); return FALSE; -@@ -3304,11 +3312,28 @@ +@@ -3310,11 +3318,28 @@ fetch_corba_book (EBook *book, */ book->priv->listener = e_book_listener_new (); if (book->priv->listener == NULL) { @@ -1010,9 +1012,9 @@ Index: addressbook/libebook/e-book.c book, 0); Index: addressbook/libedata-book/e-book-backend.c =================================================================== ---- addressbook/libedata-book/e-book-backend.c (revision 7790) -+++ addressbook/libedata-book/e-book-backend.c (working copy) -@@ -27,6 +27,8 @@ +--- addressbook/libedata-book/e-book-backend.c.orig ++++ addressbook/libedata-book/e-book-backend.c +@@ -27,6 +27,8 @@ struct _EBookBackendPrivate { /* Signal IDs */ enum { LAST_CLIENT_GONE, @@ -1021,7 +1023,7 @@ Index: addressbook/libedata-book/e-book-backend.c LAST_SIGNAL }; -@@ -570,6 +572,8 @@ +@@ -572,6 +574,8 @@ e_book_backend_add_client (EBookBackend backend->priv->clients = g_list_prepend (backend->priv->clients, book); g_mutex_unlock (backend->priv->clients_mutex); @@ -1030,7 +1032,7 @@ Index: addressbook/libedata-book/e-book-backend.c return TRUE; } -@@ -592,6 +596,8 @@ +@@ -594,6 +598,8 @@ e_book_backend_remove_client (EBookBacke lock) */ g_object_ref (backend); @@ -1039,7 +1041,7 @@ Index: addressbook/libedata-book/e-book-backend.c /* Disconnect */ g_mutex_lock (backend->priv->clients_mutex); backend->priv->clients = g_list_remove (backend->priv->clients, book); -@@ -1085,6 +1091,24 @@ +@@ -1088,6 +1094,24 @@ e_book_backend_class_init (EBookBackendC NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); @@ -1066,9 +1068,9 @@ Index: addressbook/libedata-book/e-book-backend.c /** Index: addressbook/libedata-book/e-book-backend.h =================================================================== ---- addressbook/libedata-book/e-book-backend.h (revision 7790) -+++ addressbook/libedata-book/e-book-backend.h (working copy) -@@ -73,9 +73,10 @@ +--- addressbook/libedata-book/e-book-backend.h.orig ++++ addressbook/libedata-book/e-book-backend.h +@@ -73,9 +73,10 @@ struct _EBookBackendClass { void (*sync) (EBookBackend *backend); @@ -1083,9 +1085,9 @@ Index: addressbook/libedata-book/e-book-backend.h }; Index: calendar/libedata-cal/e-cal-backend.c =================================================================== ---- calendar/libedata-cal/e-cal-backend.c (revision 7790) -+++ calendar/libedata-cal/e-cal-backend.c (working copy) -@@ -66,6 +66,8 @@ +--- calendar/libedata-cal/e-cal-backend.c.orig ++++ calendar/libedata-cal/e-cal-backend.c +@@ -66,6 +66,8 @@ enum { LAST_CLIENT_GONE, OPENED, REMOVED, @@ -1094,7 +1096,7 @@ Index: calendar/libedata-cal/e-cal-backend.c LAST_SIGNAL }; static guint e_cal_backend_signals[LAST_SIGNAL]; -@@ -237,6 +239,22 @@ +@@ -237,6 +239,22 @@ e_cal_backend_class_init (ECalBackendCla G_TYPE_NONE, 1, G_TYPE_INT); @@ -1117,7 +1119,7 @@ Index: calendar/libedata-cal/e-cal-backend.c class->last_client_gone = NULL; class->opened = NULL; class->obj_updated = NULL; -@@ -422,6 +440,8 @@ +@@ -422,6 +440,8 @@ e_cal_backend_add_client (ECalBackend *b g_mutex_lock (priv->clients_mutex); priv->clients = g_list_append (priv->clients, cal); g_mutex_unlock (priv->clients_mutex); @@ -1126,7 +1128,7 @@ Index: calendar/libedata-cal/e-cal-backend.c } /** -@@ -446,6 +466,8 @@ +@@ -446,6 +466,8 @@ e_cal_backend_remove_client (ECalBackend priv = backend->priv; @@ -1137,9 +1139,9 @@ Index: calendar/libedata-cal/e-cal-backend.c priv->clients = g_list_remove (priv->clients, cal); Index: calendar/libecal/e-cal.c =================================================================== ---- calendar/libecal/e-cal.c (revision 7790) -+++ calendar/libecal/e-cal.c (working copy) -@@ -41,6 +41,9 @@ +--- calendar/libecal/e-cal.c.orig ++++ calendar/libecal/e-cal.c +@@ -42,6 +42,9 @@ #include "e-cal-view-private.h" #include "e-cal.h" @@ -1149,8 +1151,8 @@ Index: calendar/libecal/e-cal.c static gboolean open_calendar (ECal *ecal, gboolean only_if_exists, GError **error, ECalendarStatus *status, gboolean needs_auth); -@@ -987,19 +991,19 @@ - g_mutex_unlock (op->mutex); +@@ -891,19 +894,19 @@ cal_query_cb (ECalListener *listener, EC + e_flag_set (op->done); } -static gboolean @@ -1172,7 +1174,7 @@ Index: calendar/libecal/e-cal.c } -@@ -1141,7 +1145,9 @@ +@@ -1045,7 +1048,9 @@ static void e_cal_init (ECal *ecal, ECalClass *klass) { ECalPrivate *priv; @@ -1183,7 +1185,7 @@ Index: calendar/libecal/e-cal.c priv = g_new0 (ECalPrivate, 1); ecal->priv = priv; -@@ -1151,6 +1157,18 @@ +@@ -1055,6 +1060,18 @@ e_cal_init (ECal *ecal, ECalClass *klass priv->mutex = g_mutex_new (); priv->listener = e_cal_listener_new (cal_set_mode_cb, ecal); @@ -1202,35 +1204,12 @@ Index: calendar/libecal/e-cal.c priv->cal_address = NULL; priv->alarm_email_address = NULL; priv->ldap_attribute = NULL; -@@ -1730,7 +1748,7 @@ +@@ -1632,7 +1649,7 @@ open_calendar (ECal *ecal, gboolean only g_mutex_unlock (priv->mutex); /* see if the backend needs authentication */ - if ( (priv->mode != CAL_MODE_LOCAL) && e_source_get_property (priv->source, "auth")) { + if ( needs_auth && (priv->mode != CAL_MODE_LOCAL) && e_source_get_property (priv->source, "auth")) { char *prompt, *key; - const char *parent_user; + char *parent_user; ---- servers/exchange/lib/e2k-context.c~ 2007-07-31 16:29:07.000000000 -0400 -+++ servers/exchange/lib/e2k-context.c 2007-07-31 16:33:45.000000000 -0400 -@@ -154,9 +154,7 @@ - { - SoupUri *proxy_uri = NULL; - E2kContext* ctx = (E2kContext *)user_data; -- if (!ctx || !ctx->priv || -- (!ctx->priv->session && !ctx->priv->async_session) || -- (!ctx->priv->owa_uri)) -+ if (!ctx || !ctx->priv || !ctx->priv->session || !ctx->priv->owa_uri) - return; - - if (!e_proxy_require_proxy_for_uri (proxy, ctx->priv->owa_uri)) -@@ -167,9 +165,6 @@ - if (ctx->priv->session) - g_object_set (ctx->priv->session, SOUP_SESSION_PROXY_URI, - proxy_uri, NULL); -- if (ctx->priv->async_session) -- g_object_set (ctx->priv->async_session, SOUP_SESSION_PROXY_URI, -- proxy_uri, NULL); - } - - static void diff --git a/evolution-data-server-1.11.6.1.tar.bz2 b/evolution-data-server-1.11.6.1.tar.bz2 deleted file mode 100644 index 8ff3b08..0000000 --- a/evolution-data-server-1.11.6.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bd4fc51ca0b049b5e7213702226c59c4f5d0086836f63e6d81b372da1a30adb3 -size 7491348 diff --git a/evolution-data-server-1.11.91.tar.bz2 b/evolution-data-server-1.11.91.tar.bz2 new file mode 100644 index 0000000..3e21757 --- /dev/null +++ b/evolution-data-server-1.11.91.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30febc833908fa6593253024c1c01c9810222f101d962e7bf72972b74401d0ca +size 7387861 diff --git a/evolution-data-server.changes b/evolution-data-server.changes index eff7eeb..04a055c 100644 --- a/evolution-data-server.changes +++ b/evolution-data-server.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Aug 29 19:00:51 CEST 2007 - maw@suse.de + +- Update to version 1.11.91: + + New debugging framework which can be controlled during runtime + with the CALDAV_DEBUG environment variable + + Bugs (bugzilla.gnome.org) fixed: #261084, #256878, #332979, + #337454, #350539, #356176, #365213, #367760, #381548, #394571, + #437331, #458715, #464569, #464636, #466309, #466987, #467883, + #469870, #261084, #313221, #314709, #327977, #352346, #355640, + #387806, #415891, #420462, #427469, #439147, #451003, #455799, + #458670, #460999, #461989, #464252, and #465419 + + Updated translations +- Remove upstreamed abuild.patch. + ------------------------------------------------------------------- Fri Aug 17 21:57:23 CEST 2007 - jberkman@novell.com diff --git a/evolution-data-server.spec b/evolution-data-server.spec index e816c61..b53b622 100644 --- a/evolution-data-server.spec +++ b/evolution-data-server.spec @@ -1,5 +1,5 @@ # -# spec file for package evolution-data-server (Version 1.11.6.1) +# spec file for package evolution-data-server (Version 1.11.91) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -16,8 +16,8 @@ License: GPL v2 or later Group: Development/Libraries/GNOME Autoreqprov: on Summary: Evolution Data Server -Version: 1.11.6.1 -Release: 9 +Version: 1.11.91 +Release: 1 Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution-data-server/1.11/%{name}-%{version}.tar.bz2 #Patch3: evolution-data-server-gcc4.patch Patch5: evolution-data-server-configure.patch @@ -110,7 +110,6 @@ Patch90: evolution-data-server-1.11.5-cert-auth-complete.patch # Change patch below if we move away from /opt/gnome # It avoids a build dependency on libgnomeui to speed up bootstrap Patch99: libgnomeui-dep.patch -Patch100: abuild.patch Url: http://www.gnome.org BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: libsoup >= 2.2.6 mozilla-nss @@ -242,7 +241,6 @@ documentation. #%patch89 %patch90 %patch99 -p1 -%patch100 -p1 %build libtoolize --force --copy @@ -301,6 +299,18 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/gtk-doc/html/* %changelog +* Wed Aug 29 2007 - maw@suse.de +- Update to version 1.11.91: + + New debugging framework which can be controlled during runtime + with the CALDAV_DEBUG environment variable + + Bugs (bugzilla.gnome.org) fixed: #261084, #256878, #332979, + [#337454], #350539, #356176, #365213, #367760, #381548, #394571, + [#437331], #458715, #464569, #464636, #466309, #466987, #467883, + [#469870], #261084, #313221, #314709, #327977, #352346, #355640, + [#387806], #415891, #420462, #427469, #439147, #451003, #455799, + [#458670], #460999, #461989, #464252, and #465419 + + Updated translations +- Remove upstreamed abuild.patch. * Fri Aug 17 2007 - jberkman@novell.com - add auth support for smartcards (bug #273869) * Mon Aug 06 2007 - maw@suse.de