On 2010-09-22, at 12:18 PM, Srinivasa Ragavan wrote:

> Hi,
> I have made the following changes to evolution-data-server in project 
> Trunk:Testing. Please review and accept ASAP.
> 
> Thank You,
> Srinivasa Ragavan
> 
> [This message was auto-generated]
> 
> ---
> 
> Request #7682:
> 
>  submit:   
> home:srini:branches:Trunk:Testing/evolution-data-server(r2)(cleanup) -> 
> Trunk:Testing/evolution-data-server
> 
> 
> Message:
>    * Wed Sep 22 2010 Srinivasa Ragavan <[email protected]> - 2.30.2
> - Update missing patches from Meego:1.0:Core. Fixes bmc #7055
> * Thu Sep 2 2010 Hao Li <[email protected]> - 2.30.2
> - Update simplified chinese translation in contacts/categories to fix BMC 
> #2330
> * Tue Aug 17 2010 Federico Mena-Quintero <[email protected]> - 2.30.2
> - Enable evolution-data-server-bmo182-camel-socks-proxy.patch
> - Add evolution-data-server-bmo182-camel-socks5.patch to support
>  SOCKS5 and IPv6 properly.
> * Wed Jul 04 2010 Peter Zhu <[email protected]> - 2.30.2
> - Disable socks patch to fix BMC #3667
> * Wed Jun 30 2010 Michael Meeks <[email protected]> - 2.30.2
> - Fix BMC#182 - add SOCKS proxy support (to camel)
> * Tue Jun 29 2010 Michael Meeks <[email protected]> - 2.30.2
> - Fix BMC #1510 - use system NSS cache by updating to newer snapshot
>  of the stable branch fixing many other known bugs.
> - drop two patches already present there.
> - ensure that we keep the soname we originally shipped with.
> * Thu Jun 10 2010 Srinivasa Ragavan <[email protected]> - 2.30.1
> - Fix BMC #1846 - Updated an existing patch.
> * Mon May 10 2010 Michael Meeks <[email protected]> - 2.30.1
> - fix name selection sizing & layout to fit screen, bmc#1703
> 
> State:   new          2010-09-22T04:18:50 srini
> Comment: None
> 
> 
> 
> changes files:
> --------------
> --- evolution-data-server.changes
> +++ evolution-data-server.changes
> @@ -0,0 +1,29 @@
> +* Wed Sep 22 2010 Srinivasa Ragavan <[email protected]> - 2.30.2
> +- Update missing patches from Meego:1.0:Core. Fixes bmc #7055
> +
> +* Thu Sep 2 2010 Hao Li <[email protected]> - 2.30.2
> +- Update simplified chinese translation in contacts/categories to fix BMC 
> #2330
> +
> +* Tue Aug 17 2010 Federico Mena-Quintero <[email protected]> - 2.30.2
> +- Enable evolution-data-server-bmo182-camel-socks-proxy.patch
> +- Add evolution-data-server-bmo182-camel-socks5.patch to support
> +  SOCKS5 and IPv6 properly.
> +
> +* Wed Jul 04 2010 Peter Zhu <[email protected]> - 2.30.2
> +- Disable socks patch to fix BMC #3667
> +
> +* Wed Jun 30 2010 Michael Meeks <[email protected]> - 2.30.2
> +- Fix BMC#182 - add SOCKS proxy support (to camel)
> +
> +* Tue Jun 29 2010 Michael Meeks <[email protected]> - 2.30.2
> +- Fix BMC #1510 - use system NSS cache by updating to newer snapshot
> +  of the stable branch fixing many other known bugs.
> +- drop two patches already present there.
> +- ensure that we keep the soname we originally shipped with.
> +
> +* Thu Jun 10 2010 Srinivasa Ragavan <[email protected]> - 2.30.1
> +- Fix BMC #1846 - Updated an existing patch.
> +
> +* Mon May 10 2010 Michael Meeks <[email protected]> - 2.30.1
> +- fix name selection sizing & layout to fit screen, bmc#1703
> +
> 
> old:
> ----
>  evolution-data-server-2.30.1~20100421.tar.bz2
> 
> new:
> ----
>  eds-soname-retain.patch
>  evolution-data-server-2.30.2~20100629.tar.bz2
>  evolution-data-server-bmo182-camel-socks-proxy.patch
>  evolution-data-server-bmo182-camel-socks5.patch
>  evolution-data-server-contacts-bug-2330.patch
> 
> spec files:
> -----------
> --- evolution-data-server.spec
> +++ evolution-data-server.spec
> @@ -13,10 +13,10 @@
> %define eds_extensions_dir 
> %{_libdir}/evolution-data-server-%{eds_api_version}/extensions
> 
> Name: evolution-data-server
> -Version: 2.30.1~20100421
> +Version: 2.30.2~20100629
> Release: 1
> License: LGPLv2
> -Group: System/Libraries
> +Group: System Environment/Libraries

