[packagekit] Debconf and PackageKit Was Re: Packagekit and Ubuntu
Daniel Nicoletti
dantti85-pk at yahoo.com.br
Thu Feb 11 04:10:50 PST 2010
> On Tue, 9 Feb 2010 15:06:49 +0000, Colin Watson wrote:
> > We're assuming here that the transaction-id is secret, I think, because
> > the point is that the rootly debconf can talk to an object on the system
> > bus whose path is constructed using the transaction-id, and be sure that
> > that object was started by the PackageKit client. Is that assumption
> > sound?
>
> I'm not sure that it is.
>
> Anything can see the list of transaction ids by querying DBus, and could
> then race with the owning process to register with o.d.Debconf for that
> transaction id.
>
> Therefore if we want to do registration then we have to use a nonce in
> the transaction that isn't exposed over DBus.
>
> Richard didn't like registration though, so what are the alternatives:
>
> * the backend gets told which DBus name owns the transaction and can
> then call methods on it directly.
> - This has the advantage that there is less code, but it does limit
> us to doing all debconf prompting in-process.
>
> * the transaction id could be used, but we use information available
> on DBus to restrict who can register for a given transaction. For
> instance the uid of the process must be the same as the uid of the
> process that started the transaction (and the same pid if we
> desire).
> - This again is quite simple, but I'm not sure whether there are
> concerns about malware in the user's session interfering. Given that
> they could generally hijack the process and steal the nonce in that
> approach I'm not sure that this is a worry.
James,
It seems you guys did not like the connection ID idea, but if you use
the transaction ID as an unique thing (as you know this is a public thing)
this will be more like a PackageKit frontend than a Debconf general frontend,
IMHO if the GUI running as user call dconf-dbus which register
itself on the system bus and return the dbus connection id
now you have one thing that only the application that will ask
for a install task will know. Then forward this to PackageKit as
root (by using setHints() ) which the backend sets an envvar with this value.
IMHO this is still the safer method and we don't need to change
PackageKit at all.
Best,
Daniel.
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com
More information about the PackageKit
mailing list