This repository has been archived by the owner on Sep 1, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 114
Improve app/daemon/client/configuration implementation #96
Comments
|
This was referenced Feb 2, 2016
11 tasks
I've unassigned myself because these various issues can be resolved when refactoring app and client (and each issue can be resolved separately by any number of developers). |
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Nov 27, 2016
- creates Configuration class + tunnel config map + enum keys - adds documentation - begins to clear the path for monero-project#96
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Nov 28, 2016
- Design refactoring * All config processing now implemented in class Configuration - Singleton now points to an instance of Configuration (class Configuration is no longer inherited) - Parsing is no longer called from main * Daemon now configures itself before initialization - Move config file fetching code into class Configuration * Remove app filesystem files * Tunnel insertion and updating are now done in one function * Tunnel config constants are now in namespace scope (not needed as object) - Add exception handling - Misc STL/other refactoring - Documentation - Add/resolve TODO's Clears the path for further work in monero-project#96
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Dec 1, 2016
- Not entirely unhooked, but a start in that direction: * create new Instance class which handles: - configuration/initialization of client/router contexts - reloading of client/server tunnels * aims to detach from daemon and handle *all* client/router aspects - many new TODO's with detailed explanatory remarks - Configuration refactor: * ctor initializes with cli arguments, sets config member * now using program_options::command_line_parser * throw instead of return bool when parsing * move out of util directory - Misc refactoring to satisfy the above, misc. TODO's related to above References monero-project#96 monero-project#34
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Dec 2, 2016
As noted in the resolved TODO: "we never needed a map - but first needed to confirm that there wasn't another use-case before removing" References monero-project#96
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Dec 2, 2016
- Tunnel config attributes (params) are now stored in class TunnelAttributes * tunnel ctor's now simply pass const reference TunnelAttributes * attributes used for tunnels config + client/server tunnel creation - Related refactoring + misc. refactoring - Resolves one TODO, adds a few more References monero-project#96
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Dec 2, 2016
- Removed redundent attribute parsing between client/server tunnels - Resolves TODO to remove confusing "host" attribute - Shorten tunnel attribute (param) strings - Adjusts tunnels config file * use new attribute (param) string * no longer create client dest persistent key by default * clarify default entries / unset the default confusing ones References monero-project#96
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Dec 2, 2016
- Implements blacklist, no-list, improves whitelist impl - Related refactoring + documentation References monero-project#96
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Dec 2, 2016
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Dec 2, 2016
Returns the value of the key, not the tunnel parameter value. References monero-project#96
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Dec 3, 2016
Also add TODO's and documentation. References monero-project#96 monero-project#486
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Dec 3, 2016
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Dec 3, 2016
- Client destination can now be assigned multiple destinations * if multiple destinations are given, a random destination will be chosen - Custom ports can now be assigned to a destination on a per-destination basis - Create unit-test for client destination parsing * tests for functionality and abuse * creates generic client parsing unit-test file - CSV unit-test refactor: * move CSV unit-test into generic client parsing file * minor code refactor + minor cleanup now that the CSV test is not alone - Update tunnels config + add documentation - Add related notes and TODO's Fixes monero-project#486. References monero-project#96, monero-project#356 (for CSV-related)
1 task
anonimal
changed the title
Improve configuration file handling
Improve app/daemon/client/configuration implementation
Dec 4, 2016
anonimal
added a commit
to anonimal/kovri
that referenced
this issue
Dec 7, 2016
- Server tunnel refactor: * refactor update implementation * code consolidation - remove per-attribute function handlers - implement in single function * add more exception handling * set ACL in server tunnel ctor - Tunnel refactoring: * refactor/remove per-attribute members for client/server tunnel + initialization * create client tunnel handler declaration, define in implementation - Datatype refactor: * signed int -> std::uint16_t refactor for client port numbers - Misc. refactoring: * clarify purpose of getting ident hash when starting client tunnel - also refactor getter function * minor style to clarify type purpose * add typedef for tcp resolver clarity * misc. auto -> explicit types - Tunnels config: * add default black/white-list to SSH server tunnel example * fix server key type "host" to "address" - Add code documentation, resolve several TODO's, add more TODO's References monero-project#487 monero-project#96
This was referenced Mar 28, 2017
This was referenced Apr 5, 2017
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
2429f3a in #61 gets some important work started with regard to updating the router context when reloading the tunnels config file.
The following issues still need to be tackled:
Enhancement:Moved to Reload core instance upon SIGHUP #929Reload()
currently only reloads tunnels config (and not kovri.conf) but doesn't restart the daemon. With more client/router separation, an auto-update implementation will be easier to implement.Enhancement: SIGHUP is currently the only way to reload config files. Implement alternative way to reload config files.Edit: This will most likely need to be resolved in libclient API #351. I think the best we can do now is clear a path for that to happen. See the item above.Enhancement: our current config handler (with a little work) can easily handle both kovri and tunnels configuration files. We should consider refactoring out ptree and doing the work with program_options.Edit: Not necessary.Edit: much related refactoring will be needed before the above points (and more) can be effectively resolved.
The text was updated successfully, but these errors were encountered: