[systemd-devel] [RFC 0/6] A network proxy management daemon, systemd-proxy-discoveryd

Tomasz Bursztyka tomasz.bursztyka at linux.intel.com
Fri Apr 10 05:17:37 PDT 2015


Hi,

As it has been discussed in the systemd hackfest during the Linux Conference
Europe, one daemon could centralize the management of all network proxy
configurations. Idea is something user can do per-application (like in
firefox for instance) or broader (per-DM like in Gnome), user could do it
once and for all through such daemon and applications would then request it
to know whether or not a proxy has to be used and which one.

As a notice, this is nothing new. Such standalone daemon has been already
done by the past, pacrunner. systemd-proxy-discoveryd will more or less
implement the same ideas with improvements. It will get rid of big JS
engines like spidermonkey or v8 which are overkill for the tiny PAC files
to be executed on, for instance. From pacrunner experience, APIs will be
also improved.

This one is using - at least in this RFC - the duktape JS engine to run
the PAC files. Note it is not provided in this patchset. Latest version
1.2.x was used.

Next features to come are a bit detailed in the TODO (last patch).

Tomasz Bursztyka (6):
  proxy-discoveryd: Basic core added
  proxy-discoveryd: Add the basics for parsing the default configuration
  proxy-discoveryd: Add PAC support through duktape js engine
  proxy-discoveryd: Execute the PAC based proxy in a thread
  proxy-discoveryd: Add the basic parts for handling DBus methods
  update TODO

 .gitignore                                         |   1 +
 Makefile.am                                        |  38 +++++
 TODO                                               |  10 ++
 configure.ac                                       |  11 ++
 src/proxy-discovery/.gitignore                     |   1 +
 .../org.freedesktop.proxydiscovery1.conf           |  46 ++++++
 .../org.freedesktop.proxydiscovery1.service        |  12 ++
 src/proxy-discovery/proxy-discoveryd-bus.c         |  48 ++++++
 src/proxy-discovery/proxy-discoveryd-manager.c     | 156 ++++++++++++++++++
 src/proxy-discovery/proxy-discoveryd-pac.c         | 182 +++++++++++++++++++++
 .../proxy-discoveryd-proxy-gperf.gperf             |  17 ++
 src/proxy-discovery/proxy-discoveryd-proxy.c       | 135 +++++++++++++++
 src/proxy-discovery/proxy-discoveryd.c             |  77 +++++++++
 src/proxy-discovery/proxy-discoveryd.h             |  84 ++++++++++
 units/.gitignore                                   |   1 +
 units/org.freedesktop.proxydiscovery1.busname      |  15 ++
 units/systemd-proxy-discoveryd.service.in          |  18 ++
 17 files changed, 852 insertions(+)
 create mode 100644 src/proxy-discovery/.gitignore
 create mode 100644 src/proxy-discovery/org.freedesktop.proxydiscovery1.conf
 create mode 100644 src/proxy-discovery/org.freedesktop.proxydiscovery1.service
 create mode 100644 src/proxy-discovery/proxy-discoveryd-bus.c
 create mode 100644 src/proxy-discovery/proxy-discoveryd-manager.c
 create mode 100644 src/proxy-discovery/proxy-discoveryd-pac.c
 create mode 100644 src/proxy-discovery/proxy-discoveryd-proxy-gperf.gperf
 create mode 100644 src/proxy-discovery/proxy-discoveryd-proxy.c
 create mode 100644 src/proxy-discovery/proxy-discoveryd.c
 create mode 100644 src/proxy-discovery/proxy-discoveryd.h
 create mode 100644 units/org.freedesktop.proxydiscovery1.busname
 create mode 100644 units/systemd-proxy-discoveryd.service.in

-- 
2.0.5



More information about the systemd-devel mailing list