lp://staging/~jbicha/syncevolution/rebuild-for-eds324
- Get this branch:
- bzr branch lp://staging/~jbicha/syncevolution/rebuild-for-eds324
Branch merges
- Ubuntu Phablet Team: Pending requested
- Diff: 0 lines
Branch information
Recent revisions
- 4643. By CI Train Bot Account
-
* Add 0003-Add-
missing- casts-from- shared_ ptr-to- bool-to- fix-FTB. patch
to add missing casts from shared_ptr to bool, fixes FTBFS with GCC 6
* Fix remaining FTBFS with GCC 6 by downgrading the C++ dialect to gnu++98
(Closes: #811624) (LP: #1613405) - 4641. By CI Train Bot Account
-
New upstream release
-debian/patches/ Avoid-crash- if-the- g_variant_ new_string- fails.patch, merged
upstream - 4638. By Patrick Ohly <email address hidden>
-
syncing: avoid segfault for invalid text inside items (FDO #90118)
As reported by Canonical, syncing fails if data items contain
text which is not correct UTF-8 in one of the fields that
SyncEvolution logs in the command line output (like SUMMARY of
a calendar event).That is because the byte string coming from the item is passed
unchecked to the D-Bus implementation for transmission via D-Bus. But
D-Bus strings must be correct UTF-8, so depending on the D-Bus library
in use, one gets a segfault (GIO D-Bus, due to an unchecked NULL
pointer access) or an "out of memory" error (libdbus, which checks for
NULL).What the D-Bus bindings now do is checking the string in advance (to
avoid error messages inside the D-Bus implementations) and then
replacing all invalid bytes with question marks. The rest of the
string is preserved.Handling this inside the D-Bus binding layer is not the "correct"
solution (which would be to check for UTF-8 in the higher layers were
such bad data might get into SyncEvolution), but it is the less
intrusive and more complete one. Changing the bindings such that all
strings must be declared explicitly as "UTF-8 string" would have been
a way to find all places where such checks are missing, but it turned
out to be too complex and requiring too many changes. - 4637. By Patrick Ohly <email address hidden>
-
file backend: log item manipulation
Extracting a meaningful description of each item from the Synthesis
engine when updating and adding items is easy to do for items of
certain known types (contacts and calendar items) and arguably an
improvement; in particular it makes tests like
TestCmdline.testSyncOutput more realistic. - 4636. By Patrick Ohly <email address hidden>
-
D-Bus testing: check sync result on both sides of TestLocalSync.
testSync Checking that the item still exists on the side where it was created
is okay, but it is more important to check that it also reached the
other side. - 4635. By Patrick Ohly <email address hidden>
-
command line: preserve log prefix of target side of local sync
In some cases, the prefix which was supposed to be embedded
in the log messages from the target side of a local sync got
lost on the way to the command line tool.Primarily this affected the added/updated/
deleted messages, as in: [INFO remote@client] @client/
addressbook: started
[INFO remote@client] updating "Joan Doe"
[INFO remote@client] @client/addressbook: received 1/1 This was not caught by automated testing because the corresponding
test (TestCmdline.testSyncOutput and TestCmdline. testSyncOutput2 ) is
using the file backend, which does not generate such messages at the
moment (to be changed separately).
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp://staging/syncevolution