diff --git a/clamav-devel/ChangeLog b/clamav-devel/ChangeLog index d957465d4..a5ac8a471 100644 --- a/clamav-devel/ChangeLog +++ b/clamav-devel/ChangeLog @@ -1,3 +1,7 @@ +Wed Oct 27 09:30:47 BST 2004 (trog) +----------------------------------- + * libclamav/htmlnorm.c: extract more HTML references from use with FOLLOWURL + Wed Oct 27 07:36:49 BST 2004 (njh) ---------------------------------- * libclamav/untar.c: Handle links to another file already archived, patch diff --git a/clamav-devel/libclamav/htmlnorm.c b/clamav-devel/libclamav/htmlnorm.c index 982ca4711..d14d5d571 100644 --- a/clamav-devel/libclamav/htmlnorm.c +++ b/clamav-devel/libclamav/htmlnorm.c @@ -781,11 +781,27 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag in_script = TRUE; } html_output_tag(file_buff_script, tag, &tag_args); - } else if (hrefs && strcmp(tag, "a") == 0) { - arg_value = html_tag_arg_value(&tag_args, "href"); - if (arg_value && strlen(arg_value) > 0) { - html_tag_arg_add(hrefs, "href", arg_value); - } + } else if (hrefs) { + if (strcmp(tag, "a") == 0) { + arg_value = html_tag_arg_value(&tag_args, "href"); + if (arg_value && strlen(arg_value) > 0) { + html_tag_arg_add(hrefs, "href", arg_value); + } + } else if (strcmp(tag, "img") == 0) { + arg_value = html_tag_arg_value(&tag_args, "src"); + if (arg_value && strlen(arg_value) > 0) { + html_tag_arg_add(hrefs, "src", arg_value); + } + arg_value = html_tag_arg_value(&tag_args, "dynsrc"); + if (arg_value && strlen(arg_value) > 0) { + html_tag_arg_add(hrefs, "dynsrc", arg_value); + } + } else if (strcmp(tag, "iframe") == 0) { + arg_value = html_tag_arg_value(&tag_args, "src"); + if (arg_value && strlen(arg_value) > 0) { + html_tag_arg_add(hrefs, "iframe", arg_value); + } + } } html_tag_arg_free(&tag_args); break;