prop224: Load and configure service
This is a much bigger patch implementing a key feature of hidden service. Loading and configuring a service from the torrc file.
A new object is added which is hs_service_t
representing a v3 service. The hs_config.[ch]
files are introduced which loads the options and create an hs_service_t
object out of it.
Like the legacy code, it goes in two steps. First, load the options and validate. Then, load/generate the keys if not in validate mode.
Some refactoring of the legacy code was needed in order to have a central entry point for the configuration of the HS options for both v2 and v3.