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

Reply via email to