792d6bc99a
There still was a TODO in the code for handling "-" as password value. No surprise, not having that implemented broke CalDAV sync in syncevo-dbus-server because it would try to read the password from stdin (the default in SyncContext). Probably SyncContext shouldn't provide such an unsafe fallback, but that's something for another patch. This patch addresses the immediate problem by moving the initialization of the SyncContext used by the child process into the master process and adding the password checking directly afterwards (LocalTransportAgent::start()). It runs in the main process (syncevolution or syncevo-dbus-server) and uses the "request password" method of the main sync context. Passwords are then stored temporarily, so the same check doesn't have to ask for passwords again in the child process. Long term we'll need to rewrite the complete password handling... |
||
---|---|---|
.. | ||
backends | ||
dbus | ||
gdbus | ||
gnome-bluetooth | ||
gtk-ui | ||
syncevo | ||
synthesis-includes | ||
templates | ||
.cvsignore | ||
.gitignore | ||
async.patch | ||
client-test-app.cpp | ||
client-test-buteo.cpp | ||
client-test-buteo.h | ||
CmdlineSyncClient.cpp | ||
CmdlineSyncClient.h | ||
Makefile-gen.am | ||
NotificationBackendBase.h | ||
NotificationBackendLibnotify.cpp | ||
NotificationBackendLibnotify.h | ||
NotificationBackendMLite.cpp | ||
NotificationBackendMLite.h | ||
NotificationBackendNoop.cpp | ||
NotificationBackendNoop.h | ||
NotificationManager.cpp | ||
NotificationManager.h | ||
NotificationManagerBase.h | ||
NotificationManagerFactory.cpp | ||
NotificationManagerFactory.h | ||
org.syncevolution.service.in | ||
README.h | ||
README.templates | ||
shlibs.local | ||
syncevo-dbus-server-startup.sh.in | ||
syncevo-dbus-server.cpp | ||
syncevo-dbus-server.desktop.in | ||
syncevolution.cpp | ||
valgrind.supp |
The configuration templates in "templates" get installed into $(datadir)/syncevolution/templates. When adding/changing a new server, then only enter the properties which need to be changed here so that the default values can be used for the remaining properties. An icon can be added here for servers. The file name must start with "icon". Server configurations must be kept in sync in three different places: - here (if a server is installed as files) - in SyncEvolutionConfig.cpp's EvolutionSyncConfig::createServerTemplate() - in SyncEvolutionCmdline.cpp's test server configs - in test/test-dbus.py testGetConfigsTemplates() Note that server icons must come with a suitable license that allows redistribution.