http://bugzilla.moblin.org/show_bug.cgi?id=3604
--- Comment #28 from pohly <[email protected]> 2009-09-16 00:12:52 --- (In reply to comment #27) > > There's still a hard-coded list of passwords inside > > EvolutionSyncConfig::preFlush(). Passwords added dynamically by backends > > therefore won't be stored in the keyring. > > > > Here's how this can be solved: > > * add a virtual checkPassword(ConfigUserInterface &ui, > > ConfigNode &globalConfigNode, > > const boost::shared_ptr<FilterConfigNode> > > &sourceConfigNode = boost::shared_ptr<FilterConfigNode>()) > > to ConfigProperty, with an empty implementation. Similar for > > savePassword(). > > * Override these methods in the actual PasswordProperty implementations. > > * iterate over *all* sync and source properties and invoke the virtual > > methods > "checkPassword" is used for 'retrieving password' so I add 'savePassword' in > the ConfigProperty class to save password.The default impl is empty. Current > password impl classes have override them. > > Since ConfigProperties are registered in ConfigPropertyRegistry, pseudocode > is: > void preflush(ConfigUserInterface &ui) { > for each ConfigProperty in Sync Registry > ConfigProperty->savePassword(ui, globalConfigNode); > > for each sourceConfigNode in sourcenodes > for each ConfigProperty in Source Registry > ConfigProperty->savePassword(ui, globalConfigNode, sourceConfigNode) > } > Reasonable? Yes, that's what I was thinking of. > > You didn't comment on that and now used "server URL" as part of the "object" > > key, leading to "ns5.scheduleworld.com/funambol/ds ical20 backend". The > > backend > > password is not related to the server URL, which might even be empty for > > other > > transports. I still think the server configuration name would be a better > > choice; later we should switch to the "source set configuration name". > Yes, I didn't see this story until today. I use "server URL" instead of > 'server > name' for currently there is no place to store "server name" in the > EvolutionSyncConfig and so is global config file. Looks to me like we have to pass this piece of information into the askPassword/savePassword() methods as additional context information. > So I'd like to use > serverTemplates to find server name with the key "WebURL" for serverTemplates > contains pairs of "server name" and "WebURL". No, don't. Currently we can have two server configurations "scheduleworld_1" and "scheduleworld_2" with different calendars (and thus different backend passwords) configured for "calendar". If I understand correctly what you propose, you would look for a server configuration which has the same WebURL as the one you currently deal with, so you could end up with "scheduleworld_1" when working with "scheduleworld_2" (or vice versa). -- Configure bugmail: http://bugzilla.moblin.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. You are watching someone on the CC list of the bug. _______________________________________________ Syncevolution-issues mailing list [email protected] http://lists.syncevolution.org/listinfo/syncevolution-issues
