projects
/
privoxy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
accept_connection(): Fix format specifier in a log message
[privoxy.git]
/
cgiedit.c
diff --git
a/cgiedit.c
b/cgiedit.c
index
aec3be0
..
a9e4b0e
100644
(file)
--- a/
cgiedit.c
+++ b/
cgiedit.c
@@
-1,4
+1,3
@@
-const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.71 2011/11/18 16:47:08 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgiedit.c,v $
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgiedit.c,v $
@@
-13,8
+12,8
@@
const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.71 2011/11/18 16:47:08 fabiankeil
*
* Stick to the short names in this file for consistency.
*
*
* Stick to the short names in this file for consistency.
*
- * Copyright : Written by and Copyright (C) 2001-20
08 the SourceForg
e
- * Privoxy team. http://www.privoxy.org/
+ * Copyright : Written by and Copyright (C) 2001-20
14 th
e
+ * Privoxy team. http
s
://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
@@
-71,8
+70,6
@@
const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.71 2011/11/18 16:47:08 fabiankeil
#endif /* def FEATURE_TOGGLE */
#include "urlmatch.h"
#endif /* def FEATURE_TOGGLE */
#include "urlmatch.h"
-const char cgiedit_h_rcs[] = CGIEDIT_H_VERSION;
-
#ifdef FEATURE_CGI_EDIT_ACTIONS
#ifdef FEATURE_CGI_EDIT_ACTIONS
@@
-121,19
+118,6
@@
struct file_line
} setting;
} setting;
- /* Add more data types here... e.g.
-
-
- struct url_spec url[1];
-
- struct
- {
- struct action_spec action[1];
- const char * name;
- } alias;
-
- */
-
} data;
};
} data;
};
@@
-256,6
+240,14
@@
static const struct filter_type_info filter_type_info[] =
"server-header-tagger-all", "server_header_tagger_all",
"E", "SERVER-HEADER-TAGGER"
},
"server-header-tagger-all", "server_header_tagger_all",
"E", "SERVER-HEADER-TAGGER"
},
+#ifdef FEATURE_EXTERNAL_FILTERS
+ {
+ ACTION_MULTI_EXTERNAL_FILTER,
+ "external-content-filter-params", "external-filter",
+ "external-content-filter-all", "external_content_filter_all",
+ "E", "EXTERNAL-CONTENT-FILTER"
+ },
+#endif
};
/* FIXME: Following non-static functions should be prototyped in .h or made static */
};
/* FIXME: Following non-static functions should be prototyped in .h or made static */
@@
-351,7
+343,7
@@
static char *section_target(const unsigned sectionid)
{
char buf[30];
{
char buf[30];
- snprintf(buf, sizeof(buf), "#l%
d
", sectionid);
+ snprintf(buf, sizeof(buf), "#l%
u
", sectionid);
return(strdup(buf));
}
return(strdup(buf));
}
@@
-373,7
+365,7
@@
static char *stringify(const unsigned number)
{
char buf[6];
{
char buf[6];
- snprintf(buf, sizeof(buf), "%
i
", number);
+ snprintf(buf, sizeof(buf), "%
u
", number);
return strdup(buf);
}
return strdup(buf);
}
@@
-765,12
+757,7
@@
jb_err edit_write_file(struct editable_file * file)
/* Allocate new memory for string */
len = strlen(cur_line->unprocessed) + (size_t)numhash;
/* Allocate new memory for string */
len = strlen(cur_line->unprocessed) + (size_t)numhash;
- if (NULL == (str = malloc(len + 1)))
- {
- /* Uh oh, just trashed file! */
- fclose(fp);
- return JB_ERR_MEMORY;
- }
+ str = malloc_or_die(len + 1);
/* Copy string but quote hashes */
src = cur_line->unprocessed;
/* Copy string but quote hashes */
src = cur_line->unprocessed;
@@
-853,11
+840,7
@@
jb_err edit_write_file(struct editable_file * file)
freez(file->version_str);
snprintf(version_buf, sizeof(version_buf), "%u", file->version);
version_buf[sizeof(version_buf)-1] = '\0';
freez(file->version_str);
snprintf(version_buf, sizeof(version_buf), "%u", file->version);
version_buf[sizeof(version_buf)-1] = '\0';
- file->version_str = strdup(version_buf);
- if (version_buf == NULL)
- {
- return JB_ERR_MEMORY;
- }
+ file->version_str = strdup_or_die(version_buf);
return JB_ERR_OK;
}
return JB_ERR_OK;
}
@@
-978,7
+961,7
@@
static int match_actions_file_header_line(const char * line, const char * name)
line += 2;
/* Look for optional whitespace */
line += 2;
/* Look for optional whitespace */
- while (
(*line == ' ') || (*line == '\t')
)
+ while (
(*line == ' ') || (*line == '\t')
)
{
line++;
}
{
line++;
}
@@
-992,7
+975,7
@@
static int match_actions_file_header_line(const char * line, const char * name)
line += len;
/* Look for optional whitespace */
line += len;
/* Look for optional whitespace */
- while (
(*line == ' ') || (*line == '\t')
)
+ while (
(*line == ' ') || (*line == '\t')
)
{
line++;
}
{
line++;
}
@@
-1061,10
+1044,7
@@
static jb_err split_line_on_equals(const char * line, char ** pname, char ** pva
}
name_len = (size_t)(name_end - line) + 1; /* Length excluding \0 */
}
name_len = (size_t)(name_end - line) + 1; /* Length excluding \0 */
- if (NULL == (*pname = (char *) malloc(name_len + 1)))
- {
- return JB_ERR_MEMORY;
- }
+ *pname = malloc_or_die(name_len + 1);
strncpy(*pname, line, name_len);
(*pname)[name_len] = '\0';
strncpy(*pname, line, name_len);
(*pname)[name_len] = '\0';
@@
-1120,7
+1100,7
@@
jb_err edit_parse_actions_file(struct editable_file * file)
/* alias_list contains the aliases defined in this file.
* It might be better to use the "file_line.data" fields
/* alias_list contains the aliases defined in this file.
* It might be better to use the "file_line.data" fields
- * in the rel
ave
nt places instead.
+ * in the rel
eva
nt places instead.
*/
cur_line = file->lines;
*/
cur_line = file->lines;
@@
-1134,16
+1114,16
@@
jb_err edit_parse_actions_file(struct editable_file * file)
/* Skip leading blanks. Should only happen if file is
* empty (which is valid, but pointless).
*/
/* Skip leading blanks. Should only happen if file is
* empty (which is valid, but pointless).
*/
- while (
(cur_line != NULL)
-
&& (cur_line->unprocessed[0] == '\0')
)
+ while ((cur_line != NULL)
+
&& (cur_line->unprocessed[0] == '\0')
)
{
/* Blank line */
cur_line->type = FILE_LINE_BLANK;
cur_line = cur_line->next;
}
{
/* Blank line */
cur_line->type = FILE_LINE_BLANK;
cur_line = cur_line->next;
}
- if (
(cur_line != NULL)
-
&& (cur_line->unprocessed[0] != '{')
)
+ if ((cur_line != NULL)
+
&& (cur_line->unprocessed[0] != '{')
)
{
/* File doesn't start with a header */
file->parse_error = cur_line;
{
/* File doesn't start with a header */
file->parse_error = cur_line;
@@
-1151,8
+1131,8
@@
jb_err edit_parse_actions_file(struct editable_file * file)
return JB_ERR_PARSE;
}
return JB_ERR_PARSE;
}
- if (
(cur_line != NULL) && (0 ==
- match_actions_file_header_line(cur_line->unprocessed, "settings")
)
)
+ if ((cur_line != NULL) && (0 ==
+ match_actions_file_header_line(cur_line->unprocessed, "settings")
)
)
{
cur_line->type = FILE_LINE_SETTINGS_HEADER;
{
cur_line->type = FILE_LINE_SETTINGS_HEADER;
@@
-1186,8
+1166,8
@@
jb_err edit_parse_actions_file(struct editable_file * file)
}
}
}
}
- if (
(cur_line != NULL) && (0 ==
- match_actions_file_header_line(cur_line->unprocessed, "description")
)
)
+ if ((cur_line != NULL) && (0 ==
+ match_actions_file_header_line(cur_line->unprocessed, "description")
)
)
{
cur_line->type = FILE_LINE_DESCRIPTION_HEADER;
{
cur_line->type = FILE_LINE_DESCRIPTION_HEADER;
@@
-1206,8
+1186,8
@@
jb_err edit_parse_actions_file(struct editable_file * file)
}
}
}
}
- if (
(cur_line != NULL) && (0 ==
- match_actions_file_header_line(cur_line->unprocessed, "alias")
)
)
+ if ((cur_line != NULL) && (0 ==
+ match_actions_file_header_line(cur_line->unprocessed, "alias")
)
)
{
cur_line->type = FILE_LINE_ALIAS_HEADER;
{
cur_line->type = FILE_LINE_ALIAS_HEADER;
@@
-1224,6
+1204,7
@@
jb_err edit_parse_actions_file(struct editable_file * file)
err = split_line_on_equals(cur_line->unprocessed, &name, &value);
if (err == JB_ERR_MEMORY)
{
err = split_line_on_equals(cur_line->unprocessed, &name, &value);
if (err == JB_ERR_MEMORY)
{
+ free_alias_list(alias_list);
return err;
}
else if (err != JB_ERR_OK)
return err;
}
else if (err != JB_ERR_OK)
@@
-1231,17
+1212,11
@@
jb_err edit_parse_actions_file(struct editable_file * file)
/* Line does not contain a name=value pair */
file->parse_error = cur_line;
file->parse_error_text = "Expected a name=value pair on this {{alias}} line, but couldn't find one.";
/* Line does not contain a name=value pair */
file->parse_error = cur_line;
file->parse_error_text = "Expected a name=value pair on this {{alias}} line, but couldn't find one.";
+ free_alias_list(alias_list);
return JB_ERR_PARSE;
}
return JB_ERR_PARSE;
}
- if ((new_alias = zalloc(sizeof(*new_alias))) == NULL)
- {
- /* Out of memory */
- free(name);
- free(value);
- free_alias_list(alias_list);
- return JB_ERR_MEMORY;
- }
+ new_alias = zalloc_or_die(sizeof(*new_alias));
err = get_actions(value, alias_list, new_alias->action);
if (err)
err = get_actions(value, alias_list, new_alias->action);
if (err)
@@
-1311,14
+1286,14
@@
jb_err edit_parse_actions_file(struct editable_file * file)
return JB_ERR_PARSE;
}
return JB_ERR_PARSE;
}
- while (
(*text == ' ') || (*text == '\t')
)
+ while (
(*text == ' ') || (*text == '\t')
)
{
text++;
len--;
}
{
text++;
len--;
}
- while (
(len > (size_t)0)
- && (
(text[len - 1] == ' ')
-
|| (text[len - 1] == '\t') )
)
+ while ((len > (size_t)0)
+ && ((text[len - 1] == ' ')
+
|| (text[len - 1] == '\t'))
)
{
len--;
}
{
len--;
}
@@
-1326,12
+1301,7
@@
jb_err edit_parse_actions_file(struct editable_file * file)
cur_line->type = FILE_LINE_ACTION;
/* Remove {} and make copy */
cur_line->type = FILE_LINE_ACTION;
/* Remove {} and make copy */
- if (NULL == (value = (char *) malloc(len + 1)))
- {
- /* Out of memory */
- free_alias_list(alias_list);
- return JB_ERR_MEMORY;
- }
+ value = malloc_or_die(len + 1);
strncpy(value, text, len);
value[len] = '\0';
strncpy(value, text, len);
value[len] = '\0';
@@
-1414,11
+1384,7
@@
jb_err edit_read_file_lines(FILE *fp, struct file_line ** pfile, int *newline)
*pfile = NULL;
*pfile = NULL;
- cur_line = first_line = zalloc(sizeof(struct file_line));
- if (cur_line == NULL)
- {
- return JB_ERR_MEMORY;
- }
+ cur_line = first_line = zalloc_or_die(sizeof(struct file_line));
cur_line->type = FILE_LINE_UNPROCESSED;
cur_line->type = FILE_LINE_UNPROCESSED;
@@
-1434,13
+1400,7
@@
jb_err edit_read_file_lines(FILE *fp, struct file_line ** pfile, int *newline)
do
{
prev_line = cur_line;
do
{
prev_line = cur_line;
- cur_line = prev_line->next = zalloc(sizeof(struct file_line));
- if (cur_line == NULL)
- {
- /* Out of memory */
- edit_free_file_lines(first_line);
- return JB_ERR_MEMORY;
- }
+ cur_line = prev_line->next = zalloc_or_die(sizeof(struct file_line));
cur_line->type = FILE_LINE_UNPROCESSED;
cur_line->type = FILE_LINE_UNPROCESSED;
@@
-1570,12
+1530,7
@@
jb_err edit_read_file(struct client_state *csp,
return err;
}
return err;
}
- file = (struct editable_file *) zalloc(sizeof(*file));
- if (err)
- {
- edit_free_file_lines(lines);
- return err;
- }
+ file = zalloc_or_die(sizeof(*file));
file->lines = lines;
file->newline = newline;
file->lines = lines;
file->newline = newline;
@@
-1587,12
+1542,7
@@
jb_err edit_read_file(struct client_state *csp,
freez(file->version_str);
snprintf(version_buf, sizeof(version_buf), "%u", file->version);
version_buf[sizeof(version_buf)-1] = '\0';
freez(file->version_str);
snprintf(version_buf, sizeof(version_buf), "%u", file->version);
version_buf[sizeof(version_buf)-1] = '\0';
- file->version_str = strdup(version_buf);
- if (version_buf == NULL)
- {
- edit_free_file(file);
- return JB_ERR_MEMORY;
- }
+ file->version_str = strdup_or_die(version_buf);
*pfile = file;
return JB_ERR_OK;
*pfile = file;
return JB_ERR_OK;
@@
-1783,7
+1733,7
@@
static jb_err get_file_name_param(struct client_state *csp,
&& ((ch < 'a') || (ch > 'z'))
&& ((ch < '0') || (ch > '9'))
&& (ch != '-')
&& ((ch < 'a') || (ch > 'z'))
&& ((ch < '0') || (ch > '9'))
&& (ch != '-')
- && (ch != '_')
)
+ && (ch != '_'))
{
/* Probable hack attempt. */
return JB_ERR_CGI_PARAMS;
{
/* Probable hack attempt. */
return JB_ERR_CGI_PARAMS;
@@
-1792,11
+1742,7
@@
static jb_err get_file_name_param(struct client_state *csp,
/* Append extension */
name_size = len + strlen(suffix) + 1;
/* Append extension */
name_size = len + strlen(suffix) + 1;
- name = malloc(name_size);
- if (name == NULL)
- {
- return JB_ERR_MEMORY;
- }
+ name = malloc_or_die(name_size);
strlcpy(name, param, name_size);
strlcat(name, suffix, name_size);
strlcpy(name, param, name_size);
strlcat(name, suffix, name_size);
@@
-1857,7
+1803,7
@@
static jb_err get_url_spec_param(struct client_state *csp,
const char *orig_param;
char *param;
char *s;
const char *orig_param;
char *param;
char *s;
- struct
url
_spec compiled[1];
+ struct
pattern
_spec compiled[1];
jb_err err;
assert(csp);
jb_err err;
assert(csp);
@@
-1905,14
+1851,14
@@
static jb_err get_url_spec_param(struct client_state *csp,
free(param);
return JB_ERR_MEMORY;
}
free(param);
return JB_ERR_MEMORY;
}
- err = create_
url
_spec(compiled, s);
+ err = create_
pattern
_spec(compiled, s);
free(s);
if (err)
{
free(param);
return (err == JB_ERR_MEMORY) ? JB_ERR_MEMORY : JB_ERR_CGI_PARAMS;
}
free(s);
if (err)
{
free(param);
return (err == JB_ERR_MEMORY) ? JB_ERR_MEMORY : JB_ERR_CGI_PARAMS;
}
- free_
url
_spec(compiled);
+ free_
pattern
_spec(compiled);
if (param[strlen(param) - 1] == '\\')
{
if (param[strlen(param) - 1] == '\\')
{
@@
-1941,14
+1887,14
@@
static jb_err get_url_spec_param(struct client_state *csp,
free(param);
return JB_ERR_MEMORY;
}
free(param);
return JB_ERR_MEMORY;
}
- err = create_
url
_spec(compiled, s);
+ err = create_
pattern
_spec(compiled, s);
free(s);
if (err)
{
free(param);
return (err == JB_ERR_MEMORY) ? JB_ERR_MEMORY : JB_ERR_CGI_PARAMS;
}
free(s);
if (err)
{
free(param);
return (err == JB_ERR_MEMORY) ? JB_ERR_MEMORY : JB_ERR_CGI_PARAMS;
}
- free_
url
_spec(compiled);
+ free_
pattern
_spec(compiled);
}
*pvalue = param;
}
*pvalue = param;
@@
-1996,11
+1942,7
@@
static jb_err map_radio(struct map * exports,
assert(optionname);
assert(values);
assert(optionname);
assert(values);
- buf = malloc(buf_size);
- if (buf == NULL)
- {
- return JB_ERR_MEMORY;
- }
+ buf = malloc_or_die(buf_size);
strlcpy(buf, optionname, buf_size);
strlcpy(buf, optionname, buf_size);
@@
-2375,7
+2317,7
@@
jb_err cgi_edit_actions_list(struct client_state *csp,
{
if (!strncmp(b->url->spec, "standard.", 9) && *(b->url->spec + 9) != '\0')
{
{
if (!strncmp(b->url->spec, "standard.", 9) && *(b->url->spec + 9) != '\0')
{
- if (err
|| (NULL == (section_exports = new_map()))
)
+ if (err)
{
freez(buttons);
free(section_template);
{
freez(buttons);
free(section_template);
@@
-2384,6
+2326,7
@@
jb_err cgi_edit_actions_list(struct client_state *csp,
return JB_ERR_MEMORY;
}
return JB_ERR_MEMORY;
}
+ section_exports = new_map();
err = map(section_exports, "button-name", 1, b->url->spec + 9, 1);
if (err || (NULL == (s = strdup(section_template))))
err = map(section_exports, "button-name", 1, b->url->spec + 9, 1);
if (err || (NULL == (s = strdup(section_template))))
@@
-2412,9
+2355,9
@@
jb_err cgi_edit_actions_list(struct client_state *csp,
*/
if (!err) err = map_conditional(exports, "all-urls-present", 1);
*/
if (!err) err = map_conditional(exports, "all-urls-present", 1);
- snprintf(buf, sizeof(buf), "%
d
", line_number);
+ snprintf(buf, sizeof(buf), "%
u
", line_number);
if (!err) err = map(exports, "all-urls-s", 1, buf, 1);
if (!err) err = map(exports, "all-urls-s", 1, buf, 1);
- snprintf(buf, sizeof(buf), "%
d
", line_number + 2);
+ snprintf(buf, sizeof(buf), "%
u
", line_number + 2);
if (!err) err = map(exports, "all-urls-s-next", 1, buf, 1);
if (!err) err = map(exports, "all-urls-actions", 1,
actions_to_html(csp, cur_line->data.action), 0);
if (!err) err = map(exports, "all-urls-s-next", 1, buf, 1);
if (!err) err = map(exports, "all-urls-actions", 1,
actions_to_html(csp, cur_line->data.action), 0);
@@
-2515,22
+2458,14
@@
jb_err cgi_edit_actions_list(struct client_state *csp,
while ((cur_line != NULL) && (cur_line->type == FILE_LINE_ACTION))
{
while ((cur_line != NULL) && (cur_line->type == FILE_LINE_ACTION))
{
- if (NULL == (section_exports = new_map()))
- {
- free(sections);
- free(section_template);
- free(url_template);
- edit_free_file(file);
- free_map(exports);
- return JB_ERR_MEMORY;
- }
+ section_exports = new_map();
- snprintf(buf, sizeof(buf), "%
d
", line_number);
+ snprintf(buf, sizeof(buf), "%
u
", line_number);
err = map(section_exports, "s", 1, buf, 1);
if (!err) err = map(section_exports, "actions", 1,
actions_to_html(csp, cur_line->data.action), 0);
err = map(section_exports, "s", 1, buf, 1);
if (!err) err = map(section_exports, "actions", 1,
actions_to_html(csp, cur_line->data.action), 0);
- if (
(!err)
+ if ((!err)
&& (cur_line->next != NULL)
&& (cur_line->next->type == FILE_LINE_URL))
{
&& (cur_line->next != NULL)
&& (cur_line->next->type == FILE_LINE_URL))
{
@@
-2545,7
+2480,7
@@
jb_err cgi_edit_actions_list(struct client_state *csp,
if (prev_section_line_number != ((unsigned)(-1)))
{
/* Not last section */
if (prev_section_line_number != ((unsigned)(-1)))
{
/* Not last section */
- snprintf(buf, sizeof(buf), "%
d
", prev_section_line_number);
+ snprintf(buf, sizeof(buf), "%
u
", prev_section_line_number);
if (!err) err = map(section_exports, "s-prev", 1, buf, 1);
if (!err) err = map_block_keep(section_exports, "s-prev-exists");
}
if (!err) err = map(section_exports, "s-prev", 1, buf, 1);
if (!err) err = map_block_keep(section_exports, "s-prev-exists");
}
@@
-2587,19
+2522,9
@@
jb_err cgi_edit_actions_list(struct client_state *csp,
while ((cur_line != NULL) && (cur_line->type == FILE_LINE_URL))
{
while ((cur_line != NULL) && (cur_line->type == FILE_LINE_URL))
{
- if (NULL == (url_exports = new_map()))
- {
- free(urls);
- free(sections);
- free(section_template);
- free(url_template);
- edit_free_file(file);
- free_map(exports);
- free_map(section_exports);
- return JB_ERR_MEMORY;
- }
+ url_exports = new_map();
- snprintf(buf, sizeof(buf), "%
d
", line_number);
+ snprintf(buf, sizeof(buf), "%
u
", line_number);
err = map(url_exports, "p", 1, buf, 1);
snprintf(buf, sizeof(buf), "%d", url_1_2);
err = map(url_exports, "p", 1, buf, 1);
snprintf(buf, sizeof(buf), "%d", url_1_2);
@@
-2665,11
+2590,11
@@
jb_err cgi_edit_actions_list(struct client_state *csp,
/* Could also do section-specific exports here, but it wouldn't be as fast */
/* Could also do section-specific exports here, but it wouldn't be as fast */
- snprintf(buf, sizeof(buf), "%
d
", line_number);
+ snprintf(buf, sizeof(buf), "%
u
", line_number);
if (!err) err = map(section_exports, "s-next", 1, buf, 1);
if (!err) err = map(section_exports, "s-next", 1, buf, 1);
- if (
(cur_line != NULL)
-
&& (cur_line->type == FILE_LINE_ACTION))
+ if ((cur_line != NULL)
+ && (cur_line->type == FILE_LINE_ACTION))
{
/* Not last section */
if (!err) err = map_block_keep(section_exports, "s-next-exists");
{
/* Not last section */
if (!err) err = map_block_keep(section_exports, "s-next-exists");
@@
-2825,7
+2750,7
@@
jb_err cgi_edit_actions_for_url(struct client_state *csp,
* browsers (BR #1570678).
*
* The config option split-large-forms works around this browser
* browsers (BR #1570678).
*
* The config option split-large-forms works around this browser
- * bug (HTTP has no URL length limitation) by d
e
viding the action
+ * bug (HTTP has no URL length limitation) by d
i
viding the action
* list form into multiple smaller ones. It means the URLs are shorter
* and work in broken browsers as well, but the user can no longer change
* all actions with one submit.
* list form into multiple smaller ones. It means the URLs are shorter
* and work in broken browsers as well, but the user can no longer change
* all actions with one submit.
@@
-2833,7
+2758,7
@@
jb_err cgi_edit_actions_for_url(struct client_state *csp,
* A better solution would be to switch to POST requests,
* but this will do for now.
*/
* A better solution would be to switch to POST requests,
* but this will do for now.
*/
- if(!err && (csp->config->feature_flags & RUNTIME_FEATURE_SPLIT_LARGE_FORMS))
+ if
(!err && (csp->config->feature_flags & RUNTIME_FEATURE_SPLIT_LARGE_FORMS))
{
/* Generate multiple smaller form by killing the big one. */
err = map_block_killer(exports, "one-form-only");
{
/* Generate multiple smaller form by killing the big one. */
err = map_block_killer(exports, "one-form-only");
@@
-2854,6
+2779,13
@@
jb_err cgi_edit_actions_for_url(struct client_state *csp,
}
}
}
}
+#ifndef FEATURE_EXTERNAL_FILTERS
+ if (!err) err = map_block_killer(exports, "external-content-filters");
+#endif
+#ifndef FEATURE_HTTPS_INSPECTION
+ if (!err) err = map_block_killer(exports, "https-inspection");
+#endif
+
if (err)
{
edit_free_file(file);
if (err)
{
edit_free_file(file);
@@
-2904,7
+2836,7
@@
jb_err cgi_edit_actions_for_url(struct client_state *csp,
char number[20];
struct list_entry *filter_name;
struct map *line_exports;
char number[20];
struct list_entry *filter_name;
struct map *line_exports;
- const
int
type = filter_group->type;
+ const
enum filter_type
type = filter_group->type;
const int multi_action_index = filter_type_info[type].multi_action_index;
assert(type < MAX_FILTER_TYPES);
const int multi_action_index = filter_type_info[type].multi_action_index;
assert(type < MAX_FILTER_TYPES);
@@
-3215,7
+3147,7
@@
jb_err cgi_edit_actions_submit(struct client_state *csp,
}
}
}
}
- if(err)
+ if
(err)
{
/* Out of memory */
edit_free_file(file);
{
/* Out of memory */
edit_free_file(file);
@@
-3240,13
+3172,7
@@
jb_err cgi_edit_actions_submit(struct client_state *csp,
}
newtext_size = len + 2;
}
newtext_size = len + 2;
- if (NULL == (newtext = malloc(newtext_size)))
- {
- /* Out of memory */
- free(actiontext);
- edit_free_file(file);
- return JB_ERR_MEMORY;
- }
+ newtext = malloc_or_die(newtext_size);
strlcpy(newtext, actiontext, newtext_size);
free(actiontext);
newtext[0] = '{';
strlcpy(newtext, actiontext, newtext_size);
free(actiontext);
newtext[0] = '{';
@@
-3270,8
+3196,8
@@
jb_err cgi_edit_actions_submit(struct client_state *csp,
return err;
}
return err;
}
- snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
i#l%d
",
- (long) time(NULL), file->identifier, sectionid);
+ snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
u#l%u
",
+ (
unsigned
long) time(NULL), file->identifier, sectionid);
edit_free_file(file);
edit_free_file(file);
@@
-3363,8
+3289,8
@@
jb_err cgi_edit_actions_url(struct client_state *csp,
line_number++;
}
line_number++;
}
- if (
(cur_line == NULL)
-
|| (cur_line->type != FILE_LINE_URL))
+ if ((cur_line == NULL)
+ || (cur_line->type != FILE_LINE_URL))
{
/* Invalid "patternid" parameter */
free(new_pattern);
{
/* Invalid "patternid" parameter */
free(new_pattern);
@@
-3391,8
+3317,8
@@
jb_err cgi_edit_actions_url(struct client_state *csp,
return err;
}
return err;
}
- snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
i#l%d
",
- (long) time(NULL), file->identifier, section_start_line_number);
+ snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
u#l%u
",
+ (
unsigned
long) time(NULL), file->identifier, section_start_line_number);
edit_free_file(file);
edit_free_file(file);
@@
-3475,8
+3401,8
@@
jb_err cgi_edit_actions_add_url(struct client_state *csp,
line_number++;
}
line_number++;
}
- if (
(cur_line == NULL)
-
|| (cur_line->type != FILE_LINE_ACTION))
+ if ((cur_line == NULL)
+ || (cur_line->type != FILE_LINE_ACTION))
{
/* Invalid "sectionid" parameter */
free(new_pattern);
{
/* Invalid "sectionid" parameter */
free(new_pattern);
@@
-3487,13
+3413,7
@@
jb_err cgi_edit_actions_add_url(struct client_state *csp,
/* At this point, the section header is in cur_line - add after this. */
/* Allocate the new line */
/* At this point, the section header is in cur_line - add after this. */
/* Allocate the new line */
- new_line = (struct file_line *)zalloc(sizeof(*new_line));
- if (new_line == NULL)
- {
- free(new_pattern);
- edit_free_file(file);
- return JB_ERR_MEMORY;
- }
+ new_line = zalloc_or_die(sizeof(*new_line));
/* Fill in the data members of the new line */
new_line->raw = NULL;
/* Fill in the data members of the new line */
new_line->raw = NULL;
@@
-3520,8
+3440,8
@@
jb_err cgi_edit_actions_add_url(struct client_state *csp,
return err;
}
return err;
}
- snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
i#l%d
",
- (long) time(NULL), file->identifier, sectionid);
+ snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
u#l%u
",
+ (
unsigned
long) time(NULL), file->identifier, sectionid);
edit_free_file(file);
edit_free_file(file);
@@
-3631,8
+3551,8
@@
jb_err cgi_edit_actions_remove_url(struct client_state *csp,
return err;
}
return err;
}
- snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
i#l%d
",
- (long) time(NULL), file->identifier, section_start_line_number);
+ snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
u#l%u
",
+ (
unsigned
long) time(NULL), file->identifier, section_start_line_number);
edit_free_file(file);
edit_free_file(file);
@@
-3705,16
+3625,16
@@
jb_err cgi_edit_actions_section_remove(struct client_state *csp,
line_number++;
}
line_number++;
}
- if (
(cur_line == NULL)
-
|| (cur_line->type != FILE_LINE_ACTION)
)
+ if ((cur_line == NULL)
+
|| (cur_line->type != FILE_LINE_ACTION)
)
{
/* Invalid "sectionid" parameter */
edit_free_file(file);
return JB_ERR_CGI_PARAMS;
}
{
/* Invalid "sectionid" parameter */
edit_free_file(file);
return JB_ERR_CGI_PARAMS;
}
- if (
(cur_line->next != NULL)
-
&& (cur_line->next->type == FILE_LINE_URL)
)
+ if ((cur_line->next != NULL)
+
&& (cur_line->next->type == FILE_LINE_URL)
)
{
/* Section not empty. */
edit_free_file(file);
{
/* Section not empty. */
edit_free_file(file);
@@
-3753,8
+3673,8
@@
jb_err cgi_edit_actions_section_remove(struct client_state *csp,
return err;
}
return err;
}
- snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
i
",
- (long) time(NULL), file->identifier);
+ snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
u
",
+ (
unsigned
long) time(NULL), file->identifier);
edit_free_file(file);
edit_free_file(file);
@@
-3828,8
+3748,8
@@
jb_err cgi_edit_actions_section_add(struct client_state *csp,
/* There's something in the file, find the line before the first
* action.
*/
/* There's something in the file, find the line before the first
* action.
*/
- while (
(cur_line->next != NULL)
- && (cur_line->next->type != FILE_LINE_ACTION)
)
+ while ((cur_line->next != NULL)
+ && (cur_line->next->type != FILE_LINE_ACTION))
{
cur_line = cur_line->next;
line_number++;
{
cur_line = cur_line->next;
line_number++;
@@
-3850,8
+3770,8
@@
jb_err cgi_edit_actions_section_add(struct client_state *csp,
line_number++;
}
line_number++;
}
- if (
(cur_line == NULL)
-
|| (cur_line->type != FILE_LINE_ACTION))
+ if ((cur_line == NULL)
+ || (cur_line->type != FILE_LINE_ACTION))
{
/* Invalid "sectionid" parameter */
edit_free_file(file);
{
/* Invalid "sectionid" parameter */
edit_free_file(file);
@@
-3859,8
+3779,8
@@
jb_err cgi_edit_actions_section_add(struct client_state *csp,
}
/* Skip through the section to find the last line in it. */
}
/* Skip through the section to find the last line in it. */
- while (
(cur_line->next != NULL)
-
&& (cur_line->next->type != FILE_LINE_ACTION)
)
+ while ((cur_line->next != NULL)
+
&& (cur_line->next->type != FILE_LINE_ACTION)
)
{
cur_line = cur_line->next;
line_number++;
{
cur_line = cur_line->next;
line_number++;
@@
-3880,13
+3800,7
@@
jb_err cgi_edit_actions_section_add(struct client_state *csp,
}
/* Allocate the new line */
}
/* Allocate the new line */
- new_line = (struct file_line *)zalloc(sizeof(*new_line));
- if (new_line == NULL)
- {
- free(new_text);
- edit_free_file(file);
- return JB_ERR_MEMORY;
- }
+ new_line = zalloc_or_die(sizeof(*new_line));
/* Fill in the data members of the new line */
new_line->raw = NULL;
/* Fill in the data members of the new line */
new_line->raw = NULL;
@@
-3922,8
+3836,8
@@
jb_err cgi_edit_actions_section_add(struct client_state *csp,
return err;
}
return err;
}
- snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
i
",
- (long) time(NULL), file->identifier);
+ snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
u
",
+ (
unsigned
long) time(NULL), file->identifier);
edit_free_file(file);
edit_free_file(file);
@@
-4018,8
+3932,8
@@
jb_err cgi_edit_actions_section_swap(struct client_state *csp,
line_number++;
}
line_number++;
}
- if (
(cur_line == NULL)
-
|| (cur_line->type != FILE_LINE_ACTION)
)
+ if ((cur_line == NULL)
+
|| (cur_line->type != FILE_LINE_ACTION)
)
{
/* Invalid "section1" parameter */
edit_free_file(file);
{
/* Invalid "section1" parameter */
edit_free_file(file);
@@
-4050,8
+3964,8
@@
jb_err cgi_edit_actions_section_swap(struct client_state *csp,
line_number++;
}
line_number++;
}
- if (
(cur_line == NULL)
-
|| (cur_line->type != FILE_LINE_ACTION)
)
+ if ((cur_line == NULL)
+
|| (cur_line->type != FILE_LINE_ACTION)
)
{
/* Invalid "section2" parameter */
edit_free_file(file);
{
/* Invalid "section2" parameter */
edit_free_file(file);
@@
-4111,8
+4025,8
@@
jb_err cgi_edit_actions_section_swap(struct client_state *csp,
}
} /* END if (section1 != section2) */
}
} /* END if (section1 != section2) */
- snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
i
",
- (long) time(NULL), file->identifier);
+ snprintf(target, sizeof(target), CGI_PREFIX "edit-actions-list?foo=%lu&f=%
u
",
+ (
unsigned
long) time(NULL), file->identifier);
edit_free_file(file);
edit_free_file(file);
@@
-4493,6
+4407,8
@@
jb_err cgi_toggle(struct client_state *csp,
global_toggle_state = !global_toggle_state;
}
global_toggle_state = !global_toggle_state;
}
+ log_error(LOG_LEVEL_INFO, "Now toggled %s.", global_toggle_state ? "ON" : "OFF");
+
if (NULL == (exports = default_exports(csp, "toggle")))
{
return JB_ERR_MEMORY;
if (NULL == (exports = default_exports(csp, "toggle")))
{
return JB_ERR_MEMORY;