The CUPS Proxy Daemon is responsible for parsing HTTP(S) requests from the VM’s
file socket (/run/cups_proxy/cups.sock
) and passing that to the CupsProxyService
in Ash Chrome via Mojo. It also relays the HTTP(S) response generated by CupsProxyService
back to Plugin VM.
The control flow is as follows:
The Mojo IPC channel is bootstrapped via the org.chromium.CupsProxyDaemon
D-Bus service.
libmicrohttpd is used to parse (and validate) HTTP(S) requests.
The HTTP(S) requests are actually IPP(S) requests - validation of the IPP(S) part of the protocol is performed by the CUPS Proxy Service.
- Overall design: go/cups-proxy-daemon