claws.git
5 years agoAlways remove local images from Litehtml image cache
Andrej Kacian [Sat, 9 Mar 2019 21:53:10 +0000 (22:53 +0100)]
Always remove local images from Litehtml image cache

Since their "url" in cache only includes MIME
file name, they are not guaranteed to be unique
across different messages.

5 years agoAdded support for local image attachments to the Litehtml plugin
Andrej Kacian [Sat, 9 Mar 2019 21:32:32 +0000 (22:32 +0100)]
Added support for local image attachments to the Litehtml plugin

5 years agoAdd missing config.h include to utils.h
Andrej Kacian [Sat, 9 Mar 2019 20:51:29 +0000 (21:51 +0100)]
Add missing config.h include to utils.h

It should be there, since we refer to a lot of HAVE_
macros defined in config.h

5 years agoAdd a forgotten fclose() call
Andrej Kacian [Sat, 9 Mar 2019 20:22:34 +0000 (21:22 +0100)]
Add a forgotten fclose() call

Fixes CID 1443021.

5 years agofix build with gdk-pixbuf 2.26
Paul [Thu, 7 Mar 2019 07:20:36 +0000 (07:20 +0000)]
fix build with gdk-pixbuf 2.26

5 years agoRestore compatibility with gdk-pixbuf version 2.26
Andrej Kacian [Wed, 6 Mar 2019 17:11:03 +0000 (18:11 +0100)]
Restore compatibility with gdk-pixbuf version 2.26

5 years agoMake textview load image attachments not via temporary files
Andrej Kacian [Tue, 5 Mar 2019 22:13:29 +0000 (23:13 +0100)]
Make textview load image attachments not via temporary files

This causes a change in how interacting with the image
attachments works. Previously, clicking the
"[attachment info]" clickable line above the image would
do different actions than clicking the image itself, which
would have an URI pointing to a temporary image file.
Now, they both do the same thing - left-click selects
the attachment, right-click shows generic attachment
context menu.

5 years agoRewrite image_viewer.c to not create a temporary file for the image being loaded
Andrej Kacian [Tue, 5 Mar 2019 22:01:26 +0000 (23:01 +0100)]
Rewrite image_viewer.c to not create a temporary file for the image being loaded

Instead, we use new procmime_get_part_as_inputstream().

5 years agoUpdate callers of procmime_get_part_as_string()
Andrej Kacian [Tue, 5 Mar 2019 22:00:52 +0000 (23:00 +0100)]
Update callers of procmime_get_part_as_string()

5 years agoWrite procmime_get_part_as_inputstream()
Andrej Kacian [Tue, 5 Mar 2019 21:59:10 +0000 (22:59 +0100)]
Write procmime_get_part_as_inputstream()

We also change procmime_get_part_as_string() to return
a void* instead of a gchar*, and add an option to not
null-terminate the returned buffer.

5 years agoRewrite procmime_get_part_as_string() to not use a temporary file
Andrej Kacian [Tue, 5 Mar 2019 20:54:48 +0000 (21:54 +0100)]
Rewrite procmime_get_part_as_string() to not use a temporary file

5 years agoReview label of webkit menu items in Fancy: remove the '(enable
wwp [Tue, 5 Mar 2019 11:57:15 +0000 (12:57 +0100)]
Review label of webkit menu items in Fancy: remove the '(enable
remote content)' not-so-clear mention, and capitalize words to
follow other labels.

5 years agoFix a typo in previous commit
Andrej Kacian [Tue, 5 Mar 2019 07:49:29 +0000 (08:49 +0100)]
Fix a typo in previous commit

5 years agoRequire GLib >= 2.36 for Litehtml plugin
Andrej Kacian [Tue, 5 Mar 2019 07:48:11 +0000 (08:48 +0100)]
Require GLib >= 2.36 for Litehtml plugin

5 years agoMake Litehtml image loading non-blocking using threads
Andrej Kacian [Tue, 5 Mar 2019 07:40:32 +0000 (08:40 +0100)]
Make Litehtml image loading non-blocking using threads

