guacamole-server currently contains a utility library, libguacd, which provides the core functionality required for most guacd implementations. It is used by both guacd and the experimental X.Org driver from GUACAMOLE-168, and was in fact created via
GUACAMOLE-175 mainly for the sake of that X.Org driver development.
At this point, the library really only provides the following functionality:
- Automatic handling of the Guacamole protocol handshake and subsequent I/O for a given connection
- An SSL/TLS implementation of guac_socket
All of the above could be moved into the public libguac API, thus allowing downstream embedding of full guacd functionality without requiring reimplementation of the handshake.