Hide edit buttons on the show-url-info CGI page if enable-edit-action
[privoxy.git] / actions.c
index cbd4872..fc61297 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -1,4 +1,4 @@
-const char actions_rcs[] = "$Id: actions.c,v 1.38 2007/04/15 16:39:20 fabiankeil Exp $";
+const char actions_rcs[] = "$Id: actions.c,v 1.40 2007/05/21 10:26:50 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/actions.c,v $
@@ -33,6 +33,16 @@ const char actions_rcs[] = "$Id: actions.c,v 1.38 2007/04/15 16:39:20 fabiankeil
  *
  * Revisions   :
  *    $Log: actions.c,v $
+ *    Revision 1.40  2007/05/21 10:26:50  fabiankeil
+ *    - Use strlcpy() instead of strcpy().
+ *    - Provide a reason why loading the actions
+ *      file might have failed.
+ *
+ *    Revision 1.39  2007/04/17 18:21:45  fabiankeil
+ *    Split update_action_bits() into
+ *    update_action_bits_for_all_tags()
+ *    and update_action_bits_for_tag().
+ *
  *    Revision 1.38  2007/04/15 16:39:20  fabiankeil
  *    Introduce tags as alternative way to specify which
  *    actions apply to a request. At the moment tags can be
@@ -875,7 +885,7 @@ jb_err merge_current_action (struct current_action_spec *dest,
    return err;
 }
 
-
+#if 0
 /*********************************************************************
  *
  * Function    :  update_action_bits_for_all_tags
@@ -904,7 +914,7 @@ int update_action_bits_for_all_tags(struct client_state *csp)
 
    return updated;
 }
-
+#endif
 
 /*********************************************************************
  *
@@ -1176,8 +1186,9 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
    }
    if (!fs)
    {
-      log_error(LOG_LEVEL_FATAL, "can't load actions file '%s': error finding file: %E",
-                csp->config->actions_file[fileid]);
+      log_error(LOG_LEVEL_FATAL, "can't load actions file '%s': %E. "
+         "Note that beginning with Privoxy 3.0.7, actions files have to be specified "
+         "with their complete file names.", csp->config->actions_file[fileid]);
       return 1; /* never get here */
    }
 
@@ -1342,7 +1353,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
             init_action(cur_action);
 
             /* trim { */
-            strcpy(actions_buf, buf + 1);
+            strlcpy(actions_buf, buf + 1, sizeof(actions_buf));
 
             /* check we have a trailing } and then trim it */
             end = actions_buf + strlen(actions_buf) - 1;
@@ -1484,7 +1495,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
             return 1; /* never get here */
          }
 
-         strcpy(actions_buf, start);
+         strlcpy(actions_buf, start, sizeof(actions_buf));
 
          if (get_actions(actions_buf, alias_list, new_alias->action))
          {
@@ -1590,7 +1601,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
  *                NULL on out-of-memory error.
  *
  *********************************************************************/
-char * actions_to_text(struct action_spec *action)
+char * actions_to_text(const struct action_spec *action)
 {
    unsigned mask = action->mask;
    unsigned add  = action->add;
@@ -1678,8 +1689,8 @@ char * actions_to_text(struct action_spec *action)
  *                NULL on out-of-memory error.
  *
  *********************************************************************/
-char * actions_to_html(struct client_state *csp,
-                       struct action_spec *action)
+char * actions_to_html(const struct client_state *csp,
+                       const struct action_spec *action)
 {
    unsigned mask = action->mask;
    unsigned add  = action->add;
@@ -1784,8 +1795,8 @@ char * actions_to_html(struct client_state *csp,
  *                NULL on out-of-memory error.
  *
  *********************************************************************/
-char *current_action_to_html(struct client_state *csp,
-                             struct current_action_spec *action)
+char *current_action_to_html(const struct client_state *csp,
+                             const struct current_action_spec *action)
 {
    unsigned long flags  = action->flags;
    char * result = strdup("");