5 years agoAdd a mutex lock for Litehtml plugin image cache
Andrej Kacian [Tue, 5 Mar 2019 07:40:20 +0000 (08:40 +0100)]
Add a mutex lock for Litehtml plugin image cache

5 years agoMerge branch 'master' of ssh+git://git.claws-mail.org/home/git/claws
Michael Rasmussen [Mon, 4 Mar 2019 23:12:46 +0000 (00:12 +0100)]
Merge branch 'master' of ssh+git://git.claws-mail.org/home/git/claws

5 years agoFix possible segmentation fault
Michael Rasmussen [Mon, 4 Mar 2019 23:12:33 +0000 (00:12 +0100)]
Fix possible segmentation fault

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoWrite missing prefs_done() in Litehtml plugin
Andrej Kacian [Mon, 4 Mar 2019 20:37:23 +0000 (21:37 +0100)]
Write missing prefs_done() in Litehtml plugin

5 years agoRemove useless debug code. Add copyright
Michael Rasmussen [Sat, 2 Mar 2019 12:25:13 +0000 (13:25 +0100)]
Remove useless debug code. Add copyright

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoadd 2 includes
Paul [Fri, 1 Mar 2019 16:33:52 +0000 (16:33 +0000)]
add 2 includes

prevents implicit declaration warnings, as reported by buildbot

5 years agoRewrite pgp_locate_armor_header() to more strictly follow RFC4880
Andrej Kacian [Fri, 1 Mar 2019 14:45:45 +0000 (15:45 +0100)]
Rewrite pgp_locate_armor_header() to more strictly follow RFC4880

Not only has the armor header be at the beginning of
the line, but also there cannot be any non-whitespace
after it on the same line.

5 years agoSimplify vcalviewer_get_uid_from_mimeinfo()
Andrej Kacian [Fri, 1 Mar 2019 14:05:58 +0000 (15:05 +0100)]
Simplify vcalviewer_get_uid_from_mimeinfo()

5 years agoSimplify Litehtml plugin's show_mimepart
Andrej Kacian [Fri, 1 Mar 2019 13:52:22 +0000 (14:52 +0100)]
Simplify Litehtml plugin's show_mimepart

5 years agoMove pgpcore's get_part_as_string() to procmime.c
Andrej Kacian [Fri, 1 Mar 2019 13:51:58 +0000 (14:51 +0100)]
Move pgpcore's get_part_as_string() to procmime.c

5 years agoFix previous commit
Andrej Kacian [Fri, 1 Mar 2019 13:43:20 +0000 (14:43 +0100)]
Fix previous commit

Functions from pgp_utils.c were not included in the resulting
shared object file

5 years agoMove file header to the top in pgp_utils.c
Andrej Kacian [Fri, 1 Mar 2019 13:29:53 +0000 (14:29 +0100)]
Move file header to the top in pgp_utils.c

5 years agoRemove pgpcore's fp_read_noconv() in favour of file_read_stream_to_str_no_recode...
Andrej Kacian [Fri, 1 Mar 2019 13:27:17 +0000 (14:27 +0100)]
Remove pgpcore's fp_read_noconv() in favour of file_read_stream_to_str_no_recode() from file-utils.c

5 years agoUse Pango to render text in Litehtml plugin
Andrej Kacian [Mon, 25 Feb 2019 22:19:24 +0000 (23:19 +0100)]
Use Pango to render text in Litehtml plugin

Since we're no longer using the "toy" cairo text API, we
can now render all Unicode glyphs, and the code even ends
up slightly simpler.

The text-related Litehtml callbacks have been moved from
container_linux to lh_widget class, and into a separate
.cpp file.

5 years agoCheck result of fputs (CID 1440024)
Ricardo Mones [Tue, 19 Feb 2019 18:23:38 +0000 (19:23 +0100)]
Check result of fputs (CID 1440024)

5 years agoCheck writting crash-indicator (CID 1440021)
Ricardo Mones [Tue, 19 Feb 2019 18:23:10 +0000 (19:23 +0100)]
Check writting crash-indicator (CID 1440021)

