X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=loadcfg.c;h=dbed0a3807092cfc056f9f2500dd060be66b04fb;hp=030431f75d463fca45dac356411d2739237609cd;hb=a473a2a85dbf5325b270a906e85785ba4b032503;hpb=569169302716381d4183f7db45558d24dfc31405 diff --git a/loadcfg.c b/loadcfg.c index 030431f7..dbed0a38 100644 --- a/loadcfg.c +++ b/loadcfg.c @@ -62,10 +62,8 @@ #else /* ifndef _WIN32 */ -#ifndef __OS2__ # include # include -#endif # include # include # include @@ -121,10 +119,9 @@ 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 algorthm 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). + * hash values easier if they should change or the hash algorithm changes. + * 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). @@ -140,6 +137,7 @@ 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" */ @@ -239,11 +237,9 @@ static void unload_configfile (void * data) while (cur_fwd != NULL) { struct forward_spec * next_fwd = cur_fwd->next; - free_pattern_spec(cur_fwd->url); - freez(cur_fwd->gateway_host); - freez(cur_fwd->forward_host); - free(cur_fwd); + unload_forward_spec(cur_fwd); + cur_fwd = next_fwd; } config->forward = NULL; @@ -273,6 +269,7 @@ static void unload_configfile (void * data) list_remove_all(config->ordered_client_headers); freez(config->admin_address); + freez(config->cors_allowed_origin); freez(config->proxy_info_url); freez(config->proxy_args); freez(config->usermanual); @@ -284,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 @@ -1489,8 +1487,6 @@ struct configuration_spec * load_config(void) * * On platforms were we use poll() we don't have to enforce * an upper connection limit either. - * - * XXX: Do OS/2 etc. belong here as well? */ if (max_client_connections < 1) { @@ -1596,7 +1592,7 @@ struct configuration_spec * load_config(void) if (config->receive_buffer_size < BUFFER_SIZE) { log_error(LOG_LEVEL_INFO, - "receive-buffer-size %d 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); } @@ -1801,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 * *************************************************************************/