Red Hat Bugzilla – Bug 259581
pup is not using the configured (by GNOME panel) proxy value
Last modified: 2007-11-30 17:12:14 EST
Description of problem:
When starting pirut from the Fedora menu, the proxy configuration done through
the configuration menu with the GNOME panel is not used:
System->Preferences->Network->proxy (I'm not sure of the exact labels of the
menu because I'm running with a french locale)
Version-Release number of selected component (if applicable):
Steps to Reproduce:
If connected through a proxy pirut can not connect to any servern (and does not
even show it's main window)
[lassauge@dhc02637]$ LANG=C date
Tue Aug 28 12:17:47 CEST 2007
[lassauge@dhc02637]$ ps -efwww | grep pup
lassauge 6050 1 0 12:10 ? 00:00:00 /usr/bin/pup
root 6051 6050 0 12:10 ? 00:00:00 /usr/sbin/userhelper -w pup
root 6054 6051 0 12:10 ? 00:00:01 /usr/bin/python -tt /usr/sbin/pup
lassauge 8684 2642 0 12:17 pts/0 00:00:00 grep pup
Have you logged out and logged back in since changing the proxy values?
Proxy values are configured since ages on my machine.
If started from a terminal (at least gnome-terminal) the environment variables
are (of course) correctly set and pup is working but never from the GNOME panel
BTW this configured value should (could ?) be used by several other applications
(not speaking from firefox which uses its own configuration for this). I think I
had also the same problem with deluge for example.
This had been fixed up... not sure what's regressed; I'll do some poking at it.
It looks like gnome-session no longer sets environment variables for the proxy
It was causing a lot of problems, so I reverted it.
Also, tt didn't work at all if proxy auto configuration was being used.
http_proxy isn't really sufficient I guess.
Lots of problems? Like what? It shouldn't be any different than the users who
have a proxy set in their environment via their shell initialization. Except
that it's something which is actually accessible to people rather than requiring
people to go off and edit a shell script.
See bug 217332
Anyway, even if we did set http_proxy, it isn't a good enough solution for
setting your http proxy. It doesn't cover autoconfiguration...
http_proxy only solves the problem for some users, and given that it's an
environment variable, it isn't dynamic enough to be able to deal with instant apply.
pup/pirut should read the proxy values from wherever they're stored (gconf?) and
apply them when setting up yum.
(In reply to comment #8)
> pup/pirut should read the proxy values from wherever they're stored (gconf?) and
> apply them when setting up yum.
pup/pirut running as root can't read settings that the user has stored in gconf.
Your home directory may require a key (in the kernel keyring) which only the
user session has in cases like AFS, kerberized NFS or ecryptfs.
That's why they need to be set in the environment to be usable.
Ideally they wouldn't run as root (but that's the whole consolehelper known
Could probably setuid based on parent pid I guess, but that's pretty fragile...
Maybe the solution here is "punt until policykit".
Another option would be to hook consolehelper up to a helper app, and have pirut
run unprivileged and spawn the helper app through consolehelper
Wrote a wrapper script to snag the details out of gconf and then exec the real
utilities. Will be in pirut-1.3.23