-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 $
*
* 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
return err;
}
-
+#if 0
/*********************************************************************
*
* Function : update_action_bits_for_all_tags
return updated;
}
-
+#endif
/*********************************************************************
*
}
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 */
}
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;
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))
{
* 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;
* 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;
* 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("");