diff --git a/args.cpp b/args.cpp index 63ac07c..4f79640 100644 --- a/args.cpp +++ b/args.cpp @@ -126,4 +126,9 @@ bool args_get_info(int argc, char* argv[], std::string& info) bool args_get_verbose(int argc, char* argv[]) { return get_arg_exists(argc, argv, "--verbose", "-v"); -} \ No newline at end of file +} + +bool args_get_nocertcheck(int argc, char* argv[]) +{ + return get_arg_exists(argc, argv, "--nocertcheck", "-n"); +} diff --git a/args.h b/args.h index 1e7f4f0..620bc3f 100644 --- a/args.h +++ b/args.h @@ -16,5 +16,6 @@ bool args_get_cmd(int argc, char* argv[], std::string& cmd); bool args_get_dns(int argc, char* argv[], std::string& dns); bool args_get_info(int argc, char* argv[], std::string& info); bool args_get_verbose(int argc, char* argv[]); +bool args_get_nocertcheck(int argc, char* argv[]); #endif diff --git a/main.cpp b/main.cpp index 2ad0ba9..3c98b15 100644 --- a/main.cpp +++ b/main.cpp @@ -60,6 +60,7 @@ int main(int argc, char* argv[]) std::string arg_dns; std::string arg_info; bool arg_verbose = false; + bool arg_nocertcheck = false; if (argc == 1) { @@ -116,6 +117,13 @@ int main(int argc, char* argv[]) arg_verbose = true; } + // no websocket server certificate verification + if (args_get_nocertcheck(argc, argv)) + { + arg_nocertcheck = true; + } + + // Print version info usage_show_version(); @@ -160,11 +168,15 @@ int main(int argc, char* argv[]) { client_config.set_proxy(web::web_proxy(utility::conversions::to_string_t(arg_proxy))); } -#ifdef DEBUG - // skip certificate verification if debug build - std::cout << "Skipping certificate verification." << std::endl; - client_config.set_validate_certificates(false); -#endif + + // websocket server certificate verification + if (arg_nocertcheck) + { + // skip websocket server certificate verification + std::cout << "Skipping certificate verification." << std::endl; + client_config.set_validate_certificates(false); + } + web::websockets::client::websocket_callback_client client(client_config); std::condition_variable cv; std::mutex mx; diff --git a/usage.cpp b/usage.cpp index fbbd87a..017ce91 100644 --- a/usage.cpp +++ b/usage.cpp @@ -25,6 +25,7 @@ void usage_show_help() std::cout << "Optional:" << std::endl; std::cout << " -p, --proxy proxy address and port" << std::endl; std::cout << " -d, --dns dns suffix override" << std::endl; + std::cout << " -n, --nocertcheck skip websocket server certificate verification" << std::endl; std::cout << " -v, --verbose verbose output" << std::endl; std::cout << std::endl; std::cout << "Informational:" << std::endl;