Commit 2b6ed754 authored by ng's avatar ng

fix #289 - make sure dirmngr exits

We need to kill dirmngr, otherwise it might linger around and
consume memory. Which can become a problem on servers with many
lists, as dirmngr uses way more memory than the agent.
parent 109c6a75
Pipeline #8406 passed with stage
in 14 minutes and 16 seconds
......@@ -16,6 +16,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
* Fix output of Keys with a broken character set. This mainly affected schleuder-api.
* Exit install-script if setting up the database failed.
* Reveal less errors to public, and improve messages to admins. Previously errors about list-config etc. would have been included in bounces to the sender of the incoming email. Now only the admins get to know the details (which now also include the list the error happend with). Email-bounces only tell about a fatal error — except if the list could not be found, that information is still sent to the sender of the incoming email.
* Make sure dirmngr is killed for a list after refreshing a list's keyring. Avoids servers getting memory exhausted. Fixes #289
## [3.2.1] / 2017-10-24
......
......@@ -94,6 +94,10 @@ module GPGME
sleep rand(1.0..5.0)
refresh_key(key.fingerprint).presence
end
# TODO: drop version check once we killed gpg 2.0 support.
if GPGME::Ctx.sufficient_gpg_version?('2.1')
`gpgconf --kill dirmngr`
end
output.compact.join("\n")
end
......
......@@ -143,6 +143,8 @@ describe 'cli' do
with_sks_mock do
Cli.new.refresh_keys
dirmngr_pid = `pgrep -a dirmngr | grep #{list.listdir}`.split(' ',2).first
expect(dirmngr_pid).to be_nil
end
mail = Mail::TestMailer.deliveries.first
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment