[SyncEvolution] SyncEvolution 1.5.1 released
by Patrick Ohly
About SyncEvolution
===================
SyncEvolution synchronizes personal information management (PIM) data
via various protocols (SyncML, CalDAV/CardDAV, ActiveSync). It syncs
contacts, appointments, tasks and memos. It syncs to web services or to
SyncML-capable phones via Bluetooth.
Binaries are available for Linux desktops (using GNOME Evolution, or
KDE's Akonadi), for Maemo (Nokia N900, N9) and Sailfish OS (Jolla
phone).
About 1.5.1
===========
Maintenance release. Binaries now also get compiled for Debian 8.0
"Jessie".
Details:
* avoid time zone issue with Funambol server
The Funambol iCalendar 2.0 parser fails to handle time zones
with quotation marks around the TZID value, which is something
that SyncEvolution started to add in 1.4.99.3. While it is valid
to quote like that, it is not necessary, so avoid quoting in
this case to restore interoperability.
* syncevo-http-server: stop using deprecated twisted.web.error (FDO #90419)
This has become a real problem for example on Fedora 22 where the
old name is no longer available.
* syncevo-http-server: use TLS instead of SSLv3
This fixes a potential security risk and connection problems with clients
that don't support SSLv3 anymore.
* 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).
SyncEvolution now replaces invalid bytes with a question mark in its
output while preserving the rest of the text.
* 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).
* 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
* compile fix: use ${PKG_CONFIG} instead of pkg-config.
This fixes the build on Exherbo that only has prefixed versions of
pkg-config.
* WebDAV: handle 403 during Google OAuth authentication
When sending an access token with insufficient scope (for example,
because the Ubuntu Online Accounts service definition was incomplete,
as documented in FDO #86824), Google responds with a 403 "service
denied" error.
This is now dealt with by retrying, just as for a transient 401 error.
* CalDAV: more efficient "is empty" check (FDO #86335)
Since 1.4.99.4, syncing WebDAV collections always checks first
whether there are items in the collections. This was partly done for
slow sync prevention (which is not necessary for empty collections),
partly for the "is the datastore usable" check.
However, this did not take into account that for CalDAV collections,
the entire content gets downloaded for this check. That is because
filtering by item type (VEVENT vs. VJOURNAL) is not implemented
correctly by all servers. So now all CalDAV syncs, whether incremental
or slow, always transfered all items, which is not the
intention (incremental syncs should be fast and efficient).
This release adds a more efficient isEmpty() check: for simple CardDAV
collections, only luid and etag get transferred, as in
listAllItems(). This is the behavior from 1.5.
For CalDAV, a report with a filter for the content type is used and
the transfer gets aborted after the first item, without actually
double-checking the content of the item. This is different from
listAllItems(), which really transfers the content. This extra content
check would only be needed for some old servers (Radical 0.7) and is
not essential, because reporting "not empty" even when empty is safe.
* WebDAV: send Basic Auth via http in some cases (FDO #57248)
It turned out that finding databases on an Apple Calendar server accessed via
http depends on sending Basic Auth even when the server does not ask for it:
without authentication, there is no information about the current principal,
which is necessary for finding the user's databases.
To make this work again, sending the authentication header is now forced for
plain http if (and only if) the request which should have returned the
principal URL fails to include it. This implies sending the same request
twice, but as this scenario should be rare in practise (was only done for
testing), this is acceptable.
* Ubuntu Online Accounts: support plain text credentials
The backend for UOA was rewritten by Alberto Mardegan and now also
can use plain username/password credentials stored in UOA.
* various compiler error and warning fixes
Source, Installation, Further information
=========================================
http://syncevolution.org/blogs/pohly/2015/syncevolution-151-released
Source code bundles for users are available in
https://download.01.org/syncevolution/syncevolution/sources
and the original source is in the git repositories
http://cgit.freedesktop.org/SyncEvolution/
i386, lpia and amd64 binaries for Debian-based distributions are
available via the "stable" syncevolution.org repository. Add the
following entry to your /etc/apt/source.list:
deb https://download.01.org/syncevolution/apt stable main
The GPG key for the repository needs to be imported as root with:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B2EC3981
Then install "syncevolution-evolution", "syncevolution-kde" and/or
"syncevolution-activesync".
These binaries include the "sync-ui" GTK GUI and were compiled for
Ubuntu 10.04 LTS (Lucid), except for ActiveSync binaries which were
compiled for Debian Wheezy, Ubuntu Saucy, Ubuntu Trusty an Debian
Jessie. The packages mentioned above are meta-packages which pull in
suitable packages matching the distro during installation.
Older distributions like Debian 4.0 (Etch) can no longer be supported
with precompiled binaries because of missing libraries, but the source
still compiles when not enabling the GUI (the default).
The same binaries are also available as .tar.gz and .rpm archives in
https://download.01.org/syncevolution/syncevolution/. In contrast
to 0.8.x archives, the 1.x .tar.gz archives have to be unpacked and the
content must be moved to /usr, because several files would not be found
otherwise.
After installation, follow the
http://syncevolution.org/documentation/getting-started steps.
--
Patrick Ohly, on behalf of everyone who has helped
to make SyncEvolution possible:
http://syncevolution.org/about/contributors
2 years, 12 months
[SyncEvolution] survey: providing SyncEvolution binaries
by Patrick Ohly
Hello!
I really should do a new SyncEvolution update, including the patches
that distros are using to build with more recent tools and/or libraries.
But... what distro should I provide binaries for?
That's the big roadblock at the moment that prevents a new release. I
could leave everything as it is and do a release, but that's not very
useful, because recent distros wouldn't be supported.
Does anyone still need pre-compiled binaries at all? Distro had quite a
lot of time to catch up with adding and updating SyncEvolution and
SyncEvolution development has slowed down, so there is no need anymore
to always offer the latest and greatest upstream version. One exception
is perhaps Debian Stable, which only has an old version (1.4.99). But
even that isn't too bad.
So let me ask: which distro do you need syncevolution.org binaries for?
Why?
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
5 years, 6 months
[SyncEvolution] Release preparations for 1.5.2
by Patrick Ohly
Hello!
I've finished preparing source code and binaries for a 1.5.2 release of
SyncEvolution. The source code has not been tagged yet, only the master
branches of syncevolution, libsynthesis and activesyncd were updated.
activesyncd continues to receive some SyncEvolution specific patches
(the "folder sync hacks" from Graham) which are not upstream.
The binaries are available in the "experimental" apt repo
(http://downloads.syncevolution.org/apt/ with "experimental" as release
name) or as individual .tar.gz files in
http://downloads.syncevolution.org/syncevolution. Look for version
1.5.1+20160926+SE+8fccc44+unclean+SYSYNC+59b55aa
Before I tag and release this as 1.5.2, it would be great to get some
feedback that this release doesn't cause regressions. In particular,
syncing with phones over Bluetooth needs some testing because there has
been one change that I couldn't fully test myself (only seems to make a
difference with some phones).
Note that this release no longer has .rpm archives, mostly due to some
technical problems creating them and because it is uncertain whether
anyone uses them. So if you are a SyncEvolution user on rpm-based
distros and you need those rpms, then I'd like to hear from you. In the
meantime, do the binaries included in the .tar.gz files work on your
distro?
Regarding changes, here's the current draft of the NEWS entry:
SyncEvolution 1.5.1 -> 1.5.2, xxxxxxxxxx
========================================
Maintenance release. syncevolution.org binaries are now getting
compiled for distros >= Ubuntu Trusty 14.04 LTS, which allowed
removing several hacks that were needed when building binaries that
also had to run on older distros. Compilation from source for old
distros should still work as before, but is not getting tested
anymore.
Compile problems with recent libraries (libical v2) and tools (GCC v6)
were resolved. Syncing via Bluetooth with certain phones now should
work reliably in incremental mode.
Details:
* ObexTransportAgent.cpp: properly shut down connection (FDO #91485)
Apparently there's a race condition in the OBEX transport that causes the
connection to phones via Bluetooth to be shut down prematurely. Some phones
react by doing a slow sync instead of an incremental sync the next time.
* support non-readable parent directories (FDO #91000)
The previous mkdir_p() walked down top to bottom and checked each path
entry as it went along. That approach failed unnecessarily when some
existing parent directory could not be read (non-readable /home, for
example).
* avoid using dbus-launch (Debian #836399)
dbus-launch is considered deprecated because of the X11 dependency.
See https://lists.debian.org/debian-devel/2016/08/msg00554.html "Mass bug
filing: use and misuse of dbus-launch (dbus-x11)"
The dbus-session.sh script still needs to start the D-Bus daemon when used in the nightly
testing, so the code now does it by invoking the dbus-daemon directly.
syncevo-http-server still has some usage of dbus-launch left, but that's
strictly for systems which don't have the more modern D-Bus.
* syncevo-dbus-server integrates better with systemd (FDO #92164)
A .service file allows the D-Bus daemon to start the service via systemd,
thus ensuring that the process environment is correct. Patch from Simon
McVittie. Auto-starting as part of the desktop login uses D-Bus activation
if the "dbus-send" tool is installed.
* syncevolution.org: compile on Ubuntu Trusty, libical v1/v2 compatibility
syncevolution.org binaries are now getting compiled on Ubuntu Trusty and thus
no longer support distros with older EDS. The code should still compile
against older EDS (for example, for Maemo), but that is not getting tested
anymore.
This allows removing the dynamic linker hacks related to older libraries,
which was only used in those binaries. Instead, backends using libical or EDS
get compiled on Ubuntu Trusty and then the soname of those libs get patched to
make the backend module usable in combination with a different set of
libs. That patching is part of a script maintained in the syncevolution.org
build infrastructure.
This approach was already used before to generate different EDS backends
for EDS versions with the newer EClient API, because that turned out to be
easier than the dynamic loading approach. It works because none of the methods
used by SyncEvolution changed their ABI, only some other parts of the
libraries did. Should there ever be a situation again that cannot be handled
like this, then backends also get compiled on different distros than
Ubuntu Trusty (for example, the ActiveSync backend for Debian Stretch
is built on Debian Stretch).
libical still requires one special hack: system time zone loading in
libical v1 (and only in that version, v2 has builtin support again) must
be overridden such that time zones are generated with rules instead
of transitions because that is more compatible with the peers that
SyncEvolution exchanges data with.
That hack now relies on overriding the two relevant functions inside the main
binaries (has to be there, otherwise libical still ends up calling its own
internal implementation). The overriding code is in
libsyncevo-icaltz-util.so.0 and depends on libical.so.1. If
libsyncevo-icaltz-util.so.0 can be loaded, the wrappers in the main binary use
it, otherwise they fall through to the code from the current libical.so, which
then should be libical.so.2 or more recent.
This hack is active by default when libical v1 is detected during configuration.
* optionally show debug output in --version output
SYNCEVOLUTION_DEBUG=1 syncevolution --daemon=no --version now
dumps also the debug information gathered by the binary
compatibility code. It was only available in sync logs before.
* various build fixes for libical v2, GCC v6/C++14
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
5 years, 6 months
[SyncEvolution] Explicit type 'text/x-vcalendar' specified in command or item meta
by deloptes
Hi,
sorry for bothering further but I am wondering why I see this when in slow
sync but not in normal mode.
[2016-09-09 17:12:34.846] Explicit type 'text/x-vcalendar' specified in
command or item meta
[2016-09-09 17:12:34.846] Version '1.0' obtained from item data
Does this mean that (if I recall correctly) the item pushed to the backend
is v1.0 calendar?
If yes how can I tell (enforce) the engine to send v2.0?
Thanks.
The full context is this:
[2016-09-09 17:12:34.846] 'processCmd' - Processing incoming command,
Cmd=Add, IncomingMsgID=3, CmdID=10 [--][++] [->end] [->enclosing]
[2016-09-09 17:12:34.846] command started processing
[2016-09-09 17:12:34.846] Created command 'Status' (outgoing)
[2016-09-09 17:12:34.846] Item (syncop: add) started processing,
remoteID='502', localID=''
[2016-09-09 17:12:34.846] processSyncOpItem: setting fLocalSyncDatastoreP
[2016-09-09 17:12:34.846] Remote sent add-operation:
[2016-09-09 17:12:34.846] - Source: remoteID ='502', remoteName=''
[2016-09-09 17:12:34.846] - Target: localID ='', remoteName=''
[2016-09-09 17:12:34.846] Explicit type 'text/x-vcalendar' specified in
command or item meta
[2016-09-09 17:12:34.846] Version '1.0' obtained from item data
–
[2016-09-09 17:12:34.846] 'Item_Parse' - parsing SyncML item, SyncOp=add,
format=plain-text, RemoteID=502 [--][++] [->end] [->enclosing]
–[2016-09-09 17:12:34.846] End of 'Item_Parse' [->top] [->enclosing]
–
[2016-09-09 17:12:34.846] 'Process_Item' - processing remote item,
SyncOp=add, RemoteID=502 [--][++] [->end] [->enclosing]
–
[2016-09-09 17:12:34.846] 'SuperProcessItem' - Processing incoming item in
superdatastore, datastore=calendar+todo, SyncOp=add, RemoteID=502 [--][++]
[->end] [->enclosing]
[2016-09-09 17:12:34.846] Checkin subdatastore filters to find where it
belongs
[2016-09-09 17:12:34.846] Found item belongs to
subdatastore 'calendar+todo@calendar'
[2016-09-09 17:12:34.846] add item operation received
[2016-09-09 17:12:34.846] No matching item found - add it to local database
[2016-09-09 17:12:34.846] startDataWrite called, status=0
[2016-09-09 17:12:34.846] TStdLogicDS::logicProcessRemoteItem 0x214a540
starting, SyncOp=add, RemoteID='502', LocalID=''
[2016-09-09 17:12:34.846] TCustomImplDS::implProcessItem 0x214a540 starting,
SyncOp=add, RemoteID='502', LocalID=''
[2016-09-09 17:12:34.846] Executing Script 'beforewritescript'
[2016-09-09 17:12:34.847] calendar: adding "CCC zum Thema "IT aus Europa?
Chancen und Nischen zwischen den IT-Gro�=
�mächten USA und Asien!" Flughafen Wien"
[2016-09-09 17:12:35.172] calendar: Item saved: ( libkcal-1126788650.788 )
[2016-09-09 17:12:35.172] calendar: Item ( libkcal-1126788650.788 :
20160826T202938Z ) done.
[2016-09-09 17:12:35.172] calendar: InsertItemAsKey res=0
[2016-09-09 17:12:35.172] - Operation add performed (regular), Remote ID=502
Local ID=libkcal-1126788650.788, status=201
–[2016-09-09 17:12:35.172] End of 'SuperProcessItem' [->top] [->enclosing]
–[2016-09-09 17:12:35.172] End of 'Process_Item' [->top] [->enclosing]
–
[2016-09-09 17:12:35.172] 'issue' - issuing command, Cmd=Status [--][++]
[->end] [->enclosing]
[2016-09-09 17:12:35.172] Status Code 201 issued for Cmd=Add, (incoming
MsgID=3, CmdID=10)
[2016-09-09 17:12:35.172] - SourceRef (remoteID) = '502'
[2016-09-09 17:12:35.172] Status: issued as (outgoing MsgID=3, CmdID=10),
not waiting for status
[2016-09-09 17:12:35.172] Deleted command 'Status' (outgoing MsgID=3,
CmdID=10)
[2016-09-09 17:12:35.172] Outgoing Message size is now 544 bytes
–[2016-09-09 17:12:35.172] End of 'issue' [->top] [->enclosing]
[2016-09-09 17:12:35.172] Deleted command 'Add' (incoming MsgID=3, CmdID=10)
5 years, 7 months
[SyncEvolution] Events updated with all contacts as attendee
by Renato Filho
Hi All,
During the last weeks we received some reports of people that complain
that some random events that was not edited or create recently got
modified, and all the contacts of the event owner got added into the
attendee list of this event.
Do you guys have noticed some similar? Any idea what could cause that?
How this could be possible?
BR
Renato
5 years, 7 months
Re: [SyncEvolution] Syncevolution --print-databases - Akonadi stuck
by Patrick Ohly
On Wed, 2016-09-21 at 13:09 +0200, Janusz wrote:
> Dnia środa, 21 września 2016 10:09:20 CEST Patrick Ohly:
> > And I can reproduce the problem:
> > https://bugs.freedesktop.org/show_bug.cgi?id=97609
> >
> > Unfortunately I have no idea what's causing it. Looks like a bug in the
> > Akonadi client libraries to me.
> >
> > The next step would be to write a simpler, stand-alone test program
> > which demonstrates the problem and get help from the KDE developers.
> > Janusz, are you still interested in a solution? Just bringing it up with
> > the KDE folks would already help.
>
> Hi Patrick
>
> Nice to see that !
> Honestly not so much - I already put on ownClud+CardDAV client, however I'm
> still able to test syncevolution on demand (but not do any coding).
> I'll stay tuned if you need some checking.
I've reported it upstream to the KDE folks at
https://bugs.kde.org/show_bug.cgi?id=369203 with a stand-alone test
program. Unless they have questions, there's nothing that we need to do
for the time being.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
5 years, 7 months
Re: [SyncEvolution] Syncevolution --print-databases - Akonadi stuck
by Patrick Ohly
On Tue, 2016-02-02 at 08:19 +0100, Patrick Ohly wrote:
> On Fri, 2016-01-29 at 00:10 +0100, Janusz wrote:
> > Any chance to get it working ?
>
> Not yet. I started, but there's been so much ABI breakage in recent
> distros that I'm not yet sure how to handle it.
I've finally (at last - sorry for the long time that it took!) updated
the automatic testing to be based on more recent distros.
> > Should I do more tests ?
>
> No, I can test myself now.
And I can reproduce the problem:
https://bugs.freedesktop.org/show_bug.cgi?id=97609
Unfortunately I have no idea what's causing it. Looks like a bug in the
Akonadi client libraries to me.
The next step would be to write a simpler, stand-alone test program
which demonstrates the problem and get help from the KDE developers.
Janusz, are you still interested in a solution? Just bringing it up with
the KDE folks would already help.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
5 years, 7 months
[SyncEvolution] davical: backslash escaping sometimes broken in vCard
by Patrick Ohly
Package: davical
Version: 1.1.4-3
Severity: normal
Dear DAViCal maintainers,
I've recently updated the SyncEvolution test setup such that it runs
tests against DAVICal 1.1.4-3 from Debian Testing and noticed a
problem that I had not seen before: when storing certain vCards on
the server and retrieving them again, backslashes in the NOTE property
(and perhaps elsewhere) are getting modified incorrectly.
This only happens for vCards which have no REV property.
Normally SyncEvolution includes a REV property when syncing, so this
might only affect testing and perhaps some users who use the command
line to import contacts into DAViCal directly. I'm more concerned about
not-yet-known cases where this decoding/encoding on the server-side
happens.
testcases/carddav.vcf | Client_Source_davical_carddav_testImport.B.test.dat
only in left file <
> only in right file
-------------------------------------------------------------------------------
BEGIN:VCARD BEGIN:VCARD
N:2;;;user N:2;;;user
FN:user 2 FN:user 2
NOTE:This user tests some of the adva NOTE:This user tests some of the adva
nced aspects of vcards:\n- non-ASCII nced aspects of vcards:\n- non-ASCII
characters (with umlauts in the name) characters (with umlauts in the name)
\n- line break (in this note and the \n- line break (in this note and the
mailing address)\n- long lines (in th mailing address)\n- long lines (in th
is note)\n- special characters (in th is note)\n- special characters (in th
is note)\n- tabs (in this note)\n\nVe is note)\n- tabs (in this note)\n\nVe
ry long line\, very very long this ti ry long line\, very very long this ti
me... still not finished... blah blah me... still not finished... blah blah
blah blah blah 1 2 3 4 5 6 7 8 9 10 blah blah blah 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16\n\ncomma \,\ncolon 11 12 13 14 15 16\n\ncomma \,\ncolon
:\nsemicolon \;\nbackslash \\\n\nThe | :\nsemicolon \;\nbackslash \\n\nThe s
same\, in the middle of a line:\ncomm | ame\, in the middle of a line:\ncomma
a \, comma\ncolon : colon\nsemicolon | \, comma\ncolon : colon\nsemicolon \
\; semicolon\nbackslash \\ backslash\ | ; semicolon\nbackslash \ backslash\n\
n\nA tab tab done\n line starts with | nA tab tab done\n line starts with t
tab | ab
VERSION:3.0 VERSION:3.0
END:VCARD END:VCARD
-------------------------------------------------------------------------------
Note that the \\ gets replaced with a single \.
My two testcases are:
BEGIN:VCARD
VERSION:3.0
UID:unique-id-user2
NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCII c
haracters (with umlauts in the name)\n- line break (in this note and the
mailing address)\n- long lines (in this note)\n- special characters (in
this note)\n- tabs (in this note)\n\nVery long line\, very very long th
is time... still not finished... blah blah blah blah blah 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbackslash
\\\n\nThe same\, in the middle of a line:\ncomma \, comma\ncolon : col
on\nsemicolon \; semicolon\nbackslash \\ backslash\n\nA tab tab done\n
line starts with tab
FN:user 2
N:2;;;user;
END:VCARD
BEGIN:VCARD
VERSION:3.0
REV:20160908T170847Z
UID:syuid288166.212340157754280
N:1;;;user;
FN:user 1
NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCII c
haracters (with umlauts in the name)\n- line break (in this note and the ma
iling address)\n- long lines (in this note)\n- special characters (in this
note)\n- tabs (in this note)\n\nVery long line\, very very long this time..
. still not finished... blah blah blah blah blah 1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbackslash \\\n\nThe same\,
in the middle of a line:\ncomma \, comma\ncolon : colon\nsemicolon \; semi
colon\nbackslash \\ backslash\n\nA tab tab done\n line starts with tab
END:VCARD
Content of NOTE gets mangled for the first vCard, but not the second.
Here's the relevant excerpt of the CardDAV communication:
[DEVELOPER 00:00:01] stderr: POST /davical/caldav.php/tester2/Test_davical_carddav_1/?add_member HTTP/1.1
[DEVELOPER 00:00:01] stderr: Connection: TE
[DEVELOPER 00:00:01] stderr: TE: trailers
[DEVELOPER 00:00:01] stderr: Host: localhost:9009
[DEVELOPER 00:00:01] stderr: Content-Length: 704
[DEVELOPER 00:00:01] stderr: Content-Type: text/vcard; charset=utf-8
[DEVELOPER 00:00:01] stderr: Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[DEVELOPER 00:00:01] stderr: User-Agent: SyncEvolution
[DEVELOPER 00:00:01] stderr:
[DEVELOPER 00:00:01] stderr: Sending request-line and headers:
[DEVELOPER 00:00:01] stderr: Sending request body:
[DEVELOPER 00:00:01] stderr: Body block (704 bytes):
[DEVELOPER 00:00:01] stderr: [BEGIN:VCARD
[DEVELOPER 00:00:01] stderr: VERSION:3.0
[DEVELOPER 00:00:01] stderr: UID:unique-id-user2
[DEVELOPER 00:00:01] stderr: NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCII c
[DEVELOPER 00:00:01] stderr: haracters (with umlauts in the name)\n- line break (in this note and the
[DEVELOPER 00:00:01] stderr: mailing address)\n- long lines (in this note)\n- special characters (in
[DEVELOPER 00:00:01] stderr: this note)\n- tabs (in this note)\n\nVery long line\, very very long th
[DEVELOPER 00:00:01] stderr: is time... still not finished... blah blah blah blah blah 1 2 3 4 5 6 7
[DEVELOPER 00:00:01] stderr: 8 9 10 11 12 13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbackslash
[DEVELOPER 00:00:01] stderr: \\\n\nThe same\, in the middle of a line:\ncomma \, comma\ncolon : col
[DEVELOPER 00:00:01] stderr: on\nsemicolon \; semicolon\nbackslash \\ backslash\n\nA tab tab done\n
[DEVELOPER 00:00:01] stderr: line starts with tab
[DEVELOPER 00:00:01] stderr: FN:user 2
[DEVELOPER 00:00:01] stderr: N:2;;;user;
[DEVELOPER 00:00:01] stderr: END:VCARD
[DEVELOPER 00:00:01] stderr: ]
[DEVELOPER 00:00:01] stderr: Request sent; retry is 1.
[DEVELOPER 00:00:01] stderr: [status-line] < HTTP/1.1 201 Created
[DEVELOPER 00:00:01] stderr: [hdr] Server: 1.1
[DEVELOPER 00:00:01] stderr: Header Name: [server], Value: [1.1]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [1, 2, 3, access-control, calendar-access, calendar-schedule]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy]
[DEVELOPER 00:00:01] stderr: [hdr] Location: http://localhost:9009/davical/caldav.php/tester2/Test_davical_carddav_1/u...
[DEVELOPER 00:00:01] stderr: Header Name: [location], Value: [http://localhost:9009/davical/caldav.php/tester2/Test_davical_carddav_1/u...]
[DEVELOPER 00:00:01] stderr: [hdr] X-DAViCal-Version: DAViCal/1.1.4; DB/1.2.12
[DEVELOPER 00:00:01] stderr: Header Name: [x-davical-version], Value: [DAViCal/1.1.4; DB/1.2.12]
[DEVELOPER 00:00:01] stderr: [hdr] Content-type: text/plain; charset="utf-8"
[DEVELOPER 00:00:01] stderr: Header Name: [content-type], Value: [text/plain; charset="utf-8"]
[DEVELOPER 00:00:01] stderr: [hdr] Content-Length: 0
[DEVELOPER 00:00:01] stderr: Header Name: [content-length], Value: [0]
[DEVELOPER 00:00:01] stderr: [hdr] Date: Fri, 09 Sep 2016 08:14:26 GMT
[DEVELOPER 00:00:01] stderr: Header Name: [date], Value: [Fri, 09 Sep 2016 08:14:26 GMT]
[DEVELOPER 00:00:01] stderr: [hdr]
[DEVELOPER 00:00:01] stderr: End of headers.
[DEVELOPER 00:00:01] stderr: Running post_headers hooks
[DEVELOPER 00:00:01] stderr: Running post_send hooks
[DEVELOPER 00:00:01] stderr: ah_post_send (#0), code is 201 (want 401), WWW-Authenticate is (none)
[DEVELOPER 00:00:01] stderr: Request ends, status 201 class 2xx, error line:
[DEVELOPER 00:00:01] stderr: 201 Created
[DEBUG 00:00:01] add item status: <status 1.1, code 201, class 2, Created>
[DEBUG 00:00:01] new item mapped to unique-id-user2.vcf
[DEVELOPER 00:00:01] stderr: Running destroy hooks.
[DEVELOPER 00:00:01] stderr: Request ends.
[DEBUG 00:00:01] starting PROPFIND, credentials unverified, deadline in 120.0s
[DEVELOPER 00:00:01] stderr: ah_create, for WWW-Authenticate
[DEVELOPER 00:00:01] stderr: Running pre_send hooks
[DEVELOPER 00:00:01] stderr: auth: Sending 'Basic' response.
[DEVELOPER 00:00:01] stderr: Sending request headers:
[DEVELOPER 00:00:01] stderr: PROPFIND /davical/caldav.php/tester2/Test_davical_carddav_1/unique-id-user2.vcf HTTP/1.1
[DEVELOPER 00:00:01] stderr: Connection: TE
[DEVELOPER 00:00:01] stderr: TE: trailers
[DEVELOPER 00:00:01] stderr: Host: localhost:9009
[DEVELOPER 00:00:01] stderr: Depth: 0
[DEVELOPER 00:00:01] stderr: Content-Length: 141
[DEVELOPER 00:00:01] stderr: Content-Type: application/xml
[DEVELOPER 00:00:01] stderr: Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[DEVELOPER 00:00:01] stderr: User-Agent: SyncEvolution
[DEVELOPER 00:00:01] stderr:
[DEVELOPER 00:00:01] stderr: Sending request-line and headers:
[DEVELOPER 00:00:01] stderr: Sending request body:
[DEVELOPER 00:00:01] stderr: Body block (141 bytes):
[DEVELOPER 00:00:01] stderr: [<?xml version="1.0" encoding="utf-8"?>
[DEVELOPER 00:00:01] stderr: <propfind xmlns="DAV:"><prop>
[DEVELOPER 00:00:01] stderr: <getetag xmlns="DAV:"/>
[DEVELOPER 00:00:01] stderr: <resourcetype xmlns="DAV:"/>
[DEVELOPER 00:00:01] stderr: </prop></propfind>
[DEVELOPER 00:00:01] stderr: ]
[DEVELOPER 00:00:01] stderr: Request sent; retry is 1.
[DEVELOPER 00:00:01] stderr: [status-line] < HTTP/1.1 207 Multi-status
[DEVELOPER 00:00:01] stderr: [hdr] Server: 1.1
[DEVELOPER 00:00:01] stderr: Header Name: [server], Value: [1.1]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [1, 2, 3, access-control, calendar-access, calendar-schedule]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy]
[DEVELOPER 00:00:01] stderr: [hdr] ETag: "4edfcd770d60600fc5ca057f62567d8c"
[DEVELOPER 00:00:01] stderr: Header Name: [etag], Value: ["4edfcd770d60600fc5ca057f62567d8c"]
[DEVELOPER 00:00:01] stderr: [hdr] X-DAViCal-Version: DAViCal/1.1.4; DB/1.2.12
[DEVELOPER 00:00:01] stderr: Header Name: [x-davical-version], Value: [DAViCal/1.1.4; DB/1.2.12]
[DEVELOPER 00:00:01] stderr: [hdr] Content-type: text/xml; charset="utf-8"
[DEVELOPER 00:00:01] stderr: Header Name: [content-type], Value: [text/xml; charset="utf-8"]
[DEVELOPER 00:00:01] stderr: [hdr] Content-Length: 355
[DEVELOPER 00:00:01] stderr: Header Name: [content-length], Value: [355]
[DEVELOPER 00:00:01] stderr: [hdr] Date: Fri, 09 Sep 2016 08:14:26 GMT
[DEVELOPER 00:00:01] stderr: Header Name: [date], Value: [Fri, 09 Sep 2016 08:14:26 GMT]
[DEVELOPER 00:00:01] stderr: [hdr]
[DEVELOPER 00:00:01] stderr: End of headers.
[DEVELOPER 00:00:01] stderr: Running post_headers hooks
[DEVELOPER 00:00:01] stderr: Reading 355 bytes of response body.
[DEVELOPER 00:00:01] stderr: Got 355 bytes.
[DEVELOPER 00:00:01] stderr: Read block (355 bytes):
[DEVELOPER 00:00:01] stderr: [<?xml version="1.0" encoding="utf-8" ?>
[DEVELOPER 00:00:01] stderr: <multistatus xmlns="DAV:">
[DEVELOPER 00:00:01] stderr: <response>
[DEVELOPER 00:00:01] stderr: <href>/davical/caldav.php/tester2/Test_davical_carddav_1/unique-id-user2.vcf</href>
[DEVELOPER 00:00:01] stderr: <propstat>
[DEVELOPER 00:00:01] stderr: <prop>
[DEVELOPER 00:00:01] stderr: <getetag>"85c7cfd93c7303d3b938c87edcd27102"</getetag>
[DEVELOPER 00:00:01] stderr: <resourcetype/>
[DEVELOPER 00:00:01] stderr: </prop>
[DEVELOPER 00:00:01] stderr: <status>HTTP/1.1 200 OK</status>
[DEVELOPER 00:00:01] stderr: </propstat>
[DEVELOPER 00:00:01] stderr: </response>
[DEVELOPER 00:00:01] stderr: </multistatus>
[DEVELOPER 00:00:01] stderr: ]
[DEBUG 00:00:01] item unique-id-user2.vcf = rev 85c7cfd93c7303d3b938c87edcd27102
...
[DEVELOPER 00:00:01] stderr: POST /davical/caldav.php/tester2/Test_davical_carddav_1/?add_member HTTP/1.1
[DEVELOPER 00:00:01] stderr: Connection: TE
[DEVELOPER 00:00:01] stderr: TE: trailers
[DEVELOPER 00:00:01] stderr: Host: localhost:9009
[DEVELOPER 00:00:01] stderr: Content-Length: 735
[DEVELOPER 00:00:01] stderr: Content-Type: text/vcard; charset=utf-8
[DEVELOPER 00:00:01] stderr: Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[DEVELOPER 00:00:01] stderr: User-Agent: SyncEvolution
[DEVELOPER 00:00:01] stderr:
[DEVELOPER 00:00:01] stderr: Sending request-line and headers:
[DEVELOPER 00:00:01] stderr: Sending request body:
[DEVELOPER 00:00:01] stderr: Body block (735 bytes):
[DEVELOPER 00:00:01] stderr: [BEGIN:VCARD
[DEVELOPER 00:00:01] stderr: VERSION:3.0
[DEVELOPER 00:00:01] stderr: REV:20160908T170847Z
[DEVELOPER 00:00:01] stderr: UID:syuid288166.212340157754280
[DEVELOPER 00:00:01] stderr: N:1;;;user;
[DEVELOPER 00:00:01] stderr: FN:user 1
[DEVELOPER 00:00:01] stderr: NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCII c
[DEVELOPER 00:00:01] stderr: haracters (with umlauts in the name)\n- line break (in this note and the ma
[DEVELOPER 00:00:01] stderr: iling address)\n- long lines (in this note)\n- special characters (in this
[DEVELOPER 00:00:01] stderr: note)\n- tabs (in this note)\n\nVery long line\, very very long this time..
[DEVELOPER 00:00:01] stderr: . still not finished... blah blah blah blah blah 1 2 3 4 5 6 7 8 9 10 11 12
[DEVELOPER 00:00:01] stderr: 13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbackslash \\\n\nThe same\,
[DEVELOPER 00:00:01] stderr: in the middle of a line:\ncomma \, comma\ncolon : colon\nsemicolon \; semi
[DEVELOPER 00:00:01] stderr: colon\nbackslash \\ backslash\n\nA tab tab done\n line starts with tab
[DEVELOPER 00:00:01] stderr: END:VCARD
[DEVELOPER 00:00:01] stderr: ]
[DEVELOPER 00:00:01] stderr: Request sent; retry is 1.
[DEVELOPER 00:00:01] stderr: [status-line] < HTTP/1.1 201 Created
[DEVELOPER 00:00:01] stderr: [hdr] Server: 1.1
[DEVELOPER 00:00:01] stderr: Header Name: [server], Value: [1.1]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [1, 2, 3, access-control, calendar-access, calendar-schedule]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy]
[DEVELOPER 00:00:01] stderr: [hdr] Location: http://localhost:9009/davical/caldav.php/tester2/Test_davical_carddav_1/s...
[DEVELOPER 00:00:01] stderr: Header Name: [location], Value: [http://localhost:9009/davical/caldav.php/tester2/Test_davical_carddav_1/s...]
[DEVELOPER 00:00:01] stderr: [hdr] X-DAViCal-Version: DAViCal/1.1.4; DB/1.2.12
[DEVELOPER 00:00:01] stderr: Header Name: [x-davical-version], Value: [DAViCal/1.1.4; DB/1.2.12]
[DEVELOPER 00:00:01] stderr: [hdr] Content-type: text/plain; charset="utf-8"
[DEVELOPER 00:00:01] stderr: Header Name: [content-type], Value: [text/plain; charset="utf-8"]
[DEVELOPER 00:00:01] stderr: [hdr] Content-Length: 0
[DEVELOPER 00:00:01] stderr: Header Name: [content-length], Value: [0]
[DEVELOPER 00:00:01] stderr: [hdr] Date: Fri, 09 Sep 2016 08:14:26 GMT
[DEVELOPER 00:00:01] stderr: Header Name: [date], Value: [Fri, 09 Sep 2016 08:14:26 GMT]
[DEVELOPER 00:00:01] stderr: [hdr]
[DEVELOPER 00:00:01] stderr: End of headers.
[DEVELOPER 00:00:01] stderr: Running post_headers hooks
[DEVELOPER 00:00:01] stderr: Running post_send hooks
[DEVELOPER 00:00:01] stderr: ah_post_send (#0), code is 201 (want 401), WWW-Authenticate is (none)
[DEVELOPER 00:00:01] stderr: Request ends, status 201 class 2xx, error line:
[DEVELOPER 00:00:01] stderr: 201 Created
[DEBUG 00:00:01] add item status: <status 1.1, code 201, class 2, Created>
[DEBUG 00:00:01] new item mapped to syuid288166.212340157754280.vcf
[DEVELOPER 00:00:01] stderr: Running destroy hooks.
[DEVELOPER 00:00:01] stderr: Request ends.
[DEBUG 00:00:01] starting PROPFIND, credentials unverified, deadline in 120.0s
[DEVELOPER 00:00:01] stderr: ah_create, for WWW-Authenticate
[DEVELOPER 00:00:01] stderr: Running pre_send hooks
[DEVELOPER 00:00:01] stderr: auth: Sending 'Basic' response.
[DEVELOPER 00:00:01] stderr: Sending request headers:
[DEVELOPER 00:00:01] stderr: PROPFIND /davical/caldav.php/tester2/Test_davical_carddav_1/syuid288166.212340157754280.vcf HTTP/1.1
[DEVELOPER 00:00:01] stderr: Connection: TE
[DEVELOPER 00:00:01] stderr: TE: trailers
[DEVELOPER 00:00:01] stderr: Host: localhost:9009
[DEVELOPER 00:00:01] stderr: Depth: 0
[DEVELOPER 00:00:01] stderr: Content-Length: 141
[DEVELOPER 00:00:01] stderr: Content-Type: application/xml
[DEVELOPER 00:00:01] stderr: Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[DEVELOPER 00:00:01] stderr: User-Agent: SyncEvolution
[DEVELOPER 00:00:01] stderr:
[DEVELOPER 00:00:01] stderr: Sending request-line and headers:
[DEVELOPER 00:00:01] stderr: Sending request body:
[DEVELOPER 00:00:01] stderr: Body block (141 bytes):
[DEVELOPER 00:00:01] stderr: [<?xml version="1.0" encoding="utf-8"?>
[DEVELOPER 00:00:01] stderr: <propfind xmlns="DAV:"><prop>
[DEVELOPER 00:00:01] stderr: <getetag xmlns="DAV:"/>
[DEVELOPER 00:00:01] stderr: <resourcetype xmlns="DAV:"/>
[DEVELOPER 00:00:01] stderr: </prop></propfind>
[DEVELOPER 00:00:01] stderr: ]
[DEVELOPER 00:00:01] stderr: Request sent; retry is 1.
[DEVELOPER 00:00:01] stderr: [status-line] < HTTP/1.1 207 Multi-status
[DEVELOPER 00:00:01] stderr: [hdr] Server: 1.1
[DEVELOPER 00:00:01] stderr: Header Name: [server], Value: [1.1]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [1, 2, 3, access-control, calendar-access, calendar-schedule]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy]
[DEVELOPER 00:00:01] stderr: [hdr] ETag: "db267ae6bb49f9157e13f8b3aadcd84e"
[DEVELOPER 00:00:01] stderr: Header Name: [etag], Value: ["db267ae6bb49f9157e13f8b3aadcd84e"]
[DEVELOPER 00:00:01] stderr: [hdr] X-DAViCal-Version: DAViCal/1.1.4; DB/1.2.12
[DEVELOPER 00:00:01] stderr: Header Name: [x-davical-version], Value: [DAViCal/1.1.4; DB/1.2.12]
[DEVELOPER 00:00:01] stderr: [hdr] Content-type: text/xml; charset="utf-8"
[DEVELOPER 00:00:01] stderr: Header Name: [content-type], Value: [text/xml; charset="utf-8"]
[DEVELOPER 00:00:01] stderr: [hdr] Content-Length: 367
[DEVELOPER 00:00:01] stderr: Header Name: [content-length], Value: [367]
[DEVELOPER 00:00:01] stderr: [hdr] Date: Fri, 09 Sep 2016 08:14:26 GMT
[DEVELOPER 00:00:01] stderr: Header Name: [date], Value: [Fri, 09 Sep 2016 08:14:26 GMT]
[DEVELOPER 00:00:01] stderr: [hdr]
[DEVELOPER 00:00:01] stderr: End of headers.
[DEVELOPER 00:00:01] stderr: Running post_headers hooks
[DEVELOPER 00:00:01] stderr: Reading 367 bytes of response body.
[DEVELOPER 00:00:01] stderr: Got 367 bytes.
[DEVELOPER 00:00:01] stderr: Read block (367 bytes):
[DEVELOPER 00:00:01] stderr: [<?xml version="1.0" encoding="utf-8" ?>
[DEVELOPER 00:00:01] stderr: <multistatus xmlns="DAV:">
[DEVELOPER 00:00:01] stderr: <response>
[DEVELOPER 00:00:01] stderr: <href>/davical/caldav.php/tester2/Test_davical_carddav_1/syuid288166.212340157754280.vcf</href>
[DEVELOPER 00:00:01] stderr: <propstat>
[DEVELOPER 00:00:01] stderr: <prop>
[DEVELOPER 00:00:01] stderr: <getetag>"ee702bdc6e7e255fd9989bbf0632bc6c"</getetag>
[DEVELOPER 00:00:01] stderr: <resourcetype/>
[DEVELOPER 00:00:01] stderr: </prop>
[DEVELOPER 00:00:01] stderr: <status>HTTP/1.1 200 OK</status>
[DEVELOPER 00:00:01] stderr: </propstat>
[DEVELOPER 00:00:01] stderr: </response>
[DEVELOPER 00:00:01] stderr: </multistatus>
[DEVELOPER 00:00:01] stderr: ]
[DEBUG 00:00:01] item syuid288166.212340157754280.vcf = rev ee702bdc6e7e255fd9989bbf0632bc6c
...
[DEVELOPER 00:00:02] stderr: REPORT /davical/caldav.php/tester2/Test_davical_carddav_1/ HTTP/1.1
[DEVELOPER 00:00:02] stderr: Connection: TE
[DEVELOPER 00:00:02] stderr: TE: trailers
[DEVELOPER 00:00:02] stderr: Host: localhost:9009
[DEVELOPER 00:00:02] stderr: Content-Length: 384
[DEVELOPER 00:00:02] stderr: Depth: 0
[DEVELOPER 00:00:02] stderr: Content-Type: application/xml; charset="utf-8"
[DEVELOPER 00:00:02] stderr: Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[DEVELOPER 00:00:02] stderr: User-Agent: SyncEvolution
[DEVELOPER 00:00:02] stderr:
[DEVELOPER 00:00:02] stderr: Sending request-line and headers:
[DEVELOPER 00:00:02] stderr: Sending request body:
[DEVELOPER 00:00:02] stderr: Body block (384 bytes):
[DEVELOPER 00:00:02] stderr: [<?xml version="1.0" encoding="utf-8" ?>
[DEVELOPER 00:00:02] stderr: <C:addressbook-multiget xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav">
[DEVELOPER 00:00:02] stderr: <D:prop>
[DEVELOPER 00:00:02] stderr: <D:getetag/>
[DEVELOPER 00:00:02] stderr: <C:address-data/>
[DEVELOPER 00:00:02] stderr: </D:prop>
[DEVELOPER 00:00:02] stderr: <D:href>/davical/caldav.php/tester2/Test_davical_carddav_1/syuid288166.212340157754280.vcf</D:href>
[DEVELOPER 00:00:02] stderr: <D:href>/davical/caldav.php/tester2/Test_davical_carddav_1/unique-id-user2.vcf</D:href>
[DEVELOPER 00:00:02] stderr: </C:addressbook-multiget>]
[DEVELOPER 00:00:02] stderr: Request sent; retry is 1.
[DEVELOPER 00:00:02] stderr: [status-line] < HTTP/1.1 207 Multi-status
[DEVELOPER 00:00:02] stderr: [hdr] Server: 1.1
[DEVELOPER 00:00:02] stderr: Header Name: [server], Value: [1.1]
[DEVELOPER 00:00:02] stderr: [hdr] DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
[DEVELOPER 00:00:02] stderr: Header Name: [dav], Value: [1, 2, 3, access-control, calendar-access, calendar-schedule]
[DEVELOPER 00:00:02] stderr: [hdr] DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
[DEVELOPER 00:00:02] stderr: Header Name: [dav], Value: [extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy]
[DEVELOPER 00:00:02] stderr: [hdr] ETag: "71ac67ebaf38ed5fb164ee1696038ded"
[DEVELOPER 00:00:02] stderr: Header Name: [etag], Value: ["71ac67ebaf38ed5fb164ee1696038ded"]
[DEVELOPER 00:00:02] stderr: [hdr] X-DAViCal-Version: DAViCal/1.1.4; DB/1.2.12
[DEVELOPER 00:00:02] stderr: Header Name: [x-davical-version], Value: [DAViCal/1.1.4; DB/1.2.12]
[DEVELOPER 00:00:02] stderr: [hdr] Content-type: text/xml; charset="utf-8"
[DEVELOPER 00:00:02] stderr: Header Name: [content-type], Value: [text/xml; charset="utf-8"]
[DEVELOPER 00:00:02] stderr: [hdr] Content-Length: 2205
[DEVELOPER 00:00:02] stderr: Header Name: [content-length], Value: [2205]
[DEVELOPER 00:00:02] stderr: [hdr] Connection: close
[DEVELOPER 00:00:02] stderr: Header Name: [connection], Value: [close]
[DEVELOPER 00:00:02] stderr: [hdr] Date: Fri, 09 Sep 2016 08:14:27 GMT
[DEVELOPER 00:00:02] stderr: Header Name: [date], Value: [Fri, 09 Sep 2016 08:14:27 GMT]
[DEVELOPER 00:00:02] stderr: [hdr]
[DEVELOPER 00:00:02] stderr: End of headers.
[DEVELOPER 00:00:02] stderr: Running post_headers hooks
[DEVELOPER 00:00:02] stderr: Reading 2205 bytes of response body.
[DEVELOPER 00:00:02] stderr: Got 2205 bytes.
[DEVELOPER 00:00:02] stderr: Read block (2205 bytes):
[DEVELOPER 00:00:02] stderr: [<?xml version="1.0" encoding="utf-8" ?>
[DEVELOPER 00:00:02] stderr: <multistatus xmlns="DAV:" xmlns:VC="urn:ietf:params:xml:ns:carddav">
[DEVELOPER 00:00:02] stderr: <response>
[DEVELOPER 00:00:02] stderr: <href>/davical/caldav.php/tester2/Test_davical_carddav_1/unique-id-user2.vcf</href>
[DEVELOPER 00:00:02] stderr: <propstat>
[DEVELOPER 00:00:02] stderr: <prop>
[DEVELOPER 00:00:02] stderr: <getetag>"85c7cfd93c7303d3b938c87edcd27102"</getetag>
[DEVELOPER 00:00:02] stderr: <VC:address-data>BEGIN:VCARD
[DEVELOPER 00:00:02] stderr: VERSION:3.0
[DEVELOPER 00:00:02] stderr: UID:unique-id-user2
[DEVELOPER 00:00:02] stderr: NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCI
[DEVELOPER 00:00:02] stderr: I characters (with umlauts in the name)\n- line break (in this note and
[DEVELOPER 00:00:02] stderr:
[DEVELOPER 00:00:02] stderr: the mailing address)\n- long lines (in this note)\n- special characters
[DEVELOPER 00:00:02] stderr:
[DEVELOPER 00:00:02] stderr: (in this note)\n- tabs (in this note)\n\nVery long line\, very very lon
[DEVELOPER 00:00:02] stderr: g
[DEVELOPER 00:00:02] stderr: this time... still not finished... blah blah blah blah blah 1 2 3 4 5
[DEVELOPER 00:00:02] stderr: 6
[DEVELOPER 00:00:02] stderr: 7 8 9 10 11 12 13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbacksla
[DEVELOPER 00:00:02] stderr: s
[DEVELOPER 00:00:02] stderr: h \\n\nThe same\, in the middle of a line:\ncomma \, comma\ncolon : col
[DEVELOPER 00:00:02] stderr: o
[DEVELOPER 00:00:02] stderr: n\nsemicolon \; semicolon\nbackslash \ backslash\n\nA tab tab done\n l
[DEVELOPER 00:00:02] stderr: i
[DEVELOPER 00:00:02] stderr: ne starts with tab
[DEVELOPER 00:00:02] stderr: FN:user 2
[DEVELOPER 00:00:02] stderr: N:2;;;user;
[DEVELOPER 00:00:02] stderr: REV:20160909T081426Z
[DEVELOPER 00:00:02] stderr: END:VCARD
[DEVELOPER 00:00:02] stderr: </VC:address-data>
[DEVELOPER 00:00:02] stderr: </prop>
[DEVELOPER 00:00:02] stderr: <status>HTTP/1.1 200 OK</status>
[DEVELOPER 00:00:02] stderr: </propstat>
[DEVELOPER 00:00:02] stderr: </response>
[DEVELOPER 00:00:02] stderr: <response>
[DEVELOPER 00:00:02] stderr: <href>/davical/caldav.php/tester2/Test_davical_carddav_1/syuid288166.212340157754280.vcf</href>
[DEVELOPER 00:00:02] stderr: <propstat>
[DEVELOPER 00:00:02] stderr: <prop>
[DEVELOPER 00:00:02] stderr: <getetag>"ee702bdc6e7e255fd9989bbf0632bc6c"</getetag>
[DEVELOPER 00:00:02] stderr: <VC:address-data>BEGIN:VCARD
[DEVELOPER 00:00:02] stderr: VERSION:3.0
[DEVELOPER 00:00:02] stderr: REV:20160908T170847Z
[DEVELOPER 00:00:02] stderr: UID:syuid288166.212340157754280
[DEVELOPER 00:00:02] stderr: N:1;;;user;
[DEVELOPER 00:00:02] stderr: FN:user 1
[DEVELOPER 00:00:02] stderr: NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCI
[DEVELOPER 00:00:02] stderr: I characters (with umlauts in the name)\n- line break (in this note and
[DEVELOPER 00:00:02] stderr: the mailing address)\n- long lines (in this note)\n- special characters
[DEVELOPER 00:00:02] stderr: (in this note)\n- tabs (in this note)\n\nVery long line\, very very long
[DEVELOPER 00:00:02] stderr: this time... still not finished... blah blah blah blah blah 1 2 3 4 5 6
[DEVELOPER 00:00:02] stderr: 7 8 9 10 11 12 13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbackslas
[DEVELOPER 00:00:02] stderr: h \\\n\nThe same\, in the middle of a line:\ncomma \, comma\ncolon : col
[DEVELOPER 00:00:02] stderr: on\nsemicolon \; semicolon\nbackslash \\ backslash\n\nA tab tab done\n
[DEVELOPER 00:00:02] stderr: line starts with tab
[DEVELOPER 00:00:02] stderr: END:VCARD
[DEVELOPER 00:00:02] stderr: </VC:address-data>
[DEVELOPER 00:00:02] stderr: </prop>
[DEVELOPER 00:00:02] stderr: <status>HTTP/1.1 200 OK</status>
[DEVELOPER 00:00:02] stderr: </propstat>
[DEVELOPER 00:00:02] stderr: </response>
[DEVELOPER 00:00:02] stderr: </multistatus>
[DEVELOPER 00:00:02] stderr: ]
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (900, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 4.1.27-27-xen (SMP w/16 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages davical depends on:
ii libawl-php 0.56-2
ii libdbd-pg-perl 3.5.3-1+b1
ii libyaml-perl 1.18-1
ii perl 5.22.2-3
ii php7.0 [php] 7.0.9-2
ii php7.0-cli [php-cli] 7.0.10-1
ii php7.0-pgsql [php-pgsql] 7.0.10-1
ii php7.0-xml [php-xml] 7.0.10-1
ii postgresql-client-9.5 [postgresql-client] 9.5.4-1
Versions of packages davical recommends:
ii php7.0-curl [php-curl] 7.0.10-1
ii postgresql 9.5+175
Versions of packages davical suggests:
pn php-ldap | php5-ldap <none>
-- no debconf information
5 years, 8 months
[SyncEvolution] davical: backslash escaping sometimes broken in vCard
by Patrick Ohly
Dear DAViCal maintainers,
I've recently updated the SyncEvolution test setup such that it runs
tests against DAVICal 1.1.4-3 from Debian Testing and noticed a
problem that I have not seen before: when storing certain vCards on
the server and retrieving them again, backslashes in the NOTE property
(and perhaps elsewhere) are getting modified incorrectly.
This only happens for vCards which have no REV property.
Normally SyncEvolution includes a REV property when syncing, so this
might only affect testing and perhaps some users who use the command
line to import contacts into DAViCal directly. I'm more concerned about
not-yet-known cases where this decoding/encoding on the server-side
happens.
testcases/carddav.vcf | Client_Source_davical_carddav_testImport.B.test.dat
only in left file <
> only in right file
-------------------------------------------------------------------------------
BEGIN:VCARD BEGIN:VCARD
N:2;;;user N:2;;;user
FN:user 2 FN:user 2
NOTE:This user tests some of the adva NOTE:This user tests some of the adva
nced aspects of vcards:\n- non-ASCII nced aspects of vcards:\n- non-ASCII
characters (with umlauts in the name) characters (with umlauts in the name)
\n- line break (in this note and the \n- line break (in this note and the
mailing address)\n- long lines (in th mailing address)\n- long lines (in th
is note)\n- special characters (in th is note)\n- special characters (in th
is note)\n- tabs (in this note)\n\nVe is note)\n- tabs (in this note)\n\nVe
ry long line\, very very long this ti ry long line\, very very long this ti
me... still not finished... blah blah me... still not finished... blah blah
blah blah blah 1 2 3 4 5 6 7 8 9 10 blah blah blah 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16\n\ncomma \,\ncolon 11 12 13 14 15 16\n\ncomma \,\ncolon
:\nsemicolon \;\nbackslash \\\n\nThe | :\nsemicolon \;\nbackslash \\n\nThe s
same\, in the middle of a line:\ncomm | ame\, in the middle of a line:\ncomma
a \, comma\ncolon : colon\nsemicolon | \, comma\ncolon : colon\nsemicolon \
\; semicolon\nbackslash \\ backslash\ | ; semicolon\nbackslash \ backslash\n\
n\nA tab tab done\n line starts with | nA tab tab done\n line starts with t
tab | ab
VERSION:3.0 VERSION:3.0
END:VCARD END:VCARD
-------------------------------------------------------------------------------
Note that the \\ gets replaced with a single \.
My two testcases are:
BEGIN:VCARD
VERSION:3.0
UID:unique-id-user2
NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCII c
haracters (with umlauts in the name)\n- line break (in this note and the
mailing address)\n- long lines (in this note)\n- special characters (in
this note)\n- tabs (in this note)\n\nVery long line\, very very long th
is time... still not finished... blah blah blah blah blah 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbackslash
\\\n\nThe same\, in the middle of a line:\ncomma \, comma\ncolon : col
on\nsemicolon \; semicolon\nbackslash \\ backslash\n\nA tab tab done\n
line starts with tab
FN:user 2
N:2;;;user;
END:VCARD
BEGIN:VCARD
VERSION:3.0
REV:20160908T170847Z
UID:syuid288166.212340157754280
N:1;;;user;
FN:user 1
NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCII c
haracters (with umlauts in the name)\n- line break (in this note and the ma
iling address)\n- long lines (in this note)\n- special characters (in this
note)\n- tabs (in this note)\n\nVery long line\, very very long this time..
. still not finished... blah blah blah blah blah 1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbackslash \\\n\nThe same\,
in the middle of a line:\ncomma \, comma\ncolon : colon\nsemicolon \; semi
colon\nbackslash \\ backslash\n\nA tab tab done\n line starts with tab
END:VCARD
Content of NOTE gets mangled for the first vCard, but not the second.
Here's the relevant excerpt of the CardDAV communication:
[DEVELOPER 00:00:01] stderr: POST /davical/caldav.php/tester2/Test_davical_carddav_1/?add_member HTTP/1.1
[DEVELOPER 00:00:01] stderr: Connection: TE
[DEVELOPER 00:00:01] stderr: TE: trailers
[DEVELOPER 00:00:01] stderr: Host: localhost:9009
[DEVELOPER 00:00:01] stderr: Content-Length: 704
[DEVELOPER 00:00:01] stderr: Content-Type: text/vcard; charset=utf-8
[DEVELOPER 00:00:01] stderr: Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[DEVELOPER 00:00:01] stderr: User-Agent: SyncEvolution
[DEVELOPER 00:00:01] stderr:
[DEVELOPER 00:00:01] stderr: Sending request-line and headers:
[DEVELOPER 00:00:01] stderr: Sending request body:
[DEVELOPER 00:00:01] stderr: Body block (704 bytes):
[DEVELOPER 00:00:01] stderr: [BEGIN:VCARD
[DEVELOPER 00:00:01] stderr: VERSION:3.0
[DEVELOPER 00:00:01] stderr: UID:unique-id-user2
[DEVELOPER 00:00:01] stderr: NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCII c
[DEVELOPER 00:00:01] stderr: haracters (with umlauts in the name)\n- line break (in this note and the
[DEVELOPER 00:00:01] stderr: mailing address)\n- long lines (in this note)\n- special characters (in
[DEVELOPER 00:00:01] stderr: this note)\n- tabs (in this note)\n\nVery long line\, very very long th
[DEVELOPER 00:00:01] stderr: is time... still not finished... blah blah blah blah blah 1 2 3 4 5 6 7
[DEVELOPER 00:00:01] stderr: 8 9 10 11 12 13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbackslash
[DEVELOPER 00:00:01] stderr: \\\n\nThe same\, in the middle of a line:\ncomma \, comma\ncolon : col
[DEVELOPER 00:00:01] stderr: on\nsemicolon \; semicolon\nbackslash \\ backslash\n\nA tab tab done\n
[DEVELOPER 00:00:01] stderr: line starts with tab
[DEVELOPER 00:00:01] stderr: FN:user 2
[DEVELOPER 00:00:01] stderr: N:2;;;user;
[DEVELOPER 00:00:01] stderr: END:VCARD
[DEVELOPER 00:00:01] stderr: ]
[DEVELOPER 00:00:01] stderr: Request sent; retry is 1.
[DEVELOPER 00:00:01] stderr: [status-line] < HTTP/1.1 201 Created
[DEVELOPER 00:00:01] stderr: [hdr] Server: 1.1
[DEVELOPER 00:00:01] stderr: Header Name: [server], Value: [1.1]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [1, 2, 3, access-control, calendar-access, calendar-schedule]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy]
[DEVELOPER 00:00:01] stderr: [hdr] Location: http://localhost:9009/davical/caldav.php/tester2/Test_davical_carddav_1/u...
[DEVELOPER 00:00:01] stderr: Header Name: [location], Value: [http://localhost:9009/davical/caldav.php/tester2/Test_davical_carddav_1/u...]
[DEVELOPER 00:00:01] stderr: [hdr] X-DAViCal-Version: DAViCal/1.1.4; DB/1.2.12
[DEVELOPER 00:00:01] stderr: Header Name: [x-davical-version], Value: [DAViCal/1.1.4; DB/1.2.12]
[DEVELOPER 00:00:01] stderr: [hdr] Content-type: text/plain; charset="utf-8"
[DEVELOPER 00:00:01] stderr: Header Name: [content-type], Value: [text/plain; charset="utf-8"]
[DEVELOPER 00:00:01] stderr: [hdr] Content-Length: 0
[DEVELOPER 00:00:01] stderr: Header Name: [content-length], Value: [0]
[DEVELOPER 00:00:01] stderr: [hdr] Date: Fri, 09 Sep 2016 08:14:26 GMT
[DEVELOPER 00:00:01] stderr: Header Name: [date], Value: [Fri, 09 Sep 2016 08:14:26 GMT]
[DEVELOPER 00:00:01] stderr: [hdr]
[DEVELOPER 00:00:01] stderr: End of headers.
[DEVELOPER 00:00:01] stderr: Running post_headers hooks
[DEVELOPER 00:00:01] stderr: Running post_send hooks
[DEVELOPER 00:00:01] stderr: ah_post_send (#0), code is 201 (want 401), WWW-Authenticate is (none)
[DEVELOPER 00:00:01] stderr: Request ends, status 201 class 2xx, error line:
[DEVELOPER 00:00:01] stderr: 201 Created
[DEBUG 00:00:01] add item status: <status 1.1, code 201, class 2, Created>
[DEBUG 00:00:01] new item mapped to unique-id-user2.vcf
[DEVELOPER 00:00:01] stderr: Running destroy hooks.
[DEVELOPER 00:00:01] stderr: Request ends.
[DEBUG 00:00:01] starting PROPFIND, credentials unverified, deadline in 120.0s
[DEVELOPER 00:00:01] stderr: ah_create, for WWW-Authenticate
[DEVELOPER 00:00:01] stderr: Running pre_send hooks
[DEVELOPER 00:00:01] stderr: auth: Sending 'Basic' response.
[DEVELOPER 00:00:01] stderr: Sending request headers:
[DEVELOPER 00:00:01] stderr: PROPFIND /davical/caldav.php/tester2/Test_davical_carddav_1/unique-id-user2.vcf HTTP/1.1
[DEVELOPER 00:00:01] stderr: Connection: TE
[DEVELOPER 00:00:01] stderr: TE: trailers
[DEVELOPER 00:00:01] stderr: Host: localhost:9009
[DEVELOPER 00:00:01] stderr: Depth: 0
[DEVELOPER 00:00:01] stderr: Content-Length: 141
[DEVELOPER 00:00:01] stderr: Content-Type: application/xml
[DEVELOPER 00:00:01] stderr: Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[DEVELOPER 00:00:01] stderr: User-Agent: SyncEvolution
[DEVELOPER 00:00:01] stderr:
[DEVELOPER 00:00:01] stderr: Sending request-line and headers:
[DEVELOPER 00:00:01] stderr: Sending request body:
[DEVELOPER 00:00:01] stderr: Body block (141 bytes):
[DEVELOPER 00:00:01] stderr: [<?xml version="1.0" encoding="utf-8"?>
[DEVELOPER 00:00:01] stderr: <propfind xmlns="DAV:"><prop>
[DEVELOPER 00:00:01] stderr: <getetag xmlns="DAV:"/>
[DEVELOPER 00:00:01] stderr: <resourcetype xmlns="DAV:"/>
[DEVELOPER 00:00:01] stderr: </prop></propfind>
[DEVELOPER 00:00:01] stderr: ]
[DEVELOPER 00:00:01] stderr: Request sent; retry is 1.
[DEVELOPER 00:00:01] stderr: [status-line] < HTTP/1.1 207 Multi-status
[DEVELOPER 00:00:01] stderr: [hdr] Server: 1.1
[DEVELOPER 00:00:01] stderr: Header Name: [server], Value: [1.1]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [1, 2, 3, access-control, calendar-access, calendar-schedule]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy]
[DEVELOPER 00:00:01] stderr: [hdr] ETag: "4edfcd770d60600fc5ca057f62567d8c"
[DEVELOPER 00:00:01] stderr: Header Name: [etag], Value: ["4edfcd770d60600fc5ca057f62567d8c"]
[DEVELOPER 00:00:01] stderr: [hdr] X-DAViCal-Version: DAViCal/1.1.4; DB/1.2.12
[DEVELOPER 00:00:01] stderr: Header Name: [x-davical-version], Value: [DAViCal/1.1.4; DB/1.2.12]
[DEVELOPER 00:00:01] stderr: [hdr] Content-type: text/xml; charset="utf-8"
[DEVELOPER 00:00:01] stderr: Header Name: [content-type], Value: [text/xml; charset="utf-8"]
[DEVELOPER 00:00:01] stderr: [hdr] Content-Length: 355
[DEVELOPER 00:00:01] stderr: Header Name: [content-length], Value: [355]
[DEVELOPER 00:00:01] stderr: [hdr] Date: Fri, 09 Sep 2016 08:14:26 GMT
[DEVELOPER 00:00:01] stderr: Header Name: [date], Value: [Fri, 09 Sep 2016 08:14:26 GMT]
[DEVELOPER 00:00:01] stderr: [hdr]
[DEVELOPER 00:00:01] stderr: End of headers.
[DEVELOPER 00:00:01] stderr: Running post_headers hooks
[DEVELOPER 00:00:01] stderr: Reading 355 bytes of response body.
[DEVELOPER 00:00:01] stderr: Got 355 bytes.
[DEVELOPER 00:00:01] stderr: Read block (355 bytes):
[DEVELOPER 00:00:01] stderr: [<?xml version="1.0" encoding="utf-8" ?>
[DEVELOPER 00:00:01] stderr: <multistatus xmlns="DAV:">
[DEVELOPER 00:00:01] stderr: <response>
[DEVELOPER 00:00:01] stderr: <href>/davical/caldav.php/tester2/Test_davical_carddav_1/unique-id-user2.vcf</href>
[DEVELOPER 00:00:01] stderr: <propstat>
[DEVELOPER 00:00:01] stderr: <prop>
[DEVELOPER 00:00:01] stderr: <getetag>"85c7cfd93c7303d3b938c87edcd27102"</getetag>
[DEVELOPER 00:00:01] stderr: <resourcetype/>
[DEVELOPER 00:00:01] stderr: </prop>
[DEVELOPER 00:00:01] stderr: <status>HTTP/1.1 200 OK</status>
[DEVELOPER 00:00:01] stderr: </propstat>
[DEVELOPER 00:00:01] stderr: </response>
[DEVELOPER 00:00:01] stderr: </multistatus>
[DEVELOPER 00:00:01] stderr: ]
[DEBUG 00:00:01] item unique-id-user2.vcf = rev 85c7cfd93c7303d3b938c87edcd27102
...
[DEVELOPER 00:00:01] stderr: POST /davical/caldav.php/tester2/Test_davical_carddav_1/?add_member HTTP/1.1
[DEVELOPER 00:00:01] stderr: Connection: TE
[DEVELOPER 00:00:01] stderr: TE: trailers
[DEVELOPER 00:00:01] stderr: Host: localhost:9009
[DEVELOPER 00:00:01] stderr: Content-Length: 735
[DEVELOPER 00:00:01] stderr: Content-Type: text/vcard; charset=utf-8
[DEVELOPER 00:00:01] stderr: Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[DEVELOPER 00:00:01] stderr: User-Agent: SyncEvolution
[DEVELOPER 00:00:01] stderr:
[DEVELOPER 00:00:01] stderr: Sending request-line and headers:
[DEVELOPER 00:00:01] stderr: Sending request body:
[DEVELOPER 00:00:01] stderr: Body block (735 bytes):
[DEVELOPER 00:00:01] stderr: [BEGIN:VCARD
[DEVELOPER 00:00:01] stderr: VERSION:3.0
[DEVELOPER 00:00:01] stderr: REV:20160908T170847Z
[DEVELOPER 00:00:01] stderr: UID:syuid288166.212340157754280
[DEVELOPER 00:00:01] stderr: N:1;;;user;
[DEVELOPER 00:00:01] stderr: FN:user 1
[DEVELOPER 00:00:01] stderr: NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCII c
[DEVELOPER 00:00:01] stderr: haracters (with umlauts in the name)\n- line break (in this note and the ma
[DEVELOPER 00:00:01] stderr: iling address)\n- long lines (in this note)\n- special characters (in this
[DEVELOPER 00:00:01] stderr: note)\n- tabs (in this note)\n\nVery long line\, very very long this time..
[DEVELOPER 00:00:01] stderr: . still not finished... blah blah blah blah blah 1 2 3 4 5 6 7 8 9 10 11 12
[DEVELOPER 00:00:01] stderr: 13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbackslash \\\n\nThe same\,
[DEVELOPER 00:00:01] stderr: in the middle of a line:\ncomma \, comma\ncolon : colon\nsemicolon \; semi
[DEVELOPER 00:00:01] stderr: colon\nbackslash \\ backslash\n\nA tab tab done\n line starts with tab
[DEVELOPER 00:00:01] stderr: END:VCARD
[DEVELOPER 00:00:01] stderr: ]
[DEVELOPER 00:00:01] stderr: Request sent; retry is 1.
[DEVELOPER 00:00:01] stderr: [status-line] < HTTP/1.1 201 Created
[DEVELOPER 00:00:01] stderr: [hdr] Server: 1.1
[DEVELOPER 00:00:01] stderr: Header Name: [server], Value: [1.1]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [1, 2, 3, access-control, calendar-access, calendar-schedule]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy]
[DEVELOPER 00:00:01] stderr: [hdr] Location: http://localhost:9009/davical/caldav.php/tester2/Test_davical_carddav_1/s...
[DEVELOPER 00:00:01] stderr: Header Name: [location], Value: [http://localhost:9009/davical/caldav.php/tester2/Test_davical_carddav_1/s...]
[DEVELOPER 00:00:01] stderr: [hdr] X-DAViCal-Version: DAViCal/1.1.4; DB/1.2.12
[DEVELOPER 00:00:01] stderr: Header Name: [x-davical-version], Value: [DAViCal/1.1.4; DB/1.2.12]
[DEVELOPER 00:00:01] stderr: [hdr] Content-type: text/plain; charset="utf-8"
[DEVELOPER 00:00:01] stderr: Header Name: [content-type], Value: [text/plain; charset="utf-8"]
[DEVELOPER 00:00:01] stderr: [hdr] Content-Length: 0
[DEVELOPER 00:00:01] stderr: Header Name: [content-length], Value: [0]
[DEVELOPER 00:00:01] stderr: [hdr] Date: Fri, 09 Sep 2016 08:14:26 GMT
[DEVELOPER 00:00:01] stderr: Header Name: [date], Value: [Fri, 09 Sep 2016 08:14:26 GMT]
[DEVELOPER 00:00:01] stderr: [hdr]
[DEVELOPER 00:00:01] stderr: End of headers.
[DEVELOPER 00:00:01] stderr: Running post_headers hooks
[DEVELOPER 00:00:01] stderr: Running post_send hooks
[DEVELOPER 00:00:01] stderr: ah_post_send (#0), code is 201 (want 401), WWW-Authenticate is (none)
[DEVELOPER 00:00:01] stderr: Request ends, status 201 class 2xx, error line:
[DEVELOPER 00:00:01] stderr: 201 Created
[DEBUG 00:00:01] add item status: <status 1.1, code 201, class 2, Created>
[DEBUG 00:00:01] new item mapped to syuid288166.212340157754280.vcf
[DEVELOPER 00:00:01] stderr: Running destroy hooks.
[DEVELOPER 00:00:01] stderr: Request ends.
[DEBUG 00:00:01] starting PROPFIND, credentials unverified, deadline in 120.0s
[DEVELOPER 00:00:01] stderr: ah_create, for WWW-Authenticate
[DEVELOPER 00:00:01] stderr: Running pre_send hooks
[DEVELOPER 00:00:01] stderr: auth: Sending 'Basic' response.
[DEVELOPER 00:00:01] stderr: Sending request headers:
[DEVELOPER 00:00:01] stderr: PROPFIND /davical/caldav.php/tester2/Test_davical_carddav_1/syuid288166.212340157754280.vcf HTTP/1.1
[DEVELOPER 00:00:01] stderr: Connection: TE
[DEVELOPER 00:00:01] stderr: TE: trailers
[DEVELOPER 00:00:01] stderr: Host: localhost:9009
[DEVELOPER 00:00:01] stderr: Depth: 0
[DEVELOPER 00:00:01] stderr: Content-Length: 141
[DEVELOPER 00:00:01] stderr: Content-Type: application/xml
[DEVELOPER 00:00:01] stderr: Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[DEVELOPER 00:00:01] stderr: User-Agent: SyncEvolution
[DEVELOPER 00:00:01] stderr:
[DEVELOPER 00:00:01] stderr: Sending request-line and headers:
[DEVELOPER 00:00:01] stderr: Sending request body:
[DEVELOPER 00:00:01] stderr: Body block (141 bytes):
[DEVELOPER 00:00:01] stderr: [<?xml version="1.0" encoding="utf-8"?>
[DEVELOPER 00:00:01] stderr: <propfind xmlns="DAV:"><prop>
[DEVELOPER 00:00:01] stderr: <getetag xmlns="DAV:"/>
[DEVELOPER 00:00:01] stderr: <resourcetype xmlns="DAV:"/>
[DEVELOPER 00:00:01] stderr: </prop></propfind>
[DEVELOPER 00:00:01] stderr: ]
[DEVELOPER 00:00:01] stderr: Request sent; retry is 1.
[DEVELOPER 00:00:01] stderr: [status-line] < HTTP/1.1 207 Multi-status
[DEVELOPER 00:00:01] stderr: [hdr] Server: 1.1
[DEVELOPER 00:00:01] stderr: Header Name: [server], Value: [1.1]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [1, 2, 3, access-control, calendar-access, calendar-schedule]
[DEVELOPER 00:00:01] stderr: [hdr] DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
[DEVELOPER 00:00:01] stderr: Header Name: [dav], Value: [extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy]
[DEVELOPER 00:00:01] stderr: [hdr] ETag: "db267ae6bb49f9157e13f8b3aadcd84e"
[DEVELOPER 00:00:01] stderr: Header Name: [etag], Value: ["db267ae6bb49f9157e13f8b3aadcd84e"]
[DEVELOPER 00:00:01] stderr: [hdr] X-DAViCal-Version: DAViCal/1.1.4; DB/1.2.12
[DEVELOPER 00:00:01] stderr: Header Name: [x-davical-version], Value: [DAViCal/1.1.4; DB/1.2.12]
[DEVELOPER 00:00:01] stderr: [hdr] Content-type: text/xml; charset="utf-8"
[DEVELOPER 00:00:01] stderr: Header Name: [content-type], Value: [text/xml; charset="utf-8"]
[DEVELOPER 00:00:01] stderr: [hdr] Content-Length: 367
[DEVELOPER 00:00:01] stderr: Header Name: [content-length], Value: [367]
[DEVELOPER 00:00:01] stderr: [hdr] Date: Fri, 09 Sep 2016 08:14:26 GMT
[DEVELOPER 00:00:01] stderr: Header Name: [date], Value: [Fri, 09 Sep 2016 08:14:26 GMT]
[DEVELOPER 00:00:01] stderr: [hdr]
[DEVELOPER 00:00:01] stderr: End of headers.
[DEVELOPER 00:00:01] stderr: Running post_headers hooks
[DEVELOPER 00:00:01] stderr: Reading 367 bytes of response body.
[DEVELOPER 00:00:01] stderr: Got 367 bytes.
[DEVELOPER 00:00:01] stderr: Read block (367 bytes):
[DEVELOPER 00:00:01] stderr: [<?xml version="1.0" encoding="utf-8" ?>
[DEVELOPER 00:00:01] stderr: <multistatus xmlns="DAV:">
[DEVELOPER 00:00:01] stderr: <response>
[DEVELOPER 00:00:01] stderr: <href>/davical/caldav.php/tester2/Test_davical_carddav_1/syuid288166.212340157754280.vcf</href>
[DEVELOPER 00:00:01] stderr: <propstat>
[DEVELOPER 00:00:01] stderr: <prop>
[DEVELOPER 00:00:01] stderr: <getetag>"ee702bdc6e7e255fd9989bbf0632bc6c"</getetag>
[DEVELOPER 00:00:01] stderr: <resourcetype/>
[DEVELOPER 00:00:01] stderr: </prop>
[DEVELOPER 00:00:01] stderr: <status>HTTP/1.1 200 OK</status>
[DEVELOPER 00:00:01] stderr: </propstat>
[DEVELOPER 00:00:01] stderr: </response>
[DEVELOPER 00:00:01] stderr: </multistatus>
[DEVELOPER 00:00:01] stderr: ]
[DEBUG 00:00:01] item syuid288166.212340157754280.vcf = rev ee702bdc6e7e255fd9989bbf0632bc6c
...
[DEVELOPER 00:00:02] stderr: REPORT /davical/caldav.php/tester2/Test_davical_carddav_1/ HTTP/1.1
[DEVELOPER 00:00:02] stderr: Connection: TE
[DEVELOPER 00:00:02] stderr: TE: trailers
[DEVELOPER 00:00:02] stderr: Host: localhost:9009
[DEVELOPER 00:00:02] stderr: Content-Length: 384
[DEVELOPER 00:00:02] stderr: Depth: 0
[DEVELOPER 00:00:02] stderr: Content-Type: application/xml; charset="utf-8"
[DEVELOPER 00:00:02] stderr: Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[DEVELOPER 00:00:02] stderr: User-Agent: SyncEvolution
[DEVELOPER 00:00:02] stderr:
[DEVELOPER 00:00:02] stderr: Sending request-line and headers:
[DEVELOPER 00:00:02] stderr: Sending request body:
[DEVELOPER 00:00:02] stderr: Body block (384 bytes):
[DEVELOPER 00:00:02] stderr: [<?xml version="1.0" encoding="utf-8" ?>
[DEVELOPER 00:00:02] stderr: <C:addressbook-multiget xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav">
[DEVELOPER 00:00:02] stderr: <D:prop>
[DEVELOPER 00:00:02] stderr: <D:getetag/>
[DEVELOPER 00:00:02] stderr: <C:address-data/>
[DEVELOPER 00:00:02] stderr: </D:prop>
[DEVELOPER 00:00:02] stderr: <D:href>/davical/caldav.php/tester2/Test_davical_carddav_1/syuid288166.212340157754280.vcf</D:href>
[DEVELOPER 00:00:02] stderr: <D:href>/davical/caldav.php/tester2/Test_davical_carddav_1/unique-id-user2.vcf</D:href>
[DEVELOPER 00:00:02] stderr: </C:addressbook-multiget>]
[DEVELOPER 00:00:02] stderr: Request sent; retry is 1.
[DEVELOPER 00:00:02] stderr: [status-line] < HTTP/1.1 207 Multi-status
[DEVELOPER 00:00:02] stderr: [hdr] Server: 1.1
[DEVELOPER 00:00:02] stderr: Header Name: [server], Value: [1.1]
[DEVELOPER 00:00:02] stderr: [hdr] DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
[DEVELOPER 00:00:02] stderr: Header Name: [dav], Value: [1, 2, 3, access-control, calendar-access, calendar-schedule]
[DEVELOPER 00:00:02] stderr: [hdr] DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
[DEVELOPER 00:00:02] stderr: Header Name: [dav], Value: [extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy]
[DEVELOPER 00:00:02] stderr: [hdr] ETag: "71ac67ebaf38ed5fb164ee1696038ded"
[DEVELOPER 00:00:02] stderr: Header Name: [etag], Value: ["71ac67ebaf38ed5fb164ee1696038ded"]
[DEVELOPER 00:00:02] stderr: [hdr] X-DAViCal-Version: DAViCal/1.1.4; DB/1.2.12
[DEVELOPER 00:00:02] stderr: Header Name: [x-davical-version], Value: [DAViCal/1.1.4; DB/1.2.12]
[DEVELOPER 00:00:02] stderr: [hdr] Content-type: text/xml; charset="utf-8"
[DEVELOPER 00:00:02] stderr: Header Name: [content-type], Value: [text/xml; charset="utf-8"]
[DEVELOPER 00:00:02] stderr: [hdr] Content-Length: 2205
[DEVELOPER 00:00:02] stderr: Header Name: [content-length], Value: [2205]
[DEVELOPER 00:00:02] stderr: [hdr] Connection: close
[DEVELOPER 00:00:02] stderr: Header Name: [connection], Value: [close]
[DEVELOPER 00:00:02] stderr: [hdr] Date: Fri, 09 Sep 2016 08:14:27 GMT
[DEVELOPER 00:00:02] stderr: Header Name: [date], Value: [Fri, 09 Sep 2016 08:14:27 GMT]
[DEVELOPER 00:00:02] stderr: [hdr]
[DEVELOPER 00:00:02] stderr: End of headers.
[DEVELOPER 00:00:02] stderr: Running post_headers hooks
[DEVELOPER 00:00:02] stderr: Reading 2205 bytes of response body.
[DEVELOPER 00:00:02] stderr: Got 2205 bytes.
[DEVELOPER 00:00:02] stderr: Read block (2205 bytes):
[DEVELOPER 00:00:02] stderr: [<?xml version="1.0" encoding="utf-8" ?>
[DEVELOPER 00:00:02] stderr: <multistatus xmlns="DAV:" xmlns:VC="urn:ietf:params:xml:ns:carddav">
[DEVELOPER 00:00:02] stderr: <response>
[DEVELOPER 00:00:02] stderr: <href>/davical/caldav.php/tester2/Test_davical_carddav_1/unique-id-user2.vcf</href>
[DEVELOPER 00:00:02] stderr: <propstat>
[DEVELOPER 00:00:02] stderr: <prop>
[DEVELOPER 00:00:02] stderr: <getetag>"85c7cfd93c7303d3b938c87edcd27102"</getetag>
[DEVELOPER 00:00:02] stderr: <VC:address-data>BEGIN:VCARD
[DEVELOPER 00:00:02] stderr: VERSION:3.0
[DEVELOPER 00:00:02] stderr: UID:unique-id-user2
[DEVELOPER 00:00:02] stderr: NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCI
[DEVELOPER 00:00:02] stderr: I characters (with umlauts in the name)\n- line break (in this note and
[DEVELOPER 00:00:02] stderr:
[DEVELOPER 00:00:02] stderr: the mailing address)\n- long lines (in this note)\n- special characters
[DEVELOPER 00:00:02] stderr:
[DEVELOPER 00:00:02] stderr: (in this note)\n- tabs (in this note)\n\nVery long line\, very very lon
[DEVELOPER 00:00:02] stderr: g
[DEVELOPER 00:00:02] stderr: this time... still not finished... blah blah blah blah blah 1 2 3 4 5
[DEVELOPER 00:00:02] stderr: 6
[DEVELOPER 00:00:02] stderr: 7 8 9 10 11 12 13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbacksla
[DEVELOPER 00:00:02] stderr: s
[DEVELOPER 00:00:02] stderr: h \\n\nThe same\, in the middle of a line:\ncomma \, comma\ncolon : col
[DEVELOPER 00:00:02] stderr: o
[DEVELOPER 00:00:02] stderr: n\nsemicolon \; semicolon\nbackslash \ backslash\n\nA tab tab done\n l
[DEVELOPER 00:00:02] stderr: i
[DEVELOPER 00:00:02] stderr: ne starts with tab
[DEVELOPER 00:00:02] stderr: FN:user 2
[DEVELOPER 00:00:02] stderr: N:2;;;user;
[DEVELOPER 00:00:02] stderr: REV:20160909T081426Z
[DEVELOPER 00:00:02] stderr: END:VCARD
[DEVELOPER 00:00:02] stderr: </VC:address-data>
[DEVELOPER 00:00:02] stderr: </prop>
[DEVELOPER 00:00:02] stderr: <status>HTTP/1.1 200 OK</status>
[DEVELOPER 00:00:02] stderr: </propstat>
[DEVELOPER 00:00:02] stderr: </response>
[DEVELOPER 00:00:02] stderr: <response>
[DEVELOPER 00:00:02] stderr: <href>/davical/caldav.php/tester2/Test_davical_carddav_1/syuid288166.212340157754280.vcf</href>
[DEVELOPER 00:00:02] stderr: <propstat>
[DEVELOPER 00:00:02] stderr: <prop>
[DEVELOPER 00:00:02] stderr: <getetag>"ee702bdc6e7e255fd9989bbf0632bc6c"</getetag>
[DEVELOPER 00:00:02] stderr: <VC:address-data>BEGIN:VCARD
[DEVELOPER 00:00:02] stderr: VERSION:3.0
[DEVELOPER 00:00:02] stderr: REV:20160908T170847Z
[DEVELOPER 00:00:02] stderr: UID:syuid288166.212340157754280
[DEVELOPER 00:00:02] stderr: N:1;;;user;
[DEVELOPER 00:00:02] stderr: FN:user 1
[DEVELOPER 00:00:02] stderr: NOTE:This user tests some of the advanced aspects of vcards:\n- non-ASCI
[DEVELOPER 00:00:02] stderr: I characters (with umlauts in the name)\n- line break (in this note and
[DEVELOPER 00:00:02] stderr: the mailing address)\n- long lines (in this note)\n- special characters
[DEVELOPER 00:00:02] stderr: (in this note)\n- tabs (in this note)\n\nVery long line\, very very long
[DEVELOPER 00:00:02] stderr: this time... still not finished... blah blah blah blah blah 1 2 3 4 5 6
[DEVELOPER 00:00:02] stderr: 7 8 9 10 11 12 13 14 15 16\n\ncomma \,\ncolon :\nsemicolon \;\nbackslas
[DEVELOPER 00:00:02] stderr: h \\\n\nThe same\, in the middle of a line:\ncomma \, comma\ncolon : col
[DEVELOPER 00:00:02] stderr: on\nsemicolon \; semicolon\nbackslash \\ backslash\n\nA tab tab done\n
[DEVELOPER 00:00:02] stderr: line starts with tab
[DEVELOPER 00:00:02] stderr: END:VCARD
[DEVELOPER 00:00:02] stderr: </VC:address-data>
[DEVELOPER 00:00:02] stderr: </prop>
[DEVELOPER 00:00:02] stderr: <status>HTTP/1.1 200 OK</status>
[DEVELOPER 00:00:02] stderr: </propstat>
[DEVELOPER 00:00:02] stderr: </response>
[DEVELOPER 00:00:02] stderr: </multistatus>
[DEVELOPER 00:00:02] stderr: ]
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
5 years, 8 months