X-Git-Url: http://www.privoxy.org/gitweb/installation.html?a=blobdiff_plain;f=loadcfg.c;h=188af095b66a5793a4ce7e5a7f74f79b5b7fd9e9;hb=HEAD;hp=ad15c644065cb15c00376a839eb26a6ffbf56913;hpb=66d011dfadf686c6832c4243de584c7edecd6b71;p=privoxy.git diff --git a/loadcfg.c b/loadcfg.c index ad15c644..188af095 100644 --- a/loadcfg.c +++ b/loadcfg.c @@ -7,7 +7,7 @@ * routine to load the configuration and the global * variables it writes to. * - * Copyright : Written by and Copyright (C) 2001-2017 the + * Copyright : Written by and Copyright (C) 2001-2022 the * Privoxy team. https://www.privoxy.org/ * * Based on the Internet Junkbuster originally written @@ -120,9 +120,8 @@ static struct file_list *current_configfile = NULL; * This takes the "cryptic" hash of each keyword and aliases them to * something a little more readable. This also makes changing the * hash values easier if they should change or the hash algorithm changes. - * Use the included "hash" program to find out what the hash will be - * for any string supplied on the command line. (Or just put it in the - * config file and read the number from the error message in the log). + * To find out the hash for a new directive put it in the config file + * and read the number from the error message in the log). * * Please keep this list sorted alphabetically (but with the Windows * console and GUI specific options last). @@ -138,9 +137,10 @@ static struct file_list *current_configfile = NULL; #define hash_ca_key_file 1184187891U /* "ca-key-file" */ #define hash_ca_password 1184543320U /* "ca-password" */ #define hash_certificate_directory 1367994217U /* "certificate-directory" */ +#define hash_cipher_list 1225729316U /* "cipher-list" */ #define hash_client_header_order 2701453514U /* "client-header-order" */ #define hash_client_specific_tag 3353703383U /* "client-specific-tag" */ -#define hash_client_tag_lifetime 647957580U /* "client-tag-lifetime" */ +#define hash_client_tag_lifetime 3239141416U /* "client-tag-lifetime" */ #define hash_compression_level 2464423563U /* "compression-level" */ #define hash_confdir 1978389U /* "confdir" */ #define hash_connection_sharing 1348841265U /* "connection-sharing" */ @@ -281,6 +281,7 @@ static void unload_configfile (void * data) freez(config->ca_cert_file); freez(config->ca_key_file); freez(config->certificate_directory); + freez(config->cipher_list); freez(config->trusted_cas_file); #endif @@ -429,7 +430,7 @@ static int parse_numeric_value(const char *name, const char *value) log_error(LOG_LEVEL_FATAL, "Directive %s used without argument", name); } - number = (int)strtol(value, &endptr, 0); + number = (int)strtol(value, &endptr, 10); if (*endptr != '\0') { log_error(LOG_LEVEL_FATAL, @@ -633,12 +634,12 @@ struct configuration_spec * load_config(void) config->proxy_args = strdup_or_die(""); config->forwarded_connect_retries = 0; #ifdef FEATURE_HTTPS_INSPECTION - config->ca_password = strdup(""); - ca_cert_file = strdup("cacert.crt"); - ca_key_file = strdup("cakey.pem"); - ca_directory = strdup("./CA"); - trusted_cas_file = strdup("trustedCAs.pem"); - certificate_directory = strdup("./certs"); + config->ca_password = strdup_or_die(""); + ca_cert_file = strdup_or_die("cacert.crt"); + ca_key_file = strdup_or_die("cakey.pem"); + ca_directory = strdup_or_die("./CA"); + trusted_cas_file = strdup_or_die("trustedCAs.pem"); + certificate_directory = strdup_or_die("./certs"); #endif #ifdef FEATURE_CLIENT_TAGS @@ -1591,7 +1592,7 @@ struct configuration_spec * load_config(void) if (config->receive_buffer_size < BUFFER_SIZE) { log_error(LOG_LEVEL_INFO, - "receive-buffer-size %lu seems low and may cause problems." + "receive-buffer-size %lu seems low and may cause problems. " "Consider setting it to at least %d.", config->receive_buffer_size, BUFFER_SIZE); } @@ -1601,7 +1602,7 @@ struct configuration_spec * load_config(void) * single-threaded 0|1 * *************************************************************************/ case hash_single_threaded : - config->multi_threaded = 0 == parse_toggle_state(cmd, arg); + config->multi_threaded = 0 == parse_toggle_state(cmd, arg); break; /* ************************************************************************* @@ -1796,6 +1797,15 @@ struct configuration_spec * load_config(void) break; +/* ************************************************************************* + * cipher-list list-of-ciphers + * *************************************************************************/ + case hash_cipher_list: + freez(config->cipher_list); + config->cipher_list = strdup_or_die(arg); + + break; + /* ************************************************************************* * trusted CAs file name trusted-cas-file * *************************************************************************/