forked from pool/evolution-data-server
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/evolution-data-server?expand=0&rev=12
This commit is contained in:
parent
130befa949
commit
49bdc2466b
38
abuild.patch
38
abuild.patch
@ -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);
|
|
@ -1,8 +1,8 @@
|
|||||||
Index: configure.in
|
Index: configure.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- configure.in (revision 7790)
|
--- configure.in.orig
|
||||||
+++ configure.in (working copy)
|
+++ configure.in
|
||||||
@@ -1252,6 +1252,11 @@
|
@@ -1369,6 +1369,11 @@ dnl ************************************
|
||||||
dnl Flags for the various libraries we build
|
dnl Flags for the various libraries we build
|
||||||
dnl ****************************************
|
dnl ****************************************
|
||||||
|
|
||||||
@ -13,8 +13,8 @@ Index: configure.in
|
|||||||
+
|
+
|
||||||
dnl --- libedataserver and libedataserverui flags
|
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"
|
E_DATA_SERVER_DEPS="libxml-2.0 libbonobo-2.0 gconf-2.0 $mozilla_nspr"
|
||||||
@@ -1390,7 +1390,7 @@ AC_SUBST(E_DATA_SERVER_UI_LIBS)
|
@@ -1385,7 +1390,7 @@ AC_SUBST(E_DATA_SERVER_UI_LIBS)
|
||||||
|
|
||||||
dnl --- evolution-addressbook flags
|
dnl --- evolution-addressbook flags
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ Index: configure.in
|
|||||||
|
|
||||||
EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
|
EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
|
||||||
AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
|
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
|
dnl --- evolution-calendar flags
|
||||||
if test "x${enable_calendar}" = "xyes"; then
|
if test "x${enable_calendar}" = "xyes"; then
|
||||||
@ -34,8 +34,8 @@ Index: configure.in
|
|||||||
AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
|
AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
|
||||||
Index: servers/exchange/storage/exchange-account.c
|
Index: servers/exchange/storage/exchange-account.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- servers/exchange/storage/exchange-account.c (revision 7790)
|
--- servers/exchange/storage/exchange-account.c.orig
|
||||||
+++ servers/exchange/storage/exchange-account.c (working copy)
|
+++ servers/exchange/storage/exchange-account.c
|
||||||
@@ -39,6 +39,9 @@
|
@@ -39,6 +39,9 @@
|
||||||
#include "e2k-utils.h"
|
#include "e2k-utils.h"
|
||||||
#include "exchange-hierarchy-foreign.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 */
|
/* This is an ugly hack to avoid API break */
|
||||||
/* Added for get_authtype */
|
/* Added for get_authtype */
|
||||||
#include "exchange-esource.h"
|
#include "exchange-esource.h"
|
||||||
@@ -53,11 +56,23 @@
|
@@ -53,11 +56,22 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
-#define d(x) (x)
|
|
||||||
+#define TRACE(s, ...) d(fprintf (stderr, "%d:%s:%s():%d "s"\n", getpid(), __FILE__, __PRETTY_FUNCTION__, __LINE__, __VA_ARGS__))
|
+#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 TRACEMSG(s) TRACE("%s", (s))
|
||||||
+#define ENTER TRACEMSG("ENTER")
|
+#define ENTER TRACEMSG("ENTER")
|
||||||
+#define EXIT TRACEMSG("EXIT")
|
+#define EXIT TRACEMSG("EXIT")
|
||||||
+#define HASLOCK TRACEMSG("HAS LOCK")
|
+#define HASLOCK TRACEMSG("HAS LOCK")
|
||||||
+#define ALREADYLOCKED TRACEMSG("ALREADY LOCKED")
|
+#define ALREADYLOCKED TRACEMSG("ALREADY LOCKED")
|
||||||
+
|
#define d(x)
|
||||||
+#define d(x)
|
|
||||||
#define ADS_UF_DONT_EXPIRE_PASSWORD 0x10000
|
#define ADS_UF_DONT_EXPIRE_PASSWORD 0x10000
|
||||||
#define ONE_HUNDRED_NANOSECOND 0.000000100
|
#define ONE_HUNDRED_NANOSECOND 0.000000100
|
||||||
#define SECONDS_IN_DAY 86400
|
#define SECONDS_IN_DAY 86400
|
||||||
|
|
||||||
+typedef struct {
|
+typedef struct {
|
||||||
+ E2kCreds creds;
|
+ E2kCreds creds;
|
||||||
+ ExchangeAccount *account;
|
+ ExchangeAccount *account;
|
||||||
+} AccountCreds;
|
+} AccountCreds;
|
||||||
+
|
+
|
||||||
struct _ExchangeAccountPrivate {
|
struct _ExchangeAccountPrivate {
|
||||||
E2kContext *ctx;
|
E2kContext *ctx;
|
||||||
E2kGlobalCatalog *gc;
|
E2kGlobalCatalog *gc;
|
||||||
@@ -86,6 +101,10 @@
|
@@ -86,6 +100,10 @@ struct _ExchangeAccountPrivate {
|
||||||
|
|
||||||
GMutex *discover_data_lock;
|
GMutex *discover_data_lock;
|
||||||
GList *discover_datas;
|
GList *discover_datas;
|
||||||
@ -82,7 +80,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@@ -229,6 +248,13 @@
|
@@ -229,6 +247,13 @@ dispose (GObject *object)
|
||||||
account->priv->fresh_folders = NULL;
|
account->priv->fresh_folders = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,7 +94,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
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);
|
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) {
|
- if (account->priv->ctx) {
|
||||||
- g_object_unref (account->priv->ctx);
|
- g_object_unref (account->priv->ctx);
|
||||||
- account->priv->ctx = NULL;
|
- account->priv->ctx = NULL;
|
||||||
|
- }
|
||||||
+ ENTER;
|
+ ENTER;
|
||||||
+
|
|
||||||
|
- account->priv->account_online = OFFLINE_MODE;
|
||||||
|
- g_mutex_unlock (account->priv->connect_lock);
|
||||||
+ if (g_mutex_trylock (account->priv->connect_lock)) {
|
+ if (g_mutex_trylock (account->priv->connect_lock)) {
|
||||||
+ HASLOCK;
|
+ HASLOCK;
|
||||||
+ if (account->priv->ctx) {
|
+ if (account->priv->ctx) {
|
||||||
@ -117,15 +118,12 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
+ g_mutex_unlock (account->priv->connect_lock);
|
+ g_mutex_unlock (account->priv->connect_lock);
|
||||||
+ } else {
|
+ } else {
|
||||||
+ ALREADYLOCKED;
|
+ ALREADYLOCKED;
|
||||||
}
|
+ }
|
||||||
-
|
|
||||||
- account->priv->account_online = OFFLINE_MODE;
|
|
||||||
- g_mutex_unlock (account->priv->connect_lock);
|
|
||||||
+ EXIT;
|
+ EXIT;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1195,11 +1228,15 @@
|
@@ -1197,11 +1229,15 @@ gboolean
|
||||||
exchange_account_set_online (ExchangeAccount *account)
|
exchange_account_set_online (ExchangeAccount *account)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (EXCHANGE_IS_ACCOUNT (account), FALSE);
|
g_return_val_if_fail (EXCHANGE_IS_ACCOUNT (account), FALSE);
|
||||||
@ -146,7 +144,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1342,6 +1379,117 @@
|
@@ -1344,6 +1380,117 @@ hierarchies_created:
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -264,7 +262,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
/**
|
/**
|
||||||
* exchange_account_connect:
|
* exchange_account_connect:
|
||||||
* @account: an #ExchangeAccount
|
* @account: an #ExchangeAccount
|
||||||
@@ -1370,13 +1518,16 @@
|
@@ -1372,13 +1519,16 @@ exchange_account_connect (ExchangeAccoun
|
||||||
E2kOperation gcop;
|
E2kOperation gcop;
|
||||||
char *user_name = NULL;
|
char *user_name = NULL;
|
||||||
|
|
||||||
@ -282,7 +280,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
|
|
||||||
if (mode == UNSUPPORTED_MODE) {
|
if (mode == UNSUPPORTED_MODE) {
|
||||||
*info_result = EXCHANGE_ACCOUNT_CONNECT_ERROR;
|
*info_result = EXCHANGE_ACCOUNT_CONNECT_ERROR;
|
||||||
@@ -1394,10 +1545,17 @@
|
@@ -1396,10 +1546,17 @@ exchange_account_connect (ExchangeAccoun
|
||||||
else {
|
else {
|
||||||
*info_result = EXCHANGE_ACCOUNT_CONNECT_ERROR;
|
*info_result = EXCHANGE_ACCOUNT_CONNECT_ERROR;
|
||||||
}
|
}
|
||||||
@ -300,7 +298,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
account->priv->connecting = TRUE;
|
account->priv->connecting = TRUE;
|
||||||
@@ -1409,7 +1567,7 @@
|
@@ -1411,7 +1568,7 @@ exchange_account_connect (ExchangeAccoun
|
||||||
|
|
||||||
ac = e2k_autoconfig_new (account->home_uri,
|
ac = e2k_autoconfig_new (account->home_uri,
|
||||||
user_name,
|
user_name,
|
||||||
@ -309,7 +307,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
account->priv->auth_pref);
|
account->priv->auth_pref);
|
||||||
g_free (user_name);
|
g_free (user_name);
|
||||||
|
|
||||||
@@ -1417,15 +1575,10 @@
|
@@ -1419,15 +1576,10 @@ exchange_account_connect (ExchangeAccoun
|
||||||
account->priv->ad_limit);
|
account->priv->ad_limit);
|
||||||
|
|
||||||
if (!pword) {
|
if (!pword) {
|
||||||
@ -327,7 +325,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
try_connect_again:
|
try_connect_again:
|
||||||
account->priv->ctx = e2k_autoconfig_get_context (ac, NULL, &result);
|
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;
|
account->priv->nt_domain = NULL;
|
||||||
|
|
||||||
if (result != E2K_AUTOCONFIG_OK) {
|
if (result != E2K_AUTOCONFIG_OK) {
|
||||||
@ -342,7 +340,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -1451,6 +1606,7 @@
|
@@ -1453,6 +1607,7 @@ exchange_account_connect (ExchangeAccoun
|
||||||
e2k_autoconfig_free (ac);
|
e2k_autoconfig_free (ac);
|
||||||
account->priv->connecting = FALSE;
|
account->priv->connecting = FALSE;
|
||||||
g_mutex_unlock (account->priv->connect_lock);
|
g_mutex_unlock (account->priv->connect_lock);
|
||||||
@ -350,7 +348,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
case E2K_AUTOCONFIG_AUTH_ERROR_TRY_DOMAIN:
|
case E2K_AUTOCONFIG_AUTH_ERROR_TRY_DOMAIN:
|
||||||
@@ -1458,6 +1614,7 @@
|
@@ -1460,6 +1615,7 @@ exchange_account_connect (ExchangeAccoun
|
||||||
e2k_autoconfig_free (ac);
|
e2k_autoconfig_free (ac);
|
||||||
account->priv->connecting = FALSE;
|
account->priv->connecting = FALSE;
|
||||||
g_mutex_unlock (account->priv->connect_lock);
|
g_mutex_unlock (account->priv->connect_lock);
|
||||||
@ -358,7 +356,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
case E2K_AUTOCONFIG_AUTH_ERROR_TRY_NTLM:
|
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);
|
g_mutex_unlock (account->priv->connect_lock);
|
||||||
@ -366,7 +364,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1531,6 +1689,7 @@
|
@@ -1533,6 +1690,7 @@ exchange_account_connect (ExchangeAccoun
|
||||||
account->priv->connecting = FALSE;
|
account->priv->connecting = FALSE;
|
||||||
*info_result = EXCHANGE_ACCOUNT_UNKNOWN_ERROR;
|
*info_result = EXCHANGE_ACCOUNT_UNKNOWN_ERROR;
|
||||||
g_mutex_unlock (account->priv->connect_lock);
|
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? */
|
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);
|
g_mutex_unlock (account->priv->connect_lock);
|
||||||
if (nresults)
|
if (nresults)
|
||||||
e2k_results_free (results, nresults);
|
e2k_results_free (results, nresults);
|
||||||
@ -382,7 +380,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
return NULL; /* FIXME: what error has happened? */
|
return NULL; /* FIXME: what error has happened? */
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1600,6 +1760,7 @@
|
@@ -1602,6 +1761,7 @@ skip_quota:
|
||||||
g_mutex_unlock (account->priv->connect_lock);
|
g_mutex_unlock (account->priv->connect_lock);
|
||||||
if (nresults)
|
if (nresults)
|
||||||
e2k_results_free (results, nresults);
|
e2k_results_free (results, nresults);
|
||||||
@ -390,7 +388,7 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
return account->priv->ctx;
|
return account->priv->ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2253,6 +2414,14 @@
|
@@ -2273,6 +2433,14 @@ exchange_account_new (EAccountList *acco
|
||||||
|
|
||||||
e2k_uri_free (uri);
|
e2k_uri_free (uri);
|
||||||
|
|
||||||
@ -407,9 +405,9 @@ Index: servers/exchange/storage/exchange-account.c
|
|||||||
|
|
||||||
Index: servers/exchange/storage/exchange-account.h
|
Index: servers/exchange/storage/exchange-account.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- servers/exchange/storage/exchange-account.h (revision 7790)
|
--- servers/exchange/storage/exchange-account.h.orig
|
||||||
+++ servers/exchange/storage/exchange-account.h (working copy)
|
+++ servers/exchange/storage/exchange-account.h
|
||||||
@@ -93,6 +93,11 @@
|
@@ -95,6 +95,11 @@ ExchangeHierarchy *exchange_account_
|
||||||
|
|
||||||
char *exchange_account_get_authtype (ExchangeAccount *account);
|
char *exchange_account_get_authtype (ExchangeAccount *account);
|
||||||
|
|
||||||
@ -423,17 +421,17 @@ Index: servers/exchange/storage/exchange-account.h
|
|||||||
ExchangeAccountResult *result);
|
ExchangeAccountResult *result);
|
||||||
Index: servers/exchange/lib/e2k-context.c
|
Index: servers/exchange/lib/e2k-context.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- servers/exchange/lib/e2k-context.c (revision 7790)
|
--- servers/exchange/lib/e2k-context.c.orig
|
||||||
+++ servers/exchange/lib/e2k-context.c (working copy)
|
+++ servers/exchange/lib/e2k-context.c
|
||||||
@@ -51,7 +51,6 @@
|
@@ -52,7 +52,6 @@
|
||||||
|
#include <libedataserver/e-proxy.h>
|
||||||
#include <libsoup/soup-address.h>
|
#include <libsoup/soup-address.h>
|
||||||
#include <libsoup/soup-message-filter.h>
|
#include <libsoup/soup-message-filter.h>
|
||||||
-#include <libsoup/soup-session-async.h>
|
-#include <libsoup/soup-session-async.h>
|
||||||
#include <libsoup/soup-session-sync.h>
|
#include <libsoup/soup-session-sync.h>
|
||||||
#include <libsoup/soup-socket.h>
|
#include <libsoup/soup-socket.h>
|
||||||
#include <libsoup/soup-uri.h>
|
#include <libsoup/soup-uri.h>
|
||||||
@@ -59,6 +58,15 @@
|
@@ -60,6 +59,15 @@
|
||||||
#include <libxml/tree.h>
|
#include <libxml/tree.h>
|
||||||
#include <libxml/xmlmemory.h>
|
#include <libxml/xmlmemory.h>
|
||||||
|
|
||||||
@ -449,7 +447,7 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
#ifdef G_OS_WIN32
|
#ifdef G_OS_WIN32
|
||||||
/* The strtok() in Microsoft's C library is MT-safe (not stateless,
|
/* The strtok() in Microsoft's C library is MT-safe (not stateless,
|
||||||
* but that is not needed here).
|
* but that is not needed here).
|
||||||
@@ -89,8 +97,8 @@
|
@@ -90,8 +98,8 @@ enum {
|
||||||
static guint signals [LAST_SIGNAL] = { 0 };
|
static guint signals [LAST_SIGNAL] = { 0 };
|
||||||
|
|
||||||
struct _E2kContextPrivate {
|
struct _E2kContextPrivate {
|
||||||
@ -460,7 +458,7 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
time_t last_timestamp;
|
time_t last_timestamp;
|
||||||
|
|
||||||
/* Notification listener */
|
/* Notification listener */
|
||||||
@@ -114,8 +114,18 @@
|
@@ -106,8 +114,18 @@ struct _E2kContextPrivate {
|
||||||
char *cookie;
|
char *cookie;
|
||||||
gboolean cookie_verified;
|
gboolean cookie_verified;
|
||||||
EProxy* proxy;
|
EProxy* proxy;
|
||||||
@ -479,7 +477,28 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
/* For operations with progress */
|
/* For operations with progress */
|
||||||
#define E2K_CONTEXT_MIN_BATCH_SIZE 25
|
#define E2K_CONTEXT_MIN_BATCH_SIZE 25
|
||||||
#define E2K_CONTEXT_MAX_BATCH_SIZE 100
|
#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
|
static void
|
||||||
@ -511,7 +530,7 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
dispose (GObject *object)
|
dispose (GObject *object)
|
||||||
{
|
{
|
||||||
E2kContext *ctx = E2K_CONTEXT (object);
|
E2kContext *ctx = E2K_CONTEXT (object);
|
||||||
@@ -151,10 +194,6 @@
|
@@ -184,10 +222,6 @@ dispose (GObject *object)
|
||||||
if (ctx->priv) {
|
if (ctx->priv) {
|
||||||
if (ctx->priv->owa_uri)
|
if (ctx->priv->owa_uri)
|
||||||
g_free (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)
|
if (ctx->priv->get_local_address_sock)
|
||||||
g_object_unref (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)
|
if (ctx->priv->session)
|
||||||
g_object_unref (ctx->priv->session);
|
g_object_unref (ctx->priv->session);
|
||||||
@ -536,7 +555,7 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
if (ctx->priv->proxy) {
|
if (ctx->priv->proxy) {
|
||||||
g_object_unref (ctx->priv->proxy);
|
g_object_unref (ctx->priv->proxy);
|
||||||
ctx->priv->proxy = NULL;
|
ctx->priv->proxy = NULL;
|
||||||
@@ -340,10 +379,116 @@
|
@@ -378,62 +412,89 @@ session_authenticate (SoupSession *sessi
|
||||||
{
|
{
|
||||||
E2kContext *ctx = user_data;
|
E2kContext *ctx = user_data;
|
||||||
|
|
||||||
@ -547,8 +566,8 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
+ auth_type, auth_realm,
|
+ auth_type, auth_realm,
|
||||||
+ username, password);
|
+ username, password);
|
||||||
+ }
|
+ }
|
||||||
}
|
+}
|
||||||
|
+
|
||||||
+static int
|
+static int
|
||||||
+session_certificate_requested (SoupSession *session,
|
+session_certificate_requested (SoupSession *session,
|
||||||
+ const gnutls_datum_t *req_ca_rdn,
|
+ const gnutls_datum_t *req_ca_rdn,
|
||||||
@ -591,50 +610,95 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
+ }
|
+ }
|
||||||
+ GCA_EXIT;
|
+ GCA_EXIT;
|
||||||
+ return ret;
|
+ 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,
|
+e2k_context_set_creds (E2kContext *ctx,
|
||||||
+ E2kCreds *creds)
|
+ E2kCreds *creds)
|
||||||
+{
|
{
|
||||||
+ guint timeout = E2K_SOUP_SESSION_TIMEOUT;
|
guint timeout = E2K_SOUP_SESSION_TIMEOUT;
|
||||||
|
SoupUri* uri = NULL;
|
||||||
+ char *authmech = 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);
|
+ g_return_if_fail (creds != NULL);
|
||||||
+
|
|
||||||
+ /* Destroy the old sessions so we don't reuse old auths */
|
/* Destroy the old sessions so we don't reuse old auths */
|
||||||
+ if (ctx->priv->session)
|
if (ctx->priv->session)
|
||||||
+ g_object_unref (ctx->priv->session);
|
g_object_unref (ctx->priv->session);
|
||||||
|
- if (ctx->priv->async_session)
|
||||||
|
- g_object_unref (ctx->priv->async_session);
|
||||||
+
|
+
|
||||||
+ release_creds (ctx);
|
+ release_creds (ctx);
|
||||||
+ ctx->priv->creds = creds;
|
+ ctx->priv->creds = creds;
|
||||||
+
|
|
||||||
+ /* Set a default timeout value of 30 seconds.
|
/* Set a default timeout value of 30 seconds.
|
||||||
+ FIXME: Make timeout configurable
|
FIXME: Make timeout configurable
|
||||||
+ */
|
*/
|
||||||
+ if (g_getenv ("SOUP_SESSION_TIMEOUT"))
|
if (g_getenv ("SOUP_SESSION_TIMEOUT"))
|
||||||
+ timeout = atoi (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) {
|
+ if (ctx->priv->creds->http_auth_method) {
|
||||||
+ authmech = ctx->priv->creds->http_auth_method (ctx->priv->creds);
|
+ authmech = ctx->priv->creds->http_auth_method (ctx->priv->creds);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ ctx->priv->session = soup_session_sync_new_with_options (
|
ctx->priv->session = soup_session_sync_new_with_options (
|
||||||
+ SOUP_SESSION_USE_NTLM, !authmech || !strcmp (authmech, "NTLM"),
|
SOUP_SESSION_USE_NTLM, !authmech || !strcmp (authmech, "NTLM"),
|
||||||
+ SOUP_SESSION_TIMEOUT, timeout,
|
SOUP_SESSION_TIMEOUT, timeout,
|
||||||
+ NULL);
|
@@ -441,16 +502,76 @@ e2k_context_set_auth (E2kContext *ctx, c
|
||||||
+ g_signal_connect (ctx->priv->session, "authenticate",
|
NULL);
|
||||||
+ G_CALLBACK (session_authenticate), ctx);
|
g_signal_connect (ctx->priv->session, "authenticate",
|
||||||
|
G_CALLBACK (session_authenticate), ctx);
|
||||||
+ g_signal_connect (ctx->priv->session, "certificate-requested",
|
+ g_signal_connect (ctx->priv->session, "certificate-requested",
|
||||||
+ G_CALLBACK (session_certificate_requested), ctx);
|
+ G_CALLBACK (session_certificate_requested), ctx);
|
||||||
+ g_signal_connect (ctx->priv->session, "sign-data",
|
+ g_signal_connect (ctx->priv->session, "sign-data",
|
||||||
+ G_CALLBACK (session_sign_data), ctx);
|
+ G_CALLBACK (session_sign_data), ctx);
|
||||||
+ soup_session_add_filter (ctx->priv->session,
|
soup_session_add_filter (ctx->priv->session,
|
||||||
+ SOUP_MESSAGE_FILTER (ctx));
|
SOUP_MESSAGE_FILTER (ctx));
|
||||||
+ g_free (authmech);
|
+ 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 *
|
+static char *
|
||||||
+auth_creds_http_auth_method (E2kCreds *e2k_creds)
|
+auth_creds_http_auth_method (E2kCreds *e2k_creds)
|
||||||
+{
|
+{
|
||||||
@ -652,76 +716,43 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
+ *password = g_strdup (creds->password);
|
+ *password = g_strdup (creds->password);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
/**
|
+/**
|
||||||
* e2k_context_set_auth:
|
+ * e2k_context_set_auth:
|
||||||
* @ctx: the context
|
+ * @ctx: the context
|
||||||
@@ -533,59 +548,34 @@
|
+ * @username: the Windows username (not including domain) of the user
|
||||||
const char *domain, const char *authmech,
|
+ * @domain: the NT domain, or %NULL to use the default (if using NTLM)
|
||||||
const char *password)
|
+ * @authmech: the HTTP Authorization type to use; either "Basic" or "NTLM"
|
||||||
{
|
+ * @password: the user's password
|
||||||
- guint timeout = E2K_SOUP_SESSION_TIMEOUT;
|
+ *
|
||||||
- SoupUri* uri = NULL;
|
+ * 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;
|
+ E2kAuthCreds *creds;
|
||||||
|
+
|
||||||
g_return_if_fail (E2K_IS_CONTEXT (ctx));
|
+ g_return_if_fail (E2K_IS_CONTEXT (ctx));
|
||||||
|
+
|
||||||
+ creds = g_new0 (E2kAuthCreds, 1);
|
+ creds = g_new0 (E2kAuthCreds, 1);
|
||||||
if (username) {
|
+ if (username) {
|
||||||
- g_free (ctx->priv->username);
|
+ if (domain) {
|
||||||
if (domain) {
|
|
||||||
- ctx->priv->username =
|
|
||||||
- g_strdup_printf ("%s\\%s", domain,
|
|
||||||
- username);
|
|
||||||
+ creds->username =
|
+ creds->username =
|
||||||
+ g_strdup_printf ("%s\\%s", domain, username);
|
+ g_strdup_printf ("%s\\%s", domain, username);
|
||||||
} else
|
+ } else
|
||||||
- ctx->priv->username = g_strdup (username);
|
|
||||||
+ creds->username = g_strdup (username);
|
+ creds->username = g_strdup (username);
|
||||||
}
|
+ }
|
||||||
|
+
|
||||||
+ if (authmech) {
|
+ if (authmech) {
|
||||||
+ creds->authmech = g_strdup (authmech);
|
+ creds->authmech = g_strdup (authmech);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
if (password) {
|
+ if (password) {
|
||||||
- g_free (ctx->priv->password);
|
|
||||||
- ctx->priv->password = g_strdup (password);
|
|
||||||
+ creds->password = g_strdup (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_auth_method = auth_creds_http_auth_method;
|
||||||
+ creds->creds.http_authenticate = auth_creds_http_authenticate;
|
+ 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;
|
SoupMessage *post_msg;
|
||||||
GString *form_body, *cookie_str;
|
GString *form_body, *cookie_str;
|
||||||
const GSList *cookies, *c;
|
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);
|
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. */
|
/* Otherwise, it's just expired. */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -750,7 +781,7 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
in_fba_auth = TRUE;
|
in_fba_auth = TRUE;
|
||||||
@@ -608,6 +736,15 @@
|
@@ -653,6 +776,15 @@ e2k_context_fba (E2kContext *ctx, SoupMe
|
||||||
action = g_strdup (value);
|
action = g_strdup (value);
|
||||||
xmlFree (value);
|
xmlFree (value);
|
||||||
|
|
||||||
@ -766,7 +797,7 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
form_body = g_string_new (NULL);
|
form_body = g_string_new (NULL);
|
||||||
while ((node = e2k_xml_find (node, "input"))) {
|
while ((node = e2k_xml_find (node, "input"))) {
|
||||||
name = xmlGetProp (node, "name");
|
name = xmlGetProp (node, "name");
|
||||||
@@ -626,11 +763,11 @@
|
@@ -671,11 +803,11 @@ e2k_context_fba (E2kContext *ctx, SoupMe
|
||||||
g_string_append_c (form_body, '&');
|
g_string_append_c (form_body, '&');
|
||||||
} else if (!g_ascii_strcasecmp (name, "username")) {
|
} else if (!g_ascii_strcasecmp (name, "username")) {
|
||||||
g_string_append (form_body, "username=");
|
g_string_append (form_body, "username=");
|
||||||
@ -780,7 +811,7 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
g_string_append_c (form_body, '&');
|
g_string_append_c (form_body, '&');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -638,6 +775,12 @@
|
@@ -683,6 +815,12 @@ e2k_context_fba (E2kContext *ctx, SoupMe
|
||||||
xmlFree (value);
|
xmlFree (value);
|
||||||
xmlFree (name);
|
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);
|
g_string_append_printf (form_body, "trusted=%d", E2K_FBA_FLAG_TRUSTED);
|
||||||
xmlFreeDoc (doc);
|
xmlFreeDoc (doc);
|
||||||
doc = NULL;
|
doc = NULL;
|
||||||
@@ -687,6 +830,8 @@
|
@@ -732,6 +870,8 @@ e2k_context_fba (E2kContext *ctx, SoupMe
|
||||||
in_fba_auth = FALSE;
|
in_fba_auth = FALSE;
|
||||||
if (doc)
|
if (doc)
|
||||||
xmlFreeDoc (doc);
|
xmlFreeDoc (doc);
|
||||||
@ -802,7 +833,7 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -842,7 +987,7 @@
|
@@ -887,7 +1027,7 @@ e2k_context_queue_message (E2kContext *c
|
||||||
{
|
{
|
||||||
g_return_if_fail (E2K_IS_CONTEXT (ctx));
|
g_return_if_fail (E2K_IS_CONTEXT (ctx));
|
||||||
|
|
||||||
@ -811,39 +842,10 @@ Index: servers/exchange/lib/e2k-context.c
|
|||||||
callback, user_data);
|
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
|
Index: servers/exchange/lib/e2k-context.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- servers/exchange/lib/e2k-context.h (revision 7790)
|
--- servers/exchange/lib/e2k-context.h.orig
|
||||||
+++ servers/exchange/lib/e2k-context.h (working copy)
|
+++ servers/exchange/lib/e2k-context.h
|
||||||
@@ -9,6 +9,8 @@
|
@@ -9,6 +9,8 @@
|
||||||
|
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
@ -853,7 +855,7 @@ Index: servers/exchange/lib/e2k-context.h
|
|||||||
#include "e2k-types.h"
|
#include "e2k-types.h"
|
||||||
#include "e2k-operation.h"
|
#include "e2k-operation.h"
|
||||||
#include "e2k-http-utils.h"
|
#include "e2k-http-utils.h"
|
||||||
@@ -47,6 +49,25 @@
|
@@ -47,6 +49,25 @@ void e2k_context_set_auth
|
||||||
const char *domain,
|
const char *domain,
|
||||||
const char *authmech,
|
const char *authmech,
|
||||||
const char *password);
|
const char *password);
|
||||||
@ -881,9 +883,9 @@ Index: servers/exchange/lib/e2k-context.h
|
|||||||
|
|
||||||
Index: servers/exchange/lib/e2k-autoconfig.c
|
Index: servers/exchange/lib/e2k-autoconfig.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- servers/exchange/lib/e2k-autoconfig.c (revision 7790)
|
--- servers/exchange/lib/e2k-autoconfig.c.orig
|
||||||
+++ servers/exchange/lib/e2k-autoconfig.c (working copy)
|
+++ servers/exchange/lib/e2k-autoconfig.c
|
||||||
@@ -337,6 +337,13 @@
|
@@ -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:
|
* e2k_autoconfig_get_context:
|
||||||
* @ac: an autoconfig context
|
* @ac: an autoconfig context
|
||||||
@@ -395,8 +402,12 @@
|
@@ -396,8 +403,12 @@ e2k_autoconfig_get_context (E2kAutoconfi
|
||||||
*result = E2K_AUTOCONFIG_FAILED;
|
*result = E2K_AUTOCONFIG_FAILED;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -914,9 +916,9 @@ Index: servers/exchange/lib/e2k-autoconfig.c
|
|||||||
soup_message_add_header (msg->request_headers, "Accept-Language",
|
soup_message_add_header (msg->request_headers, "Accept-Language",
|
||||||
Index: servers/exchange/lib/e2k-autoconfig.h
|
Index: servers/exchange/lib/e2k-autoconfig.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- servers/exchange/lib/e2k-autoconfig.h (revision 7790)
|
--- servers/exchange/lib/e2k-autoconfig.h.orig
|
||||||
+++ servers/exchange/lib/e2k-autoconfig.h (working copy)
|
+++ servers/exchange/lib/e2k-autoconfig.h
|
||||||
@@ -47,6 +47,7 @@
|
@@ -47,6 +47,7 @@ typedef struct {
|
||||||
gboolean require_ntlm, use_ntlm;
|
gboolean require_ntlm, use_ntlm;
|
||||||
gboolean saw_basic, saw_ntlm;
|
gboolean saw_basic, saw_ntlm;
|
||||||
gboolean nt_domain_defaulted, gc_server_autodetected;
|
gboolean nt_domain_defaulted, gc_server_autodetected;
|
||||||
@ -924,7 +926,7 @@ Index: servers/exchange/lib/e2k-autoconfig.h
|
|||||||
} E2kAutoconfig;
|
} E2kAutoconfig;
|
||||||
|
|
||||||
E2kAutoconfig *e2k_autoconfig_new (const char *owa_uri,
|
E2kAutoconfig *e2k_autoconfig_new (const char *owa_uri,
|
||||||
@@ -64,7 +65,8 @@
|
@@ -64,7 +65,8 @@ void e2k_autoconfig_set_
|
||||||
const char *username);
|
const char *username);
|
||||||
void e2k_autoconfig_set_password (E2kAutoconfig *ac,
|
void e2k_autoconfig_set_password (E2kAutoconfig *ac,
|
||||||
const char *password);
|
const char *password);
|
||||||
@ -936,9 +938,9 @@ Index: servers/exchange/lib/e2k-autoconfig.h
|
|||||||
E2kAutoconfigResult *result);
|
E2kAutoconfigResult *result);
|
||||||
Index: servers/exchange/lib/e2k-types.h
|
Index: servers/exchange/lib/e2k-types.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- servers/exchange/lib/e2k-types.h (revision 7790)
|
--- servers/exchange/lib/e2k-types.h.orig
|
||||||
+++ servers/exchange/lib/e2k-types.h (working copy)
|
+++ servers/exchange/lib/e2k-types.h
|
||||||
@@ -14,6 +14,7 @@
|
@@ -14,6 +14,7 @@ typedef struct _E2kAddrList
|
||||||
typedef struct _E2kContext E2kContext;
|
typedef struct _E2kContext E2kContext;
|
||||||
typedef struct _E2kContextPrivate E2kContextPrivate;
|
typedef struct _E2kContextPrivate E2kContextPrivate;
|
||||||
typedef struct _E2kContextClass E2kContextClass;
|
typedef struct _E2kContextClass E2kContextClass;
|
||||||
@ -948,11 +950,11 @@ Index: servers/exchange/lib/e2k-types.h
|
|||||||
typedef struct _E2kGlobalCatalogPrivate E2kGlobalCatalogPrivate;
|
typedef struct _E2kGlobalCatalogPrivate E2kGlobalCatalogPrivate;
|
||||||
Index: addressbook/libebook/e-book.c
|
Index: addressbook/libebook/e-book.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- addressbook/libebook/e-book.c (revision 7790)
|
--- addressbook/libebook/e-book.c.orig
|
||||||
+++ addressbook/libebook/e-book.c (working copy)
|
+++ addressbook/libebook/e-book.c
|
||||||
@@ -17,6 +17,10 @@
|
@@ -17,6 +17,10 @@
|
||||||
#include <glib/gi18n-lib.h>
|
#include <glib/gi18n-lib.h>
|
||||||
#include <libedataserver/e-component-listener.h>
|
#include "libedataserver/e-component-listener.h"
|
||||||
|
|
||||||
+#ifdef HAVE_GNOME_CERTAUTH
|
+#ifdef HAVE_GNOME_CERTAUTH
|
||||||
+#include <gnome-certauth/gca-nss-certificate-source.h>
|
+#include <gnome-certauth/gca-nss-certificate-source.h>
|
||||||
@ -961,7 +963,7 @@ Index: addressbook/libebook/e-book.c
|
|||||||
#include "e-book-listener.h"
|
#include "e-book-listener.h"
|
||||||
|
|
||||||
#define d(x)
|
#define d(x)
|
||||||
@@ -3277,6 +3281,9 @@
|
@@ -3283,6 +3287,9 @@ fetch_corba_book (EBook *book,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
GNOME_Evolution_Addressbook_Book corba_book = CORBA_OBJECT_NIL;
|
GNOME_Evolution_Addressbook_Book corba_book = CORBA_OBJECT_NIL;
|
||||||
@ -971,7 +973,7 @@ Index: addressbook/libebook/e-book.c
|
|||||||
gchar *uri;
|
gchar *uri;
|
||||||
gchar *source_xml;
|
gchar *source_xml;
|
||||||
GList *factories;
|
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 */
|
/* try to find a list of factories that can handle the protocol */
|
||||||
factories = activate_factories_for_uri (book, uri);
|
factories = activate_factories_for_uri (book, uri);
|
||||||
if (!factories) {
|
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,
|
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);
|
_("%s: no factories available for URI `%s'"), "e_book_load_uri", uri);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@@ -3304,11 +3312,28 @@
|
@@ -3310,11 +3318,28 @@ fetch_corba_book (EBook *book,
|
||||||
*/
|
*/
|
||||||
book->priv->listener = e_book_listener_new ();
|
book->priv->listener = e_book_listener_new ();
|
||||||
if (book->priv->listener == NULL) {
|
if (book->priv->listener == NULL) {
|
||||||
@ -1010,9 +1012,9 @@ Index: addressbook/libebook/e-book.c
|
|||||||
book, 0);
|
book, 0);
|
||||||
Index: addressbook/libedata-book/e-book-backend.c
|
Index: addressbook/libedata-book/e-book-backend.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- addressbook/libedata-book/e-book-backend.c (revision 7790)
|
--- addressbook/libedata-book/e-book-backend.c.orig
|
||||||
+++ addressbook/libedata-book/e-book-backend.c (working copy)
|
+++ addressbook/libedata-book/e-book-backend.c
|
||||||
@@ -27,6 +27,8 @@
|
@@ -27,6 +27,8 @@ struct _EBookBackendPrivate {
|
||||||
/* Signal IDs */
|
/* Signal IDs */
|
||||||
enum {
|
enum {
|
||||||
LAST_CLIENT_GONE,
|
LAST_CLIENT_GONE,
|
||||||
@ -1021,7 +1023,7 @@ Index: addressbook/libedata-book/e-book-backend.c
|
|||||||
LAST_SIGNAL
|
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);
|
backend->priv->clients = g_list_prepend (backend->priv->clients, book);
|
||||||
g_mutex_unlock (backend->priv->clients_mutex);
|
g_mutex_unlock (backend->priv->clients_mutex);
|
||||||
|
|
||||||
@ -1030,7 +1032,7 @@ Index: addressbook/libedata-book/e-book-backend.c
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -592,6 +596,8 @@
|
@@ -594,6 +598,8 @@ e_book_backend_remove_client (EBookBacke
|
||||||
lock) */
|
lock) */
|
||||||
g_object_ref (backend);
|
g_object_ref (backend);
|
||||||
|
|
||||||
@ -1039,7 +1041,7 @@ Index: addressbook/libedata-book/e-book-backend.c
|
|||||||
/* Disconnect */
|
/* Disconnect */
|
||||||
g_mutex_lock (backend->priv->clients_mutex);
|
g_mutex_lock (backend->priv->clients_mutex);
|
||||||
backend->priv->clients = g_list_remove (backend->priv->clients, book);
|
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,
|
NULL, NULL,
|
||||||
g_cclosure_marshal_VOID__VOID,
|
g_cclosure_marshal_VOID__VOID,
|
||||||
G_TYPE_NONE, 0);
|
G_TYPE_NONE, 0);
|
||||||
@ -1066,9 +1068,9 @@ Index: addressbook/libedata-book/e-book-backend.c
|
|||||||
/**
|
/**
|
||||||
Index: addressbook/libedata-book/e-book-backend.h
|
Index: addressbook/libedata-book/e-book-backend.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- addressbook/libedata-book/e-book-backend.h (revision 7790)
|
--- addressbook/libedata-book/e-book-backend.h.orig
|
||||||
+++ addressbook/libedata-book/e-book-backend.h (working copy)
|
+++ addressbook/libedata-book/e-book-backend.h
|
||||||
@@ -73,9 +73,10 @@
|
@@ -73,9 +73,10 @@ struct _EBookBackendClass {
|
||||||
|
|
||||||
void (*sync) (EBookBackend *backend);
|
void (*sync) (EBookBackend *backend);
|
||||||
|
|
||||||
@ -1083,9 +1085,9 @@ Index: addressbook/libedata-book/e-book-backend.h
|
|||||||
};
|
};
|
||||||
Index: calendar/libedata-cal/e-cal-backend.c
|
Index: calendar/libedata-cal/e-cal-backend.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- calendar/libedata-cal/e-cal-backend.c (revision 7790)
|
--- calendar/libedata-cal/e-cal-backend.c.orig
|
||||||
+++ calendar/libedata-cal/e-cal-backend.c (working copy)
|
+++ calendar/libedata-cal/e-cal-backend.c
|
||||||
@@ -66,6 +66,8 @@
|
@@ -66,6 +66,8 @@ enum {
|
||||||
LAST_CLIENT_GONE,
|
LAST_CLIENT_GONE,
|
||||||
OPENED,
|
OPENED,
|
||||||
REMOVED,
|
REMOVED,
|
||||||
@ -1094,7 +1096,7 @@ Index: calendar/libedata-cal/e-cal-backend.c
|
|||||||
LAST_SIGNAL
|
LAST_SIGNAL
|
||||||
};
|
};
|
||||||
static guint e_cal_backend_signals[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_NONE, 1,
|
||||||
G_TYPE_INT);
|
G_TYPE_INT);
|
||||||
|
|
||||||
@ -1117,7 +1119,7 @@ Index: calendar/libedata-cal/e-cal-backend.c
|
|||||||
class->last_client_gone = NULL;
|
class->last_client_gone = NULL;
|
||||||
class->opened = NULL;
|
class->opened = NULL;
|
||||||
class->obj_updated = 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);
|
g_mutex_lock (priv->clients_mutex);
|
||||||
priv->clients = g_list_append (priv->clients, cal);
|
priv->clients = g_list_append (priv->clients, cal);
|
||||||
g_mutex_unlock (priv->clients_mutex);
|
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;
|
priv = backend->priv;
|
||||||
|
|
||||||
@ -1137,9 +1139,9 @@ Index: calendar/libedata-cal/e-cal-backend.c
|
|||||||
priv->clients = g_list_remove (priv->clients, cal);
|
priv->clients = g_list_remove (priv->clients, cal);
|
||||||
Index: calendar/libecal/e-cal.c
|
Index: calendar/libecal/e-cal.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- calendar/libecal/e-cal.c (revision 7790)
|
--- calendar/libecal/e-cal.c.orig
|
||||||
+++ calendar/libecal/e-cal.c (working copy)
|
+++ calendar/libecal/e-cal.c
|
||||||
@@ -41,6 +41,9 @@
|
@@ -42,6 +42,9 @@
|
||||||
#include "e-cal-view-private.h"
|
#include "e-cal-view-private.h"
|
||||||
#include "e-cal.h"
|
#include "e-cal.h"
|
||||||
|
|
||||||
@ -1149,8 +1151,8 @@ Index: calendar/libecal/e-cal.c
|
|||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
open_calendar (ECal *ecal, gboolean only_if_exists, GError **error, ECalendarStatus *status, gboolean needs_auth);
|
open_calendar (ECal *ecal, gboolean only_if_exists, GError **error, ECalendarStatus *status, gboolean needs_auth);
|
||||||
@@ -987,19 +991,19 @@
|
@@ -891,19 +894,19 @@ cal_query_cb (ECalListener *listener, EC
|
||||||
g_mutex_unlock (op->mutex);
|
e_flag_set (op->done);
|
||||||
}
|
}
|
||||||
|
|
||||||
-static gboolean
|
-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)
|
e_cal_init (ECal *ecal, ECalClass *klass)
|
||||||
{
|
{
|
||||||
ECalPrivate *priv;
|
ECalPrivate *priv;
|
||||||
@ -1183,7 +1185,7 @@ Index: calendar/libecal/e-cal.c
|
|||||||
priv = g_new0 (ECalPrivate, 1);
|
priv = g_new0 (ECalPrivate, 1);
|
||||||
ecal->priv = priv;
|
ecal->priv = priv;
|
||||||
|
|
||||||
@@ -1151,6 +1157,18 @@
|
@@ -1055,6 +1060,18 @@ e_cal_init (ECal *ecal, ECalClass *klass
|
||||||
priv->mutex = g_mutex_new ();
|
priv->mutex = g_mutex_new ();
|
||||||
priv->listener = e_cal_listener_new (cal_set_mode_cb, ecal);
|
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->cal_address = NULL;
|
||||||
priv->alarm_email_address = NULL;
|
priv->alarm_email_address = NULL;
|
||||||
priv->ldap_attribute = NULL;
|
priv->ldap_attribute = NULL;
|
||||||
@@ -1730,7 +1748,7 @@
|
@@ -1632,7 +1649,7 @@ open_calendar (ECal *ecal, gboolean only
|
||||||
g_mutex_unlock (priv->mutex);
|
g_mutex_unlock (priv->mutex);
|
||||||
|
|
||||||
/* see if the backend needs authentication */
|
/* see if the backend needs authentication */
|
||||||
- if ( (priv->mode != CAL_MODE_LOCAL) && e_source_get_property (priv->source, "auth")) {
|
- 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")) {
|
+ if ( needs_auth && (priv->mode != CAL_MODE_LOCAL) && e_source_get_property (priv->source, "auth")) {
|
||||||
char *prompt, *key;
|
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
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:bd4fc51ca0b049b5e7213702226c59c4f5d0086836f63e6d81b372da1a30adb3
|
|
||||||
size 7491348
|
|
3
evolution-data-server-1.11.91.tar.bz2
Normal file
3
evolution-data-server-1.11.91.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:30febc833908fa6593253024c1c01c9810222f101d962e7bf72972b74401d0ca
|
||||||
|
size 7387861
|
@ -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
|
Fri Aug 17 21:57:23 CEST 2007 - jberkman@novell.com
|
||||||
|
|
||||||
|
@ -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.
|
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
# This file and all modifications and additions to the pristine
|
# This file and all modifications and additions to the pristine
|
||||||
@ -16,8 +16,8 @@ License: GPL v2 or later
|
|||||||
Group: Development/Libraries/GNOME
|
Group: Development/Libraries/GNOME
|
||||||
Autoreqprov: on
|
Autoreqprov: on
|
||||||
Summary: Evolution Data Server
|
Summary: Evolution Data Server
|
||||||
Version: 1.11.6.1
|
Version: 1.11.91
|
||||||
Release: 9
|
Release: 1
|
||||||
Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution-data-server/1.11/%{name}-%{version}.tar.bz2
|
Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution-data-server/1.11/%{name}-%{version}.tar.bz2
|
||||||
#Patch3: evolution-data-server-gcc4.patch
|
#Patch3: evolution-data-server-gcc4.patch
|
||||||
Patch5: evolution-data-server-configure.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
|
# Change patch below if we move away from /opt/gnome
|
||||||
# It avoids a build dependency on libgnomeui to speed up bootstrap
|
# It avoids a build dependency on libgnomeui to speed up bootstrap
|
||||||
Patch99: libgnomeui-dep.patch
|
Patch99: libgnomeui-dep.patch
|
||||||
Patch100: abuild.patch
|
|
||||||
Url: http://www.gnome.org
|
Url: http://www.gnome.org
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Requires: libsoup >= 2.2.6 mozilla-nss
|
Requires: libsoup >= 2.2.6 mozilla-nss
|
||||||
@ -242,7 +241,6 @@ documentation.
|
|||||||
#%patch89
|
#%patch89
|
||||||
%patch90
|
%patch90
|
||||||
%patch99 -p1
|
%patch99 -p1
|
||||||
%patch100 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
libtoolize --force --copy
|
libtoolize --force --copy
|
||||||
@ -301,6 +299,18 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_datadir}/gtk-doc/html/*
|
%{_datadir}/gtk-doc/html/*
|
||||||
|
|
||||||
%changelog
|
%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
|
* Fri Aug 17 2007 - jberkman@novell.com
|
||||||
- add auth support for smartcards (bug #273869)
|
- add auth support for smartcards (bug #273869)
|
||||||
* Mon Aug 06 2007 - maw@suse.de
|
* Mon Aug 06 2007 - maw@suse.de
|
||||||
|
Loading…
x
Reference in New Issue
Block a user