Commit graph

10 commits

Author SHA1 Message Date
be6198dbed Client mode
* Refactored so that all server code is in a single file
  * Added missing CLI option to send reload/quit commands to the server
  * Implemented client mode
2021-12-04 18:31:19 +01:00
cd295e51ba Ability to run in standalone mode
* In addition to the server mode, it is now possible to run the
    program in standalone mode. In that mode, the updates selector and
    force flag will be read from the command line, the updates will be
    executed immediately, and the program will exit.
  * Client mode ready to be implemented
2021-12-04 17:47:21 +01:00
8c33db2cc5 Refactoring - UNIX server loop 2021-12-04 12:20:02 +01:00
0d001985fe Refactoring - Renamed CLI flags structure 2021-12-04 10:51:03 +01:00
658ee30bc6 Server socket
* The UNIX socket will be listened on for control messages
  * A message containing a single 'Q' will cause it to exit
  * A message containing a single 'R' will cause a configuration reload.
    If the new configuration is incorrect, the old configuration will be
    kept. A new socket will be opened if the path has changed (failure
    when doing so will restore the previous configuration as well).
  * A message starting with 'U' requests an update. The next character
    may be '!' to force updates or anything else to update only as
    needed. The rest of the string is the selector: either a DN or '*'.
  * The selector is ignored in this commit; all certificates are
    re-examined.
2021-11-06 17:12:08 +01:00
50bff6a5cb Command execution after certificate replacement 2021-11-06 10:47:10 +01:00
a2606b5b89 Minor refactoring
* Made some LDAP methods public
  * Made the LDAP connection's config field private
2021-11-06 10:05:45 +01:00
f95da0e3e8 Write certificate file and set privileges 2021-11-05 17:16:44 +01:00
a651e408ed File builder
* Code that will build a certificate file from its configuration
  * Run it on all configured files from main
2021-11-05 14:24:04 +01:00
610cbf28f8 Configuration file reading
* An example configuration file has been added.
  * The data structure that corresponds to the configuration has been
    defined, and functions to load it have been added.
  * Logging using logrus and command line arguments that configure
    logging and set the configuration file's path have been added.
  * Opening the UNIX socket has been implemented.
2021-10-30 17:07:06 +02:00