From efc3ac374de778ed076cd2e8edfe2d788875d578 Mon Sep 17 00:00:00 2001 From: qorg11 Date: Fri, 6 May 2022 14:03:05 +0200 Subject: [PATCH] Added config file support --- .gitignore | 3 ++ sakisafecli/Makefile | 10 ++++-- sakisafecli/funcs.c | 2 +- sakisafecli/funcs.d | 19 ---------- sakisafecli/funcs.o | Bin 3440 -> 0 bytes sakisafecli/options.h | 3 -- sakisafecli/sakisafecli | Bin 22952 -> 46776 bytes sakisafecli/sakisafecli.c | 71 +++++++++++++++++++++++++++++++++----- sakisafecli/sakisafecli.d | 41 ---------------------- sakisafecli/sakisafecli.h | 13 ++++--- sakisafecli/sakisafecli.o | Bin 8088 -> 0 bytes 11 files changed, 79 insertions(+), 83 deletions(-) create mode 100644 .gitignore delete mode 100644 sakisafecli/funcs.d delete mode 100644 sakisafecli/funcs.o delete mode 100644 sakisafecli/sakisafecli.d delete mode 100644 sakisafecli/sakisafecli.o diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..875b38d --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +sakisafecli +*.o +*.d diff --git a/sakisafecli/Makefile b/sakisafecli/Makefile index 1b3a469..8c856c7 100644 --- a/sakisafecli/Makefile +++ b/sakisafecli/Makefile @@ -3,9 +3,10 @@ TARGET = sakisafecli OBJS = sakisafecli.o funcs.o CC = cc -CFLAGSDEF = -MD -std=c11 -Wall -Wextra -lcurl -CFLAGS = -O2 -march=native +CFLAGSDEF += -MD -std=c11 -Wall -Wextra -lcurl -lconfig +CFLAGS += -O2 -ggdb +all: $(TARGET) $(TARGET): $(OBJS) $(CC) $(CFLAGS) $(CFLAGSDEF) $(OBJS) -o $(TARGET) @@ -15,6 +16,9 @@ $(TARGET): $(OBJS) -include *.d -.PHONY: clean +install: all + @cp sakisafecli /usr/local/bin/ + +.PHONY: clean install clean: rm -f *.d *.o sakisafecli diff --git a/sakisafecli/funcs.c b/sakisafecli/funcs.c index cdf4e74..9fb662b 100644 --- a/sakisafecli/funcs.c +++ b/sakisafecli/funcs.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "sakisafecli.h" size_t @@ -62,4 +63,3 @@ progress(void *clientp, fflush(stdout); } - diff --git a/sakisafecli/funcs.d b/sakisafecli/funcs.d deleted file mode 100644 index af6738b..0000000 --- a/sakisafecli/funcs.d +++ /dev/null @@ -1,19 +0,0 @@ -funcs.o: funcs.c /usr/include/stdio.h \ - /usr/include/bits/libc-header-start.h /usr/include/features.h \ - /usr/include/stdc-predef.h /usr/include/sys/cdefs.h \ - /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ - /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ - /usr/lib/clang/12.0.1/include/stddef.h \ - /usr/lib/clang/12.0.1/include/stdarg.h /usr/include/bits/types.h \ - /usr/include/bits/timesize.h /usr/include/bits/typesizes.h \ - /usr/include/bits/time64.h /usr/include/bits/types/__fpos_t.h \ - /usr/include/bits/types/__mbstate_t.h \ - /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ - /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ - /usr/include/bits/stdio_lim.h /usr/include/bits/floatn.h \ - /usr/include/bits/floatn-common.h /usr/include/bits/stdio.h \ - /usr/include/string.h /usr/include/errno.h /usr/include/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - sakisafecli.h /usr/include/stdlib.h /usr/include/bits/stdlib-bsearch.h \ - /usr/include/bits/stdlib-float.h diff --git a/sakisafecli/funcs.o b/sakisafecli/funcs.o deleted file mode 100644 index e08a13a85330cc9d7c5f1aa5d713a047a2bad2e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3440 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 #include #include #include @@ -10,26 +11,42 @@ #include "options.h" #include "sakisafecli.h" +/* Config variables */ +char *socks_proxy_url, *http_proxy_url; + +bool socks_proxy_flag = false, http_proxy_flag = false; +bool ipv6_flag = false, ipv4_flag = false; +bool silent_flag = false; +config_t runtime_config; + int main(int argc, char **argv) { struct curl_httppost *post = NULL; struct curl_httppost *last = NULL; - bool socks_proxy_flag, http_proxy_flag; - socks_proxy_flag = http_proxy_flag = false; - bool ipv6_flag, ipv4_flag; - ipv6_flag = ipv4_flag = false; char *token = NULL; - long silent_flag = 0L; - char *buffer = (char *)calloc(1024, sizeof(char)); - char *socks_proxy_url, *http_proxy_url; + char *buffer = (char *)calloc(1024, sizeof(char)); if(buffer == NULL) { fprintf(stderr, "Error allocating memory!\n"); return -1; } + char config_location[512]; + char *sakisafeclirc_env = getenv("SAKISAFECLIRC"); + + if(sakisafeclirc_env == NULL) { + snprintf(config_location, 512, "%s/.sakisafeclirc", getenv("HOME")); + FILE *fp = fopen(config_location, "r"); + if(fp != NULL) + parse_config_file(fp); + } else { + strncpy(config_location, sakisafeclirc_env, 512); + FILE *fp = fopen(config_location, "r"); + if(fp != NULL) + parse_config_file(fp); + } CURL *easy_handle = curl_easy_init(); @@ -50,12 +67,11 @@ main(int argc, char **argv) { "help", no_argument, 0, 'h' }, { "socks-proxy", required_argument, 0, 'p' }, { "token", required_argument, 0, 'T' }, - { "http-proxy", no_argument, 0, 'P' }, + { "http-proxy", required_argument, 0, 'P' }, { "silent", no_argument, 0, 'S' }, { "ipv4", no_argument, 0, '4' }, { "ipv6", no_argument, 0, '6' }, { 0, 0, 0, 0 } - }; int c = 0; @@ -191,5 +207,42 @@ main(int argc, char **argv) store_link(history_file_path, buffer); } free(buffer); + config_destroy(&runtime_config); return 0; } + +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); + } +} diff --git a/sakisafecli/sakisafecli.d b/sakisafecli/sakisafecli.d deleted file mode 100644 index 06d6f8e..0000000 --- a/sakisafecli/sakisafecli.d +++ /dev/null @@ -1,41 +0,0 @@ -sakisafecli.o: sakisafecli.c /usr/include/stdio.h \ - /usr/include/bits/libc-header-start.h /usr/include/features.h \ - /usr/include/stdc-predef.h /usr/include/sys/cdefs.h \ - /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ - /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ - /usr/lib/clang/12.0.1/include/stddef.h \ - /usr/lib/clang/12.0.1/include/stdarg.h /usr/include/bits/types.h \ - /usr/include/bits/timesize.h /usr/include/bits/typesizes.h \ - /usr/include/bits/time64.h /usr/include/bits/types/__fpos_t.h \ - /usr/include/bits/types/__mbstate_t.h \ - /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ - /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ - /usr/include/bits/stdio_lim.h /usr/include/bits/floatn.h \ - /usr/include/bits/floatn-common.h /usr/include/bits/stdio.h \ - /usr/include/string.h /usr/include/stdlib.h \ - /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ - /usr/lib/clang/12.0.1/include/stdbool.h /usr/include/errno.h \ - /usr/include/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/asm/errno.h /usr/include/asm-generic/errno.h \ - /usr/include/asm-generic/errno-base.h /usr/include/getopt.h \ - /usr/include/bits/getopt_core.h /usr/include/bits/getopt_ext.h \ - /usr/include/unistd.h /usr/include/bits/posix_opt.h \ - /usr/include/bits/confname.h /usr/include/bits/unistd_ext.h \ - /usr/include/curl/curl.h /usr/include/curl/curlver.h \ - /usr/include/curl/system.h /usr/include/sys/types.h \ - /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ - /usr/include/bits/types/timer_t.h /usr/include/bits/stdint-intn.h \ - /usr/include/sys/socket.h /usr/include/bits/types/struct_iovec.h \ - /usr/include/bits/socket.h /usr/include/bits/socket_type.h \ - /usr/include/bits/sockaddr.h /usr/include/bits/socket-constants.h \ - /usr/lib/clang/12.0.1/include/limits.h /usr/include/limits.h \ - /usr/include/time.h /usr/include/bits/time.h \ - /usr/include/bits/types/clock_t.h /usr/include/bits/types/struct_tm.h \ - /usr/include/bits/types/struct_timespec.h /usr/include/bits/endian.h \ - /usr/include/bits/endianness.h /usr/include/sys/time.h \ - /usr/include/bits/types/struct_timeval.h /usr/include/sys/select.h \ - /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ - /usr/include/bits/types/__sigset_t.h /usr/include/curl/easy.h \ - /usr/include/curl/multi.h /usr/include/curl/urlapi.h \ - /usr/include/curl/options.h /usr/include/curl/header.h options.h \ - sakisafecli.h diff --git a/sakisafecli/sakisafecli.h b/sakisafecli/sakisafecli.h index cd93f6c..7092261 100644 --- a/sakisafecli/sakisafecli.h +++ b/sakisafecli/sakisafecli.h @@ -1,9 +1,9 @@ #pragma once #include +#include size_t -write_data(void *buffer, size_t size, size_t nmemb, - void *userp); +write_data(void *buffer, size_t size, size_t nmemb, void *userp); void print_usage(); @@ -15,9 +15,8 @@ void print_help(); void -progress(void *clientp, - double dltotal, - double dlnow, - double ultotal, - double ulnow); +progress( + void *clientp, double dltotal, double dlnow, double ultotal, double ulnow); +void +parse_config_file(FILE *config); diff --git a/sakisafecli/sakisafecli.o b/sakisafecli/sakisafecli.o deleted file mode 100644 index dbd8e0c0497f9e909ca3a15ca8369891411f1a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8088 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