30 lines
1.5 KiB
Plaintext
30 lines
1.5 KiB
Plaintext
Setting the proxy:
|
|
|
|
The packagekitd daemon sets the network proxy for the packaging backend so that
|
|
packages can be downloaded when on a corporate or managed network.
|
|
|
|
If the system-wide ProxyHTTP or ProxyFTP are set in PackageKit.conf then these
|
|
are used by default. If these keys are blank or not present then the session
|
|
proxy can be used. The session proxies are the values that are set in the
|
|
network proxy configuration.
|
|
|
|
The session proxy is read by a session process that is started at login time,
|
|
and then relayed to PackageKit. In GNOME, this is done by the gpk-update-icon
|
|
process, which reads the settings from GConf, and executes SetProxy on
|
|
org.freedesktop.PackageKit.
|
|
|
|
Note: this method is on the main interface, not a transaction interface. The
|
|
rationale for this is that every client using PackageKit should not have to
|
|
read and set the proxy at the start of each and every transaction, as this
|
|
would make each transaction slower to startup, and also require each client to
|
|
read and track the session proxy configuration.
|
|
|
|
To avoid this overhead, each session can register the proxy with the daemon
|
|
once, and then the daemon can remember the user identifier and the session that
|
|
it came from, and store this data in a database. When each transaction method
|
|
is executed, the uid and session that executed the call are used to lookup the
|
|
proxy settings and this is passed to the backend. This also allows the daemon to
|
|
have to correct proxy settings if the daemon times out (as it is designed to do)
|
|
and is restarted by a client application using DBus system activation.
|
|
|