From c39de958ace0d6dc0abdf5667bb50a43d9930927 Mon Sep 17 00:00:00 2001 From: Tyler Hoang Date: Sat, 13 Jan 2024 01:10:07 -0800 Subject: initial --- sakisafecli/config.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 sakisafecli/config.c (limited to 'sakisafecli/config.c') diff --git a/sakisafecli/config.c b/sakisafecli/config.c new file mode 100644 index 0000000..8fce884 --- /dev/null +++ b/sakisafecli/config.c @@ -0,0 +1,69 @@ +#include +#include +#include +#include "options.h" +#include "config.h" + +void +print_config() +{ + puts("Current configuration:"); + printf("Server: %s\n", server); + if(socks_proxy_flag) + printf("Socks proxy url: %s", socks_proxy_url); + if(http_proxy_flag) + printf("HTTP proxy url: %s", http_proxy_url); + if(silent_flag) + puts("Silent: true"); + else + puts("Silent: false"); + if(ipv6_flag) + printf("Force IPv6: true\n"); + else + printf("Force IPv6: false\n"); + if(ipv4_flag) + printf("Force IPv4: true\n"); + else + printf("Force IPv4: false\n"); + + return; +} +config_t runtime_config; +void +parse_config_file(FILE *config) +{ + + config_init(&runtime_config); + config_read(&runtime_config, config); + config_setting_t *cur; + cur = config_lookup(&runtime_config, "server"); + + if(config != NULL) { + if(cur != NULL) + server = (char *)config_setting_get_string(cur); + cur = config_lookup(&runtime_config, "socks_proxy"); + if(cur != NULL) + socks_proxy_url = (char *)config_setting_get_string(cur); + cur = config_lookup(&runtime_config, "http_proxy"); + if(cur != NULL) + http_proxy_url = (char *)config_setting_get_string(cur); + cur = config_lookup(&runtime_config, "use_socks_proxy"); + if(cur != NULL) + socks_proxy_flag = config_setting_get_bool(cur); + cur = config_lookup(&runtime_config, "use_http_proxy"); + if(cur != NULL) + http_proxy_flag = config_setting_get_bool(cur); + cur = config_lookup(&runtime_config, "silent"); + if(cur != NULL) + silent_flag = config_setting_get_bool(cur); + cur = config_lookup(&runtime_config, "force_ipv6"); + if(cur != NULL) + ipv6_flag = config_setting_get_bool(cur); + cur = config_lookup(&runtime_config, "force_ipv4"); + if(cur != NULL) + ipv4_flag = config_setting_get_bool(cur); + cur = config_lookup(&runtime_config, "key"); + if(cur != NULL) + ssh_key_path = (char *)config_setting_get_string(cur); + } +} -- cgit v1.2.3-13-gbd6f