Bug 1403456 - pacrunner needs to be restarted to accept configuration
Summary: pacrunner needs to be restarted to accept configuration
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pacrunner
Version: 25
Hardware: x86_64
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: David Woodhouse
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-12-10 13:16 UTC by Brian J. Murrell
Modified: 2017-06-09 19:13 UTC (History)
1 user (show)

Fixed In Version: pacrunner-0.11-1.fc26
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-06-09 19:13:03 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Brian J. Murrell 2016-12-10 13:16:51 UTC
Description of problem:
After a system boot, pacrunner needs to be restarted again before it will accept a PAC configuration file.

Version-Release number of selected component (if applicable):
pacrunner-0.7-7.fc24.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Configure system to poke a configuration into pacrunner on boot
2. Test with "proxy" command once booted
3.

Actual results:
proxy command returns "direct://" for a url that should proxy

Expected results:
proxy command should return the proxy for a url that should proxy

Additional info:
In /etc/rc.d/rc.local I have:

# until NM does this, load the pacrunner service
gdbus call --system --dest org.pacrunner --object-path /org/pacrunner/manager --method org.pacrunner.Manager.CreateProxyConfiguration "{'Method': <'auto'>, 'URL': <'http://server.example.com/proxy.pac'>}"

to poke a configuration into pacrunner.  I have enabled rc.local and it is being run:

$ systemctl status rc-local.service
● rc-local.service - /etc/rc.d/rc.local Compatibility
   Loaded: loaded (/usr/lib/systemd/system/rc-local.service; static; vendor preset: disabled)
   Active: active (exited) since Fri 2016-12-09 08:36:09 EST; 23h ago
  Process: 1494 ExecStart=/etc/rc.d/rc.local start (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/rc-local.service

Dec 09 08:36:00 pc.example.com systemd[1]: Starting /etc/rc.d/rc.local Compatibility...
Dec 09 08:36:09 pc.example.com rc.local[1494]: (objectpath '/org/pacrunner/configuration0',)
Dec 09 08:36:09 pc.example.com systemd[1]: Started /etc/rc.d/rc.local Compatibility.

But even after the system is booted I cannot poke a configuration into pacrunner and have it work:

$ sudo gdbus call --system --dest org.pacrunner --object-path /org/pacrunner/manager --method org.pacrunner.Manager.CreateProxyConfiguration "{'Method': <'auto'>, 'URL': <'http://server.example.com/proxy.pac'>}"; proxy http://www.yahoo.com/
(objectpath '/org/pacrunner/configuration3',)
direct://

However if I kill pacrunner and do it again, it works:

$ sudo killall pacrunner
$ sudo gdbus call --system --dest org.pacrunner --object-path /org/pacrunner/manager --method org.pacrunner.Manager.CreateProxyConfiguration "{'Method': <'auto'>, 'URL': <'http://server.example.com/proxy.pac'>}"; proxy http://www.yahoo.com/
(objectpath '/org/pacrunner/configuration0',)
http://proxy.example.com.:3128

Comment 1 Brian J. Murrell 2016-12-13 11:42:36 UTC
I am noticing that the pacrunner package in F25 is version 0.7 which is circa Jun-2013 and the most recent release is 0.10 of just a couple of months ago.

Perhaps it's time to roll up the newer version?  Or is there something about the newer versions that we don't want?

Comment 2 David Woodhouse 2016-12-13 12:08:27 UTC
We absolutely do want the new version. It has all the GSoC goodness for multiple parallel configurations, which is required for the NetworkManager auto-proxy support (yay!).

Well, yay for you. I now live on a corporate network which just does NAT and/or transparent proxying :)

Comment 3 Brian J. Murrell 2016-12-13 13:37:43 UTC
I've rolled and installed an 0.10 RPM.  We'll see on next reboot if the dbus poking works.

Comment 4 Brian J. Murrell 2017-03-01 13:44:07 UTC
So, interestingly, I don't think I need to kill pacrunner to get the poking to work anymore since upgrading.

I don't think my /etc/rc.local poking technique is working though.  I still end up having to poke it after the machine has booted (typically from my user session with sudo once I notice proxy is not working).

I will have to investigate why it's not working in /etc/rc.local.

Comment 5 Brian J. Murrell 2017-03-01 13:44:47 UTC
That should be /etc/rc.d/rc.local of course.

Comment 6 Fedora Update System 2017-05-26 11:57:16 UTC
connman-1.34-1.fc26 pacrunner-0.11-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-2274ab8910

Comment 7 Fedora Update System 2017-05-26 19:35:58 UTC
connman-1.34-1.fc26, pacrunner-0.11-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-2274ab8910

Comment 8 Fedora Update System 2017-06-09 19:13:03 UTC
connman-1.34-1.fc26, pacrunner-0.11-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.