X-Git-Url: http://www.privoxy.org/gitweb/misc.html?a=blobdiff_plain;f=loadcfg.c;h=188af095b66a5793a4ce7e5a7f74f79b5b7fd9e9;hb=45ab5d74644a4088ce7613dfaa91edab84393157;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
* *************************************************************************/