aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libserver/html.c18
-rw-r--r--src/lua/lua_html.c10
2 files changed, 21 insertions, 7 deletions
diff --git a/src/libserver/html.c b/src/libserver/html.c
index a6b037861..395987cce 100644
--- a/src/libserver/html.c
+++ b/src/libserver/html.c
@@ -2324,14 +2324,16 @@ rspamd_html_process_block_tag (rspamd_mempool_t *pool, struct html_tag *tag,
fstr.len = comp->len;
rspamd_html_process_color (comp->start, comp->len,
&bl->font_color);
- msg_debug_html ("got color: %xd", bl->font_color.d.val);
+ msg_debug_html ("tag %*s; got color: %xd",
+ tag->name.len, tag->name.start, bl->font_color.d.val);
break;
case RSPAMD_HTML_COMPONENT_BGCOLOR:
fstr.begin = (gchar *) comp->start;
fstr.len = comp->len;
rspamd_html_process_color (comp->start, comp->len,
&bl->background_color);
- msg_debug_html ("got color: %xd", bl->font_color.d.val);
+ msg_debug_html ("tag %*s; got color: %xd",
+ tag->name.len, tag->name.start, bl->font_color.d.val);
if (tag->id == Tag_BODY) {
/* Set global background color */
@@ -2342,21 +2344,25 @@ rspamd_html_process_block_tag (rspamd_mempool_t *pool, struct html_tag *tag,
case RSPAMD_HTML_COMPONENT_STYLE:
bl->style.len = comp->len;
bl->style.start = comp->start;
- msg_debug_html ("got style: %*s", (gint) bl->style.len,
- bl->style.start);
+ msg_debug_html ("tag: %*s; got style: %*s",
+ tag->name.len, tag->name.start,
+ (gint) bl->style.len, bl->style.start);
rspamd_html_process_style (pool, bl, hc, comp->start, comp->len);
break;
case RSPAMD_HTML_COMPONENT_CLASS:
fstr.begin = (gchar *) comp->start;
fstr.len = comp->len;
bl->html_class = rspamd_mempool_ftokdup (pool, &fstr);
- msg_debug_html ("got class: %s", bl->html_class);
+ msg_debug_html ("tag: %*s; got class: %s",
+ tag->name.len, tag->name.start, bl->html_class);
break;
case RSPAMD_HTML_COMPONENT_SIZE:
/* Not supported by html5 */
/* FIXME maybe support it */
bl->font_size = 16;
- msg_debug_html ("got size: %*s", (gint)comp->len, comp->start);
+ msg_debug_html ("tag %*s; got size: %*s",
+ tag->name.len, tag->name.start,
+ (gint)comp->len, comp->start);
break;
default:
/* NYI */
diff --git a/src/lua/lua_html.c b/src/lua/lua_html.c
index c0e07de36..7d7e9b7a3 100644
--- a/src/lua/lua_html.c
+++ b/src/lua/lua_html.c
@@ -470,7 +470,15 @@ lua_html_node_foreach_cb (GNode *n, gpointer d)
rspamd_lua_setclass (ud->L, "rspamd{html_tag}", -1);
lua_pushinteger (ud->L, tag->content_length);
- if (lua_pcall (ud->L, 2, 1, 0) != 0) {
+ /* Leaf flag */
+ if (g_node_first_child (n)) {
+ lua_pushboolean (ud->L, false);
+ }
+ else {
+ lua_pushboolean (ud->L, true);
+ }
+
+ if (lua_pcall (ud->L, 3, 1, 0) != 0) {
msg_err ("error in foreach_tag callback: %s", lua_tostring (ud->L, -1));
lua_pop (ud->L, 1);
return TRUE;