Skip to content
  • Hans de Goede's avatar
    Add unix domain client server support · 67f92ea6
    Hans de Goede authored
    To get a properly functioning agent we will need to split the functionality
    into a daemon (vdagentd, which has the rights to open the virtio device and to
    create fake input devices for the mouse) and into a client (vdagent) which
    runs under Xorg and thus can read / set things like the resolution and
    the clipboard and talks to the spice server / client through the daemon.
    
    Since we can have multiple xorg sessions active (through switch user for
    example), the daemon supports multiple agent connections. Security
    still needs to be filled in I'm afraid (see TODO).
    
    The protocol between the 2 is "described" in vdagentd-proto.h, currently there
    is only one vdagentd command, which allows vdagent to tell vdagentd the
    xorg screen resolution so that it knows what resolution to use for the
    fake absolute input device, and so that it can adjust that resolution
    if the xorg resolution changes.
    
    The client included in this commit is purely a test client, which
    just sends a hardcoded resolution once and then sits there and does nothing.
    67f92ea6