5 years agoUse prepend document base url to #fragment links in Litehtml plugin
Andrej Kacian [Sun, 17 Feb 2019 23:46:24 +0000 (00:46 +0100)]
Use prepend document base url to #fragment links in Litehtml plugin

5 years agoAdd default_font preference to Litehtml plugin
Andrej Kacian [Sun, 17 Feb 2019 19:48:17 +0000 (20:48 +0100)]
Add default_font preference to Litehtml plugin

5 years agoMake key accelerators from menu work in addressbook window
Andrej Kacian [Thu, 14 Feb 2019 17:08:56 +0000 (18:08 +0100)]
Make key accelerators from menu work in addressbook window

5 years agoChange addressbook's internal UI name for Edit submenu to match its label
Andrej Kacian [Thu, 14 Feb 2019 16:55:42 +0000 (17:55 +0100)]
Change addressbook's internal UI name for Edit submenu to match its label

5 years agofix bug 4155, 'remember directory of last saving'
Paul [Thu, 14 Feb 2019 14:12:35 +0000 (14:12 +0000)]
fix bug 4155, 'remember directory of last saving'

drop messageview_save_as(), use only summary_save_as()

5 years agoFix build error
Michael Rasmussen [Tue, 12 Feb 2019 23:47:34 +0000 (00:47 +0100)]
Fix build error

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoMake Litehtml display sub- and superscript correctly
Andrej Kacian [Mon, 11 Feb 2019 23:54:07 +0000 (00:54 +0100)]
Make Litehtml display sub- and superscript correctly

5 years agoUse height of the viewport, not the scrolled window when telling Litehtml size of...
Andrej Kacian [Mon, 11 Feb 2019 23:32:44 +0000 (00:32 +0100)]
Use height of the viewport, not the scrolled window when telling Litehtml size of the area it has available for rendering

5 years agoReset Litehtml scrolledwindow to top-left when displaying new content
Andrej Kacian [Mon, 11 Feb 2019 22:10:45 +0000 (23:10 +0100)]
Reset Litehtml scrolledwindow to top-left when displaying new content

5 years agoFix typo in variable name
Ricardo Mones [Sun, 10 Feb 2019 11:51:53 +0000 (12:51 +0100)]
Fix typo in variable name

5 years agoShow number of cleared Litehtml cache images on debug
Andrej Kacian [Fri, 8 Feb 2019 19:09:38 +0000 (20:09 +0100)]
Show number of cleared Litehtml cache images on debug

5 years agoAdd image_cache_size pref to Litehtml
Andrej Kacian [Fri, 8 Feb 2019 19:05:06 +0000 (20:05 +0100)]
Add image_cache_size pref to Litehtml

5 years agoImplement size limit for Litehtml image cache
Andrej Kacian [Fri, 8 Feb 2019 18:42:54 +0000 (19:42 +0100)]
Implement size limit for Litehtml image cache

5 years agoSwitch Litehtml's image cache from std::map to std::list
Andrej Kacian [Fri, 8 Feb 2019 17:33:00 +0000 (18:33 +0100)]
Switch Litehtml's image cache from std::map to std::list

This makes the cache ordered, so we are able to remove
oldest entries if we want to trim memory usage.

5 years agoDo not build the litehtml plugin if a C++ compiler is not available
Andrej Kacian [Sun, 3 Feb 2019 13:50:30 +0000 (14:50 +0100)]
Do not build the litehtml plugin if a C++ compiler is not available

5 years agoMake Litehtml's "Copy Link" menuitem actually do something
Andrej Kacian [Fri, 1 Feb 2019 20:33:36 +0000 (21:33 +0100)]
Make Litehtml's "Copy Link" menuitem actually do something

5 years agoImplement link context menu in Litehtml
Andrej Kacian [Fri, 1 Feb 2019 15:55:48 +0000 (16:55 +0100)]
Implement link context menu in Litehtml

5 years agoAdd lh_widget::get_href_at()
Andrej Kacian [Fri, 1 Feb 2019 15:55:15 +0000 (16:55 +0100)]
Add lh_widget::get_href_at()

