X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=actions.c;h=2fb546f430e16e8c80a3b6d04e3ec83f2bd66ff3;hp=d530b4e843267f05f6c773eb451d6906e337ed42;hb=68b322072bd0c1db8aca5df74601eb18c6bfaac5;hpb=0937125fc3744f897ffd81a26a89df662f75d1f1 diff --git a/actions.c b/actions.c index d530b4e8..2fb546f4 100644 --- a/actions.c +++ b/actions.c @@ -1,4 +1,4 @@ -const char actions_rcs[] = "$Id: actions.c,v 1.41 2008/01/28 20:17:40 fabiankeil Exp $"; +const char actions_rcs[] = "$Id: actions.c,v 1.43 2008/03/01 14:00:43 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/actions.c,v $ @@ -6,7 +6,7 @@ const char actions_rcs[] = "$Id: actions.c,v 1.41 2008/01/28 20:17:40 fabiankeil * Purpose : Declares functions to work with actions files * Functions declared include: FIXME * - * Copyright : Written by and Copyright (C) 2001-2007 the SourceForge + * Copyright : Written by and Copyright (C) 2001-2008 the SourceForge * Privoxy team. http://www.privoxy.org/ * * Based on the Internet Junkbuster originally written @@ -33,6 +33,15 @@ const char actions_rcs[] = "$Id: actions.c,v 1.41 2008/01/28 20:17:40 fabiankeil * * Revisions : * $Log: actions.c,v $ + * Revision 1.43 2008/03/01 14:00:43 fabiankeil + * Let the block action take the reason for the block + * as argument and show it on the "blocked" page. + * + * Revision 1.42 2008/02/09 15:15:38 fabiankeil + * List active and inactive actions in the show-url-info's + * "Final results" section separately. Patch submitted by Lee + * in #1830056, modified to list active actions first. + * * Revision 1.41 2008/01/28 20:17:40 fabiankeil * - Mark some parameters as immutable. * - Hide update_action_bits_for_all_tags() while it's unused. @@ -597,6 +606,23 @@ jb_err get_action_token(char **line, char **name, char **value) return JB_ERR_OK; } +/********************************************************************* + * + * Function : action_used_to_valid_ + * + * Description : Checks if unrecognized actions were valid in earlier + * releases. + * + * Parameters : + * 1 : action = The string containing the action to check. + * + * Returns : True if yes, otherwise false. + * + *********************************************************************/ +static int action_used_to_be_valid(const char *action) +{ + return (0 == strcmpic(action, "treat-forbidden-connects-like-blocks")); +} /********************************************************************* * @@ -664,7 +690,25 @@ jb_err get_actions(char *line, if ((value == NULL) || (*value == '\0')) { - return JB_ERR_PARSE; + if (0 != strcmpic(action->name, "block")) + { + /* + * XXX: Temporary backwards compatibility hack. + */ + static int complaint_shown = 0; + value = "No reason specified."; + if (!complaint_shown) + { + log_error(LOG_LEVEL_ERROR, "At least one block " + "without reason found. This may become a fatal " + "error in future versions."); + complaint_shown = 1; + } + } + else + { + return JB_ERR_PARSE; + } } /* FIXME: should validate option string here */ freez (cur_action->string[action->index]); @@ -758,6 +802,11 @@ jb_err get_actions(char *line, /* Found it */ merge_actions(cur_action, alias->action); } + else if ((2 < strlen(option)) && action_used_to_be_valid(option+1)) + { + log_error(LOG_LEVEL_ERROR, "Action '%s' is no longer valid " + "in this Privoxy release. Ignored.", option+1); + } else { /* Bad action name */