Package: release.debian.org Severity: normal Tags: jessie User: [email protected] Usertags: pu
I'd like to see an update for #787398 in jessie, as a customer of mine has hit this bug, and it's a particularly nasty one. proposed debdiff: diff -Nru evolution-data-server-3.12.9~git20141128.5242b0/debian/changelog evolution-data-server-3.12.9~git20141128.5242b0/debian/changelog --- evolution-data-server-3.12.9~git20141128.5242b0/debian/changelog 2015-03-25 12:16:25.000000000 +0100 +++ evolution-data-server-3.12.9~git20141128.5242b0/debian/changelog 2016-12-21 18:31:01.000000000 +0100 @@ -1,3 +1,13 @@ +evolution-data-server (3.12.9~git20141128.5242b0-2+deb8u2.1) jessie; urgency=medium + + * Non-maintainer upload. + * d/p/06_787398_bae0c64_fix_connection_drop.patch: cherry-pick commit + bae0c64 from upstream git to fix premature drop of connection with + reduced TCP window sizes and resulting loss of data. Closes: + #787398. + + -- Wouter Verhelst <[email protected]> Wed, 21 Dec 2016 18:31:01 +0100 + evolution-data-server (3.12.9~git20141128.5242b0-2+deb8u2) unstable; urgency=medium * d/p/05_imapx-Shared-folders-removed-folder-list-refresh.patch: Fix shared diff -Nru evolution-data-server-3.12.9~git20141128.5242b0/debian/patches/06_787398_bae0c64_fix_connection_drop.patch evolution-data-server-3.12.9~git20141128.5242b0/debian/patches/06_787398_bae0c64_fix_connection_drop.patch --- evolution-data-server-3.12.9~git20141128.5242b0/debian/patches/06_787398_bae0c64_fix_connection_drop.patch 1970-01-01 01:00:00.000000000 +0100 +++ evolution-data-server-3.12.9~git20141128.5242b0/debian/patches/06_787398_bae0c64_fix_connection_drop.patch 2016-12-21 18:31:01.000000000 +0100 @@ -0,0 +1,58 @@ +Description: Make camel_stream_write() try to write all bytes at once + The default implementation of CamelStream::write() used + g_output_stream_write() method, which could write only a partial content, + returning how many bytes had been actually written. That's fine, but not each + caller counted with this, thus for example a CamelStreamFilter::write() failed + when only partial buffer had been written, which could cause a silent failure + on message send. Easier than taking care of the not-whole-buffer-written state + at each place of the usage is to use g_output_stream_write_all() function + instead, which fails only on errors. + . + evolution-data-server (3.12.9~git20141128.5242b0-2+deb8u2) unstable; urgency=medium + . + * d/p/05_imapx-Shared-folders-removed-folder-list-refresh.patch: Fix shared + IMAP folders disappearing in some situations. +Author: Milan Crha <[email protected]> +Origin: upstream, https://git.gnome.org/browse/evolution-data-server/commit/?id=bae0c64 +Bug-Debian: https://bugs.debian.org/787398 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/1442756/ +Forwarded: not-needed +Last-Update: 2016-12-21 + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + + +--- evolution-data-server-3.12.9~git20141128.5242b0.orig/camel/camel-stream.c ++++ evolution-data-server-3.12.9~git20141128.5242b0/camel/camel-stream.c +@@ -149,20 +149,25 @@ stream_write (CamelStream *stream, + GError **error) + { + GIOStream *base_stream; +- gssize n_bytes_written = (gssize) n; ++ gssize n_bytes_written = -1; + + base_stream = camel_stream_ref_base_stream (stream); + + if (base_stream != NULL) { + GOutputStream *output_stream; ++ gsize n_written = 0; + + output_stream = g_io_stream_get_output_stream (base_stream); + stream->eos = FALSE; + +- n_bytes_written = g_output_stream_write ( +- output_stream, buffer, n, cancellable, error); ++ if (g_output_stream_write_all (output_stream, buffer, n, &n_written, cancellable, error)) ++ n_bytes_written = (gssize) n_written; ++ else ++ n_bytes_written = -1; + + g_object_unref (base_stream); ++ } else { ++ g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, _("Cannot write with no base stream")); + } + + return n_bytes_written; diff -Nru evolution-data-server-3.12.9~git20141128.5242b0/debian/patches/series evolution-data-server-3.12.9~git20141128.5242b0/debian/patches/series --- evolution-data-server-3.12.9~git20141128.5242b0/debian/patches/series 2015-02-12 10:57:14.000000000 +0100 +++ evolution-data-server-3.12.9~git20141128.5242b0/debian/patches/series 2016-12-21 18:27:51.000000000 +0100 @@ -2,3 +2,4 @@ 03_Use-after-free-gpg-verif.patch 04_sqlite-Track-pending-sync-requests.patch 05_imapx-Shared-folders-removed-folder-list-refresh.patch +06_787398_bae0c64_fix_connection_drop.patch -- System Information: Debian Release: stretch/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'unreleased'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, m68k, arm64 Kernel: Linux 4.8.0-2-amd64 (SMP w/8 CPU cores) Locale: LANG=nl_BE.UTF-8, LC_CTYPE=nl_BE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)