5 years agoFix possible memory leak
Michael Rasmussen [Tue, 29 Jan 2019 23:29:12 +0000 (00:29 +0100)]
Fix possible memory leak

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoMake Litehtml's curl writefunction add data directly to the GInputStream
Andrej Kacian [Tue, 29 Jan 2019 23:09:11 +0000 (00:09 +0100)]
Make Litehtml's curl writefunction add data directly to the GInputStream

This saves us some unnecessary reallocs, as data
inside a GMemoryInputStream do not need to be
contiguous.

5 years agoMake Litehtml's curl write function a regular function instead of a static member...
Andrej Kacian [Tue, 29 Jan 2019 22:52:36 +0000 (23:52 +0100)]
Make Litehtml's curl write function a regular function instead of a static member function of the http class

5 years agoFix a memory leak in Litehtml plugin's http loader
Andrej Kacian [Tue, 29 Jan 2019 22:13:51 +0000 (23:13 +0100)]
Fix a memory leak in Litehtml plugin's http loader

5 years agoFix a huge memory leak in Litehtml
Andrej Kacian [Tue, 29 Jan 2019 21:23:54 +0000 (22:23 +0100)]
Fix a huge memory leak in Litehtml

5 years agoProperly free previous document from memory in litehtml's clear()
Andrej Kacian [Tue, 29 Jan 2019 20:47:53 +0000 (21:47 +0100)]
Properly free previous document from memory in litehtml's clear()

We also call paint_white() earlier in redraw().
This results in properly clearing the previously
rendered html content when opening a different
HTML part.

5 years agoMake Litehtml plugin open links in configured way
Andrej Kacian [Tue, 29 Jan 2019 19:12:41 +0000 (20:12 +0100)]
Make Litehtml plugin open links in configured way

5 years agoRefactor http class to prevent memory leak
Michael Rasmussen [Sun, 27 Jan 2019 11:21:37 +0000 (12:21 +0100)]
Refactor http class to prevent memory leak

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoRemove unused stuff
Michael Rasmussen [Sun, 27 Jan 2019 00:11:24 +0000 (01:11 +0100)]
Remove unused stuff

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoAdded preferences page to LiteHTML plugin and make it respect the enable_remote_conte...
Andrej Kacian [Sat, 26 Jan 2019 20:59:15 +0000 (21:59 +0100)]
Added preferences page to LiteHTML plugin and make it respect the enable_remote_content pref

Only "enable_remote_content" pref for now.

5 years agoNo need to configure CURLOPT_WRITEFUNCTION twice
Michael Rasmussen [Fri, 25 Jan 2019 23:15:04 +0000 (00:15 +0100)]
No need to configure CURLOPT_WRITEFUNCTION twice

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoUse debug_print() and g_warning() instead of g_log() in litehtml_viewer
Andrej Kacian [Fri, 25 Jan 2019 22:49:32 +0000 (23:49 +0100)]
Use debug_print() and g_warning() instead of g_log() in litehtml_viewer

5 years agoFix URL display in statusbar when hovering over a link in litehtml_viewer
Andrej Kacian [Fri, 25 Jan 2019 21:49:49 +0000 (22:49 +0100)]
Fix URL display in statusbar when hovering over a link in litehtml_viewer

