Hi Milan, I did some debugging too and I could get it working by fixing some bug in e_webdav_session_extract_privilege_simple in e-webdav-session.c. I believe the problem is the following:
When the privlieges are retrieved from the server, the relevant XML snippet looks like this: <D:current-user-privilege-set> <D:privilege> <D:read /> <D:write /> </D:privilege> </D:current-user-privilege-set> As you can see, the privilege node contains the two child nodes, however when it's passed to e_webdav_session_extract_privilege_simple, the for loop stops after evaluating the first one due to the break statement and thus skips any further privileges. So basically it boiled down to e_webdav_session_extract_privilege_simple only returning a single privilege and not the whole set which I think was the bug. Maybe the for loop in e_webdav_session_current_user_privilege_set_cb was supposed to deal with this...? Anyway, my C is pretty rusty so I'd not consider my hacky workaround code any good but if you think it is of any use to clarify the problem, I can send you a diff. Cheers, Peter On Tue, 2020-01-14 at 11:28 +0100, Milan Crha via evolution-list wrote: > On Tue, 2020-01-14 at 07:43 +0000, Krauß, Peter (SCC) via evolution- > list wrote: > > I did indeed do several restarts (without success). > > Hi, > just to be clear, I didn't mean restart of the whole machine, but > restart of the calendar factory only, that is, of the > evolution-calendar-factory process. > > You even do not need to kill the process to be restarted, just close > evolution, open terminal and execute there: > > $ /usr/libexec/evolution-calendar-factory -w > > then wait for few seconds and only then start Evolution. Though I > think > you captured the log from the initial email in a very similar way and > it still did not work, thus this won't work as well. > > Maybe you can run DBus monitor and search what it passed around. You > might focus on "writable" and "Writable" (quotes for clarity only) > signals/properties. The command is: > > $ dbus-monitor > > then I see for example this after I open a calendar which had not > been > opened yet: > > > signal time=1578997003.522247 sender=:1.181 -> destination=(null > > destination) serial=878 > > path=/org/gnome/evolution/dataserver/Subprocess/6081/25; > > interface=org.freedesktop.DBus.Properties; member=PropertiesChanged > > string "org.gnome.evolution.dataserver.Calendar" > > array [ > > dict entry( > > string "Writable" > > variant boolean true > > ) > > ] > > array [ > > ] > > followed by a method invocation response: > > > method return time=1578997003.522745 sender=:1.181 -> > > destination=:1.226 serial=879 reply_serial=42 > > array [ > > string "alarm-email-address" > > string "''" > > string "cache-dir" > > ..... > > string "writable" > > string "true" > > ] > > this is how the backends notify the clients about their state, one of > them being writability. It's hard to recognize which calendar the > response belongs to, that why I'd try on one, which is not opened > yet. > Note the dbus-monitor output will be very chatty, quite many things > sends something over D-Bus all the time, thus expect interleaved > output. > Bye, > Milan > > _______________________________________________ > evolution-list mailing list > evolution-list@gnome.org > To change your list options or unsubscribe, visit ... > https://mail.gnome.org/mailman/listinfo/evolution-list -- Peter Krauß <peter.kra...@kit.edu> Karlsruher Institut für Technologie (KIT) Steinbuch Centre for Computing (SCC) Forschungsgruppe Cloud Computing Hermann-von-Helmholtz-Platz 1 Gebäude 449/R105 76344 Eggenstein-Leopoldshafen Telefon: +49(0)721/608-26578 E-Mail: peter.kra...@kit.edu Web: http://www.kit.edu/ KIT - Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft _______________________________________________ evolution-list mailing list evolution-list@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-list