Thats is wrong, please resubmit.


> Summary: Backend data server for Evolution
> URL: http://git.gnome.org/cgit/evolution-data-server
> BuildRoot: %{_tmppath}/%{name}-%{version}-root
> @@ -53,8 +53,11 @@
> 
> # Moblin specific patches
> Patch1: no-module-logging.patch
> -Patch2: use-nss-system-db.patch
> +Patch2: eds-soname-retain.patch
> Patch3: BUGFIX-GNOME-Bug-593882-Ghost-mails-seen-in-Anjal-v3.patch
> +Patch4: evolution-data-server-bmo182-camel-socks-proxy.patch
> +Patch5: evolution-data-server-bmo182-camel-socks5.patch
> +Patch6: evolution-data-server-contacts-bug-2330.patch
> 
> %description
> The %{name} package provides a unified backend for programs
> @@ -77,8 +80,11 @@
> %setup -q
> 
> %patch1 -p1 -b .no-module-logging
> -%patch2 -p1 -b .system-nss
> +%patch2 -p1 -b .eds-soname-retain
> %patch3 -p1 -b .ghost-mails
> +%patch4 -p1 -b .evolution-data-server-bmo182-camel-socks-proxy
> +%patch5 -p1 -b .evolution-data-server-bmo182-camel-socks5
> +%patch6 -p1 -b .evolution-data-server-contacts-bug-2330
> %build
> 
> %if %{ldap_support}
> 
> other changes:
> --------------
> 
> ++++++ eds-soname-retain.patch (new)
> --- eds-soname-retain.patch
> +++ eds-soname-retain.patch
> +Revert this commit (appended):
> +       + we always shipped without EComponentListener
> +       + changing the .soname in mid-flow is really awful
> +       + The original MeeGo so-name was .11 - so lets keep it
> +         that way.
> +
> +
> +commit 9930a96021157de4317d19dc275b51a917391df8
> +Author: Matthew Barnes <[email protected]>
> +Date:   Fri May 21 21:14:12 2010 -0400
> +
> +    Bump libedataserver soname twice.
> +    
> +    We screwed up and forgot to bump libedataserver's shared object name
> +    when EComponentListener was removed during the 2.29 development cycle.
> +    
> +    The problem is we now need to bump both master and gnome-2-30 branches,
> +    but master was already bumped once when all the deprecated API was
> +    removed for 2.31.1.  So to keep all the names unique, the gnome-2-30
> +    soname will leapfrog master, and master will leapfrog gnome-2-30.
> +    
> +    It breaks down like this:
> +    
> +        Version     Shared Object Name         Note
> +    
> +        <= 2.30.1 : libedataserver-1.2.so.11 :
> +        == 2.31.1 : libedataserver-1.2.so.12 : Deprecated API removed
> +        >= 2.30.2 : libedataserver-1.2.so.13 : EComponentListener removed
> +        >= 2.31.2 : libedataserver-1.2.so.14 : EComponentListener removed
> +
> +diff --git a/configure.ac b/configure.ac
> +index 2edb90c..9c3a099 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -55,7 +55,7 @@ EDS_MICRO_VERSION=eds_micro_version
> + dnl ******************************
> + dnl Libtool versioning
> + dnl ******************************
> +-LIBEDATASERVER_CURRENT=13
> ++LIBEDATASERVER_CURRENT=11
> + LIBEDATASERVER_REVISION=1
> + LIBEDATASERVER_AGE=0
> + 
> 
> ++++++ evolution-data-server-2.30.1~20100421.tar.bz2 -> 
> evolution-data-server-2.30.2~20100629.tar.bz2
> 34820 lines of diff (skipped)
> 
> ++++++ evolution-data-server-bmo182-camel-socks-proxy.patch (new)
> --- evolution-data-server-bmo182-camel-socks-proxy.patch
> +++ evolution-data-server-bmo182-camel-socks-proxy.patch
> +diff --git a/camel/camel-private.h b/camel/camel-private.h
> +index 51fc00f..f235ab4 100644
> +--- a/camel/camel-private.h
> ++++ b/camel/camel-private.h
> +@@ -97,6 +97,8 @@ struct _CamelSessionPrivate {
> +     GHashTable *thread_msg_op;
> +     GHashTable *junk_headers;
> + 
> ++    char *socks_proxy_host;
> ++    int socks_proxy_port;
> + };
> + 
> + #define CAMEL_SESSION_LOCK(f, l) \
> +diff --git a/camel/camel-session.c b/camel/camel-session.c
> +index 5b626ac..36a2d38 100644
> +--- a/camel/camel-session.c
> ++++ b/camel/camel-session.c
> +@@ -159,6 +159,34 @@ camel_session_construct (CamelSession *session, const 
> gchar *storage_path)
> +     session->storage_path = g_strdup (storage_path);
> + }
> + 
> ++void
> ++camel_session_set_socks_proxy (CamelSession *session, const gchar 
> *socks_host, int socks_port)
> ++{
> ++    g_return_if_fail (CAMEL_IS_SESSION (session));
> ++
> ++    if (session->priv->socks_proxy_host)
> ++            g_free (session->priv->socks_proxy_host);
> ++
> ++    if (socks_host && socks_host[0] != '\0') {
> ++            session->priv->socks_proxy_host = g_strdup (socks_host);
> ++            session->priv->socks_proxy_port = socks_port;
> ++    } else {
> ++            session->priv->socks_proxy_host = NULL;
> ++            session->priv->socks_proxy_port = 0;
> ++    }
> ++}
> ++
> ++void
> ++camel_session_get_socks_proxy (CamelSession *session, gchar **host_ret, 
> gint *port_ret)
> ++{
> ++    g_return_if_fail (CAMEL_IS_SESSION (session));
> ++    g_return_if_fail (host_ret != NULL);
> ++    g_return_if_fail (port_ret != NULL);
> ++
> ++    *host_ret = g_strdup (session->priv->socks_proxy_host);
> ++    *port_ret = session->priv->socks_proxy_port;
> ++}
> ++
> + static CamelService *
> + get_service (CamelSession *session, const gchar *url_string,
> +          CamelProviderType type, CamelException *ex)
> +diff --git a/camel/camel-session.h b/camel/camel-session.h
> +index e6d6455..543aac1 100644
> +--- a/camel/camel-session.h
> ++++ b/camel/camel-session.h
> +@@ -132,6 +132,13 @@ CamelType camel_session_get_type (void);
> + void            camel_session_construct             (CamelSession *session,
> +                                                  const gchar *storage_path);
> + 
> ++void            camel_session_set_socks_proxy       (CamelSession *session,
> ++                                                 const gchar *socks_host,
> ++                                                 gint socks_port);
> ++void            camel_session_get_socks_proxy       (CamelSession *session,
> ++                                                 gchar **host_ret,
> ++                                                 gint *port_ret);
> ++
> + CamelService *  camel_session_get_service           (CamelSession *session,
> +                                                  const gchar *url_string,
> +                                                  CamelProviderType type,
> +diff --git a/camel/camel-tcp-stream-raw.c b/camel/camel-tcp-stream-raw.c
> +index 72979e7..89a29e5 100644
> +--- a/camel/camel-tcp-stream-raw.c
> ++++ b/camel/camel-tcp-stream-raw.c
> +@@ -33,6 +33,7 @@
> + #include <sys/types.h>
> + 
> + #include "camel-file-utils.h"
> ++#include "camel-net-utils.h"
> + #include "camel-operation.h"
> + #include "camel-tcp-stream-raw.h"
> + 
> +@@ -400,15 +401,97 @@ socket_connect(struct addrinfo *h)
> +     return fd;
> + }
> + 
> ++/* Returns the FD of a socket, already connected to and validated by the 
> SOCKS4
> ++ * proxy that is configured in the stream.  Otherwise returns -1.  Assumes 
> that
> ++ * a proxy *is* configured with camel_tcp_stream_set_socks_proxy().
> ++ */
> ++static gint
> ++connect_to_socks4_proxy (const gchar *proxy_host, gint proxy_port, struct 
> addrinfo *connect_addr)
> ++{
> ++    struct addrinfo *ai, hints;
> ++    gchar serv[16];
> ++    gint fd;
> ++    gchar request[9];
> ++    struct sockaddr_in *sin;
> ++    gchar reply[8];
> ++    gint save_errno;
> ++
> ++    g_assert (proxy_host != NULL);
> ++
> ++    sprintf (serv, "%d", proxy_port);
> ++
> ++    memset (&hints, 0, sizeof (hints));
> ++    hints.ai_socktype = SOCK_STREAM;
> ++
> ++    ai = camel_getaddrinfo (proxy_host, serv, &hints, NULL); /* 
> NULL-CamelException */
> ++    if (!ai) {
> ++            errno = EHOSTUNREACH; /* FIXME: this is not an accurate error; 
> we should translate the CamelException to an errno */
> ++            return -1;
> ++    }
> ++
> ++    fd = socket_connect (ai);
> ++    save_errno = errno;
> ++
> ++    camel_freeaddrinfo (ai);
> ++
> ++    if (fd == -1) {
> ++            errno = save_errno;
> ++            goto error;
> ++    }
> ++
> ++    g_assert (connect_addr->ai_addr->sa_family == AF_INET); /* FIXME: what 
> to do about IPv6?  Are we just screwed with SOCKS4? */
> ++    sin = (struct sockaddr_in *) connect_addr->ai_addr;
> ++
> ++    request[0] = 0x04;                              /* SOCKS4 */
> ++    request[1] = 0x01;                              /* CONNECT */
> ++    memcpy (request + 2, &sin->sin_port, 2);        /* port in network byte 
> order */
> ++    memcpy (request + 4, &sin->sin_addr.s_addr, 4); /* address in network 
> byte order */
> ++    request[8] = 0x00;                              /* terminator */
> ++
> ++    if (camel_write_socket (fd, request, sizeof (request)) != sizeof 
> (request))
> ++            goto error;
> ++
> ++    if (camel_read_socket (fd, reply, sizeof (reply)) != sizeof (reply))
> ++            goto error;
> ++
> ++    if (!(reply[0] == 0             /* first byte of reply is 0 */
> ++          && reply[1] == 90)) {     /* 90 means "request granted" */
> ++            errno = ECONNREFUSED;
> ++            goto error;
> ++    }
> ++
> ++    goto out;
> ++
> ++error:
> ++    if (fd != -1) {
> ++            save_errno = errno;
> ++            SOCKET_CLOSE (fd);
> ++            errno = save_errno;
> ++            fd = -1;
> ++    }
> ++
> ++out:
> ++
> ++    return fd;
> ++}
> ++
> + static gint
> + stream_connect (CamelTcpStream *stream, struct addrinfo *host)
> + {
> +     CamelTcpStreamRaw *raw = CAMEL_TCP_STREAM_RAW (stream);
> ++    const gchar *proxy_host;
> ++    gint proxy_port;
> + 
> +     g_return_val_if_fail (host != NULL, -1);
> + 
> ++    camel_tcp_stream_peek_socks_proxy (stream, &proxy_host, &proxy_port);
> ++
> +     while (host) {
> +-            raw->sockfd = socket_connect(host);
> ++            if (proxy_host)
> ++                    raw->sockfd = connect_to_socks4_proxy (proxy_host, 
> proxy_port, host);
> ++            else
> ++                    raw->sockfd = socket_connect (host);
> ++
> +             if (raw->sockfd != -1)
> +                     return 0;
> + 
> +diff --git a/camel/camel-tcp-stream-ssl.c b/camel/camel-tcp-stream-ssl.c
> +index 62290c4..132c977 100644
> +--- a/camel/camel-tcp-stream-ssl.c
> ++++ b/camel/camel-tcp-stream-ssl.c
> +@@ -55,12 +55,15 @@
> + 
> + #include "camel-certdb.h"
> + #include "camel-file-utils.h"
> ++#include "camel-net-utils.h"
> + #include "camel-operation.h"
> + #include "camel-private.h"
> + #include "camel-session.h"
> + #include "camel-stream-fs.h"
> + #include "camel-tcp-stream-ssl.h"
> + 
> ++#define d(x)
> ++
> (806 more lines skipped)
> 
> ++++++ evolution-data-server-bmo182-camel-socks5.patch (new)
> --- evolution-data-server-bmo182-camel-socks5.patch
> +++ evolution-data-server-bmo182-camel-socks5.patch
> +diff --git a/camel/camel-exception-list.def b/camel/camel-exception-list.def
> +index 9d2940f..300743f 100644
> +--- a/camel/camel-exception-list.def
> ++++ b/camel/camel-exception-list.def
> +@@ -38,4 +38,8 @@ CAMEL_EXCEPTION_SERVICE_NOT_CONNECTED,
> + 
> + 
> + /* CamelOperation */
> +-CAMEL_EXCEPTION_OPERATION_IN_PROGRESS = 400
> ++CAMEL_EXCEPTION_OPERATION_IN_PROGRESS = 400,
> ++
> ++/* SOCKS proxies in CamelTcpStream */
> ++CAMEL_EXCEPTION_PROXY_NOT_SUPPORTED = 500,
> ++CAMEL_EXCEPTION_PROXY_CANT_AUTHENTICATE
> +diff --git a/camel/camel-http-stream.c b/camel/camel-http-stream.c
> +index cbab535..40a5dc7 100644
> +--- a/camel/camel-http-stream.c
> ++++ b/camel/camel-http-stream.c
> +@@ -173,7 +173,6 @@ static CamelStream *
> + http_connect (CamelHttpStream *http, CamelURL *url)
> + {
> +     CamelStream *stream = NULL;
> +-    struct addrinfo *ai, hints = { 0 };
> +     gint errsave;
> +     gchar *serv;
> + 
> +@@ -198,24 +197,14 @@ http_connect (CamelHttpStream *http, CamelURL *url)
> +     } else {
> +             serv = url->protocol;
> +     }
> +-    hints.ai_socktype = SOCK_STREAM;
> + 
> +-    ai = camel_getaddrinfo(url->host, serv, &hints, NULL);
> +-    if (ai == NULL) {
> +-            camel_object_unref (stream);
> +-            return NULL;
> +-    }
> +-
> +-    if (camel_tcp_stream_connect (CAMEL_TCP_STREAM (stream), ai) == -1) {
> ++    if (camel_tcp_stream_connect (CAMEL_TCP_STREAM (stream), url->host, 
> serv, 0, NULL) == -1) { /* NULL-CamelException */
> +             errsave = errno;
> +             camel_object_unref (stream);
> +-            camel_freeaddrinfo(ai);
> +             errno = errsave;
> +             return NULL;
> +     }
> + 
> +-    camel_freeaddrinfo(ai);
> +-
> +     http->raw = stream;
> +     http->read = camel_stream_buffer_new (stream, CAMEL_STREAM_BUFFER_READ);
> + 
> +diff --git a/camel/camel-tcp-stream-raw.c b/camel/camel-tcp-stream-raw.c
> +index 89a29e5..4e3711a 100644
> +--- a/camel/camel-tcp-stream-raw.c
> ++++ b/camel/camel-tcp-stream-raw.c
> +@@ -32,24 +32,26 @@
> + #include <sys/time.h>
> + #include <sys/types.h>
> + 
> ++#include <nspr.h>
> ++#include <prio.h>
> ++#include <prerror.h>
> ++#include <prerr.h>
> ++
> ++#include <glib/gi18n-lib.h>
> ++
> + #include "camel-file-utils.h"
> + #include "camel-net-utils.h"
> + #include "camel-operation.h"
> + #include "camel-tcp-stream-raw.h"
> + 
> +-#ifndef G_OS_WIN32
> +-#define SOCKET_ERROR_CODE() errno
> +-#define SOCKET_CLOSE(fd) close (fd)
> +-#define SOCKET_ERROR_IS_EINPROGRESS() (errno == EINPROGRESS)
> +-#define SOCKET_ERROR_IS_EINTR() (errno == EINTR)
> +-#else
> +-#define SOCKET_ERROR_CODE() WSAGetLastError ()
> +-#define SOCKET_CLOSE(fd) closesocket (fd)
> +-#define SOCKET_ERROR_IS_EINPROGRESS() (WSAGetLastError () == WSAEWOULDBLOCK)
> +-#define SOCKET_ERROR_IS_EINTR() 0 /* No WSAEINTR in WinSock2 */
> +-#undef ETIMEDOUT            /* In case pthreads-win32's <pthread.h> bogusly 
> defined it */
> +-#define ETIMEDOUT EAGAIN
> +-#endif
> ++#define d(x)
> ++
> ++#define IO_TIMEOUT (PR_TicksPerSecond() * 4 * 60)
> ++#define CONNECT_TIMEOUT (PR_TicksPerSecond () * 4 * 60)
> ++
> ++typedef struct _CamelTcpStreamRawPrivate {
> ++    PRFileDesc *sockfd;
> ++} CamelTcpStreamRawPrivate;
> + 
> + static CamelTcpStreamClass *parent_class = NULL;
> + 
> +@@ -61,11 +63,12 @@ static gssize stream_write (CamelStream *stream, const 
> gchar *buffer, gsize n);
> + static gint stream_flush  (CamelStream *stream);
> + static gint stream_close  (CamelStream *stream);
> + 
> +-static gint stream_connect (CamelTcpStream *stream, struct addrinfo *host);
> ++static gint stream_connect (CamelTcpStream *stream, const char *host, const 
> char *service, gint fallback_port, CamelException *ex);
> + static gint stream_getsockopt (CamelTcpStream *stream, CamelSockOptData 
> *data);
> + static gint stream_setsockopt (CamelTcpStream *stream, const 
> CamelSockOptData *data);
> + static struct sockaddr *stream_get_local_address (CamelTcpStream *stream, 
> socklen_t *len);
> + static struct sockaddr *stream_get_remote_address (CamelTcpStream *stream, 
> socklen_t *len);
> ++static PRFileDesc *stream_get_file_desc (CamelTcpStream *stream);
> + 
> + static void
> + camel_tcp_stream_raw_class_init (CamelTcpStreamRawClass 
> *camel_tcp_stream_raw_class)
> +@@ -88,23 +91,34 @@ camel_tcp_stream_raw_class_init (CamelTcpStreamRawClass 
> *camel_tcp_stream_raw_cl
> +     camel_tcp_stream_class->setsockopt  = stream_setsockopt;
> +     camel_tcp_stream_class->get_local_address  = stream_get_local_address;
> +     camel_tcp_stream_class->get_remote_address = stream_get_remote_address;
> ++    camel_tcp_stream_class->get_file_desc = stream_get_file_desc;
> + }
> + 
> + static void
> + camel_tcp_stream_raw_init (gpointer object, gpointer klass)
> + {
> +     CamelTcpStreamRaw *stream = CAMEL_TCP_STREAM_RAW (object);
> ++    CamelTcpStreamRawPrivate *priv;
> + 
> +-    stream->sockfd = -1;
> ++    stream->priv = g_new0 (CamelTcpStreamRawPrivate, 1);
> ++    priv = stream->priv;
> ++
> ++    priv->sockfd = NULL;
> + }
> + 
> + static void
> + camel_tcp_stream_raw_finalize (CamelObject *object)
> + {
> +-    CamelTcpStreamRaw *stream = CAMEL_TCP_STREAM_RAW (object);
> ++    CamelTcpStreamRaw *raw = CAMEL_TCP_STREAM_RAW (object);
> ++    CamelTcpStreamRawPrivate *priv = raw->priv;
> + 
> +-    if (stream->sockfd != -1)
> +-            SOCKET_CLOSE (stream->sockfd);
> ++    if (priv->sockfd != NULL) {
> ++            PR_Shutdown (priv->sockfd, PR_SHUTDOWN_BOTH);
> ++            PR_Close (priv->sockfd);
> ++    }
> ++
> ++    g_free (raw->priv);
> ++    raw->priv = NULL;
> + }
> + 
> + CamelType
> +@@ -244,202 +258,492 @@ camel_tcp_stream_raw_new (void)
> +     return CAMEL_STREAM (stream);
> + }
> + 
> ++void
> ++_set_errno_from_pr_error (gint pr_code)
> ++{
> ++    /* FIXME: this should handle more. */
> ++    switch (pr_code) {
> ++    case PR_INVALID_ARGUMENT_ERROR:
> ++            errno = EINVAL;
> ++            break;
> ++    case PR_PENDING_INTERRUPT_ERROR:
> ++            errno = EINTR;
> ++            break;
> ++    case PR_IO_PENDING_ERROR:
> ++            errno = EAGAIN;
> ++            break;
> ++#ifdef EWOULDBLOCK
> ++    case PR_WOULD_BLOCK_ERROR:
> ++            errno = EWOULDBLOCK;
> ++            break;
> ++#endif
> ++#ifdef EINPROGRESS
> ++    case PR_IN_PROGRESS_ERROR:
> ++            errno = EINPROGRESS;
> ++            break;
> ++#endif
> ++#ifdef EALREADY
> ++    case PR_ALREADY_INITIATED_ERROR:
> ++            errno = EALREADY;
> ++            break;
> ++#endif
> ++#ifdef EHOSTUNREACH
> ++    case PR_NETWORK_UNREACHABLE_ERROR:
> ++            errno = EHOSTUNREACH;
> ++            break;
> ++#endif
> ++#ifdef ECONNREFUSED
> ++    case PR_CONNECT_REFUSED_ERROR:
> ++            errno = ECONNREFUSED;
> ++            break;
> ++#endif
> ++#ifdef ETIMEDOUT
> ++    case PR_CONNECT_TIMEOUT_ERROR:
> ++    case PR_IO_TIMEOUT_ERROR:
> ++            errno = ETIMEDOUT;
> ++            break;
> ++#endif
> (2969 more lines skipped)
> 
> ++++++ evolution-data-server-contacts-bug-2330.patch (new)
> --- evolution-data-server-contacts-bug-2330.patch
> +++ evolution-data-server-contacts-bug-2330.patch
> +diff --git a/po/zh_CN.po b/po/zh_CN.po
> +index ac607f8..c061980 100644
> +--- a/po/zh_CN.po
> ++++ b/po/zh_CN.po
> +@@ -4819,8 +4819,8 @@ msgid "Category _Name"
> + msgstr "类别名称(_N)"
> + 
> + #: ../libedataserverui/e-categories-dialog.ui.h:5
> +-msgid "Item(s) belong to these _categories:"
> +-msgstr "项目属于这些类别(_C):"
> ++msgid "Item(s) _belong to these categories:"
> ++msgstr "项目属于这些类别(_B):"
> + 
> + #: ../libedataserverui/e-categories-dialog.ui.h:6
> + msgid "_Available Categories:"
> 
> _______________________________________________
> Meego-commits mailing list
> [email protected]
> http://lists.meego.com/listinfo/meego-commits

_______________________________________________
MeeGo-packaging mailing list
[email protected]
http://lists.meego.com/listinfo/meego-packaging

Reply via email to