5 years agoUpdate current version of litehtml. Fix a crash when document contains no fonts
Michael Rasmussen [Sat, 1 Dec 2018 17:36:46 +0000 (18:36 +0100)]
Update current version of litehtml. Fix a crash when document contains no fonts

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoUse statusbar for notification. Begin print implementation
Michael Rasmussen [Fri, 16 Nov 2018 16:18:45 +0000 (17:18 +0100)]
Use statusbar for notification. Begin print implementation

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoProper fix for memory leak
Michael Rasmussen [Fri, 16 Nov 2018 16:13:05 +0000 (17:13 +0100)]
Proper fix for memory leak

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoFix memory leak
Michael Rasmussen [Thu, 15 Nov 2018 22:12:11 +0000 (23:12 +0100)]
Fix memory leak

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoDo not use G_LOG_LEVEL_ERROR. Makes claws crash
Michael Rasmussen [Thu, 15 Nov 2018 22:06:29 +0000 (23:06 +0100)]
Do not use G_LOG_LEVEL_ERROR. Makes claws crash

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoFix missing includes
Michael Rasmussen [Sat, 10 Nov 2018 02:11:21 +0000 (03:11 +0100)]
Fix missing includes

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoFix wrong cursor type
Michael Rasmussen [Fri, 9 Nov 2018 16:08:56 +0000 (17:08 +0100)]
Fix wrong cursor type

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoChange cursor type when hoover over link
Michael Rasmussen [Fri, 9 Nov 2018 16:00:50 +0000 (17:00 +0100)]
Change cursor type when hoover over link

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoUpdate TODO
Michael Rasmussen [Fri, 9 Nov 2018 00:57:34 +0000 (01:57 +0100)]
Update TODO

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoImplemented support for links
Michael Rasmussen [Fri, 9 Nov 2018 00:56:29 +0000 (01:56 +0100)]
Implemented support for links

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoI am tired ;-)
Michael Rasmussen [Wed, 7 Nov 2018 23:50:37 +0000 (00:50 +0100)]
I am tired ;-)

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoCleaner code a fix memory leak
Michael Rasmussen [Wed, 7 Nov 2018 23:45:52 +0000 (00:45 +0100)]
Cleaner code a fix memory leak

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoRefactor image loading to a separate class. Add dependency to curl
Michael Rasmussen [Wed, 7 Nov 2018 22:49:35 +0000 (23:49 +0100)]
Refactor image loading to a separate class. Add dependency to curl

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoImplement image handling
Michael Rasmussen [Wed, 7 Nov 2018 02:20:11 +0000 (03:20 +0100)]
Implement image handling

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoInitial commit of litehtml_viewer
Michael Rasmussen [Tue, 6 Nov 2018 18:50:31 +0000 (19:50 +0100)]
Initial commit of litehtml_viewer
See TODO for missing functionality.

Signed-off-by: Michael Rasmussen <mir@datanom.net>
5 years agoFix a small memory leak in rssyl_remove_msgs()
Andrej Kacian [Fri, 8 Feb 2019 18:49:27 +0000 (19:49 +0100)]
Fix a small memory leak in rssyl_remove_msgs()

5 years agoput displayed headers on the right, hidden headers on the left. a layout shared by...
Paul [Tue, 29 Jan 2019 13:30:26 +0000 (13:30 +0000)]
put displayed headers on the right, hidden headers on the left. a layout shared by other, similar prefs windows

5 years agoFix possible stack overflow in vcalendar's Curl data handler
Andrej Kacian [Sun, 27 Jan 2019 10:45:38 +0000 (11:45 +0100)]
Fix possible stack overflow in vcalendar's Curl data handler

Allocate the VLA on heap instead.

5 years agoUse hardcoded SHA digest length in pkcs5_pbkdf2.c
Andrej Kacian [Sun, 27 Jan 2019 10:38:36 +0000 (11:38 +0100)]
Use hardcoded SHA digest length in pkcs5_pbkdf2.c

This makes -Wvla happy and saves us two GnuTLS API calls
with no real downside.

5 years agoMake is_toplvl_domain() aware that TLDs can be longer than 6 characters
Andrej Kacian [Sun, 27 Jan 2019 09:50:22 +0000 (10:50 +0100)]
Make is_toplvl_domain() aware that TLDs can be longer than 6 characters

5 years agoDo not define our own strcasestr() if it is available
Andrej Kacian [Fri, 25 Jan 2019 22:27:18 +0000 (23:27 +0100)]
Do not define our own strcasestr() if it is available

5 years agoFix a compiler warning
Andrej Kacian [Sun, 20 Jan 2019 19:00:49 +0000 (20:00 +0100)]
Fix a compiler warning

5 years agoRemove unneeded w32_stdio.c
Andrej Kacian [Sun, 20 Jan 2019 18:45:23 +0000 (19:45 +0100)]
Remove unneeded w32_stdio.c

5 years agoDisable operations around the x_display variable on non-Unix
Andrej Kacian [Sun, 20 Jan 2019 18:41:00 +0000 (19:41 +0100)]
Disable operations around the x_display variable on non-Unix

5 years agoUse G_GSIZE_FORMAT for printing time_t values
Andrej Kacian [Sun, 20 Jan 2019 18:33:34 +0000 (19:33 +0100)]
Use G_GSIZE_FORMAT for printing time_t values

5 years agoReplace deprecated _sleep() with Sleep() in w32_unistd.c
Andrej Kacian [Sun, 20 Jan 2019 18:15:04 +0000 (19:15 +0100)]
Replace deprecated _sleep() with Sleep() in w32_unistd.c

5 years agoAdd a menu item to open debug log file on Windows
Andrej Kacian [Sun, 20 Jan 2019 18:06:32 +0000 (19:06 +0100)]
Add a menu item to open debug log file on Windows

5 years agoOnly call the fd_is_w32_socket() check on Windows
Andrej Kacian [Sun, 20 Jan 2019 16:32:27 +0000 (17:32 +0100)]
Only call the fd_is_w32_socket() check on Windows

This saves us one unnecessary getsockopt() call before
each socket read and write.

5 years agoFix session proxy initialization for Windows
Andrej Kacian [Sun, 20 Jan 2019 13:45:08 +0000 (14:45 +0100)]
Fix session proxy initialization for Windows

Fixes bug #4145: proxy server for sending doesn't work

5 years agosave checkbox choices of display/summaries/defaults prefs
Paul [Thu, 17 Jan 2019 10:06:34 +0000 (10:06 +0000)]
save checkbox choices of display/summaries/defaults prefs

5 years agoFix crash when LDAP address source is defined in index, but LDAP support is disabled
Andrej Kacian [Wed, 16 Jan 2019 17:36:55 +0000 (18:36 +0100)]
Fix crash when LDAP address source is defined in index, but LDAP support is disabled

AddressIfFrag is being cast to AddrBookBase, so it too
needs to have the two mandatory members at the beginning.

5 years agoRemove an unused path variable in python plugin
Andrej Kacian [Sat, 12 Jan 2019 11:53:04 +0000 (12:53 +0100)]
Remove an unused path variable in python plugin

The plugin has no preferences page, so this is not needed.

5 years agoImprove new feed item detection algorithm in RSSyl slightly
Andrej Kacian [Sat, 12 Jan 2019 10:35:49 +0000 (11:35 +0100)]
Improve new feed item detection algorithm in RSSyl slightly

5 years agoadd option 'enable keyboard shortcuts'
Paul [Tue, 8 Jan 2019 07:57:25 +0000 (07:57 +0000)]
add option 'enable keyboard shortcuts'

5 years agoFix a few small memory leaks in scan_mailto_url()
Andrej Kacian [Mon, 7 Jan 2019 16:38:01 +0000 (17:38 +0100)]
Fix a few small memory leaks in scan_mailto_url()

5 years agoImprove line breaks in compose window
Andrej Kacian [Sun, 6 Jan 2019 10:23:19 +0000 (11:23 +0100)]
Improve line breaks in compose window

Fixes bug #3070: misbehaving text wrapping when URL chars are present

5 years agoGive a hint when option is unknown
Ricardo Mones [Fri, 4 Jan 2019 19:07:49 +0000 (20:07 +0100)]
Give a hint when option is unknown

5 years agoMake children tracking in execute_actions() more async-aware
Andrej Kacian [Fri, 4 Jan 2019 18:50:08 +0000 (19:50 +0100)]
Make children tracking in execute_actions() more async-aware

We need to update the children count in children->nb
after starting each child process instead of after
starting all of them, because we use that count
in wait_for_children(), which is run asynchronously
for each child.

Fixes bug #3979: Hang (with killing needed) during
action which extracts attachments