Bug #2849
charon_cmd does not terminate after SIGINT when using OpenSSL 1.1
Start date:
06.12.2018
Due date:
Estimated time:
Affected version:
5.7.1
Resolution:
Fixed
Description
After sending SIGINT to the charon_cmd process it does not terminate. The following test shows the last log messages of charon_cmd:
^C00[DMN] signal of type SIGINT received. Shutting down
00[IKE] deleting IKE_SA cmd[1] between 10.211.55.4[urian]...192.168.178.22[192.168.178.22]
00[IKE] sending DELETE for IKE_SA cmd[1]
00[ENC] generating INFORMATIONAL request 5 [ D ]
The issue is not present in version 5.6.2
I am using Ubuntu 18.04
History
#1 Updated by Tobias Brunner almost 7 years ago
- Status changed from New to Feedback
Try attaching to the process with GDB to get a stack trace of all threads (thread apply all bt full
).
#2 Updated by Rainer Urian almost 7 years ago
GDB log after SIGINT hang (sometimes it works if GDB is attached):
(gdb) attach 7523
Attaching to program: /usr/local/sbin/charon-cmd, process 7523
[New LWP 7524]
[New LWP 7525]
[New LWP 7528]
[New LWP 7530]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
__pthread_rwlock_wrlock_full (abstime=0x0, rwlock=0x55b4e9e28200)
at pthread_rwlock_common.c:915
915 pthread_rwlock_common.c: No such file or directory.
(gdb) thread apply all bt full
Thread 5 (Thread 0x7f4289a0e700 (LWP 7530)):
#0 0x00007f42921969f3 in futex_wait_cancelable (private=<optimized out>,
expected=0, futex_word=0x55b4e9e3ad2c)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
__ret = -512
oldtype = 0
err = <optimized out>
oldtype = <optimized out>
err = <optimized out>
__ret = <optimized out>
resultvar = <optimized out>
__arg4 = <optimized out>
__arg3 = <optimized out>
__arg2 = <optimized out>
__arg1 = <optimized out>
_a4 = <optimized out>
_a3 = <optimized out>
_a2 = <optimized out>
_a1 = <optimized out>
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x55b4e9e3b0a8,
cond=0x55b4e9e3ad00) at pthread_cond_wait.c:502
spin = 0
---Type <return> to continue, or q <return> to quit---
buffer = {__routine = 0x7f4292196690 <__condvar_cleanup_waiting>,
__arg = 0x7f4289a0dd30, __canceltype = 0, __prev = 0x0}
cbuffer = {wseq = 11, cond = 0x55b4e9e3ad00, mutex = 0x55b4e9e3b0a8,
private = 0}
rt = <optimized out>
err = <optimized out>
g = 1
flags = <optimized out>
g1_start = <optimized out>
signals = <optimized out>
result = 0
wseq = <optimized out>
seq = 5
private = <optimized out>
maxspin = <optimized out>
err = <optimized out>
result = <optimized out>
wseq = <optimized out>
g = <optimized out>
seq = <optimized out>
flags = <optimized out>
private = <optimized out>
signals = <optimized out>
---Type <return> to continue, or q <return> to quit---
g1_start = <optimized out>
spin = <optimized out>
buffer = <optimized out>
cbuffer = <optimized out>
rt = <optimized out>
s = <optimized out>
#2 __pthread_cond_wait (cond=0x55b4e9e3ad00, mutex=0x55b4e9e3b0a8)
at pthread_cond_wait.c:655
No locals.
#3 0x00007f42923d1156 in send_packets (this=0x55b4e9e3af60)
at network/sender.c:152
packet = 0x7f4260006050
oldstate = false
#4 0x00007f4292670c72 in execute (this=<optimized out>)
at processing/jobs/callback_job.c:77
No locals.
#5 0x00007f42926715a6 in process_job (worker=0x55b4e9e469b0,
this=0x55b4e9deda70) at processing/processor.c:235
to_destroy = 0x0
requeue = <optimized out>
to_destroy = <optimized out>
requeue = <optimized out>
#6 process_jobs (worker=0x55b4e9e469b0) at processing/processor.c:321
---Type <return> to continue, or q <return> to quit---
this = 0x55b4e9deda70
#7 0x00007f42926836bb in thread_main (this=0x55b4e9e469e0)
at threading/thread.c:331
__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {4,
1843738438814485156, 139923753590720, 0, 94235506534880,
140731808116064, -1795998269981767004, -1795983493951698268},
__mask_was_saved = 0}}, __pad = {0x7f4289a0df10, 0x0, 0x0, 0x0}}
__cancel_routine = 0x7f4292683900 <thread_cleanup>
__cancel_arg = 0x55b4e9e469e0
__not_first_call = <optimized out>
res = <optimized out>
#8 0x00007f42921906db in start_thread (arg=0x7f4289a0e700)
at pthread_create.c:463
pd = 0x7f4289a0e700
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139923753592576,
1843738438814485156, 139923753590720, 0, 94235506534880,
140731808116064, -1795998269952406876, -1795983638362240348},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0},
data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#9 0x00007f4291eb988f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
---Type <return> to continue, or q <return> to quit---
No locals.
Thread 4 (Thread 0x7f428aa10700 (LWP 7528)):
#0 0x00007f4291eacbf9 in __GI___poll (fds=fds@entry=0x7f428aa0fc90,
nfds=nfds@entry=4, timeout=timeout@entry=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
resultvar = 18446744073709551100
sc_cancel_oldtype = 0
sc_ret = <optimized out>
#1 0x00007f428ce1f4ce in poll (__timeout=-1, __nfds=4, __fds=0x7f428aa0fc90)
at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
No locals.
#2 receiver (this=0x55b4e9e3ae10, packet=0x7f428aa0fd78)
at socket_default_socket.c:263
buffer = 0x7f428aa0d4c0 ""
data = <optimized out>
pkt = <optimized out>
source = 0x0
dest = 0x0
i = <optimized out>
rr = <optimized out>
index = <optimized out>
bytes_read = 0
---Type <return> to continue, or q <return> to quit---
selected = -1
oldstate = false
port = 0
pfd = {{fd = 11, events = 1, revents = 0}, {fd = 12, events = 1,
revents = 0}, {fd = 9, events = 1, revents = 0}, {fd = 10,
events = 1, revents = 0}}
ports = {60702, 60568, 60702, 60568}
#3 0x00007f42923d1909 in receiver (this=0x55b4e9deecc0, packet=0x7f428aa0fd78)
at network/socket_manager.c:71
status = <optimized out>
packet = 0x7f428aa0fd78
this = 0x55b4e9deecc0
status = <optimized out>
status = <optimized out>
#4 0x00007f42923d07c4 in receive_packets (this=0x55b4e9dfc8f0)
at network/receiver.c:425
id = <optimized out>
packet = 0x7f427c0027c0
message = <optimized out>
src = <optimized out>
dst = <optimized out>
status = <optimized out>
supported = true
---Type <return> to continue, or q <return> to quit---
data = <optimized out>
marker = {ptr = 0x7f428aa0fd84 "", len = 4}
#5 0x00007f4292670c72 in execute (this=<optimized out>)
at processing/jobs/callback_job.c:77
No locals.
#6 0x00007f42926715a6 in process_job (worker=0x55b4e9e449d0,
this=0x55b4e9deda70) at processing/processor.c:235
to_destroy = 0x0
requeue = <optimized out>
to_destroy = <optimized out>
requeue = <optimized out>
#7 process_jobs (worker=0x55b4e9e449d0) at processing/processor.c:321
this = 0x55b4e9deda70
#8 0x00007f42926836bb in thread_main (this=0x55b4e9e46470)
at threading/thread.c:331
__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {3,
1843738438814485156, 139923770376128, 0, 94235506533488,
140731808116064, -1796000470078764380, -1795983493951698268},
__mask_was_saved = 0}}, __pad = {0x7f428aa0ff10, 0x0, 0x0, 0x0}}
__cancel_routine = 0x7f4292683900 <thread_cleanup>
__cancel_arg = 0x55b4e9e46470
__not_first_call = <optimized out>
res = <optimized out>
---Type <return> to continue, or q <return> to quit---
#9 0x00007f42921906db in start_thread (arg=0x7f428aa10700)
at pthread_create.c:463
pd = 0x7f428aa10700
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139923770377984,
1843738438814485156, 139923770376128, 0, 94235506533488,
140731808116064, -1796000470049404252, -1795983638362240348},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0},
data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#10 0x00007f4291eb988f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
Thread 3 (Thread 0x7f428c213700 (LWP 7525)):
#0 0x00007f4292196ed9 in futex_reltimed_wait_cancelable (
private=<optimized out>, reltime=0x7f428c212c70, expected=0,
futex_word=0x55b4e9defe5c)
at ../sysdeps/unix/sysv/linux/futex-internal.h:142
__ret = -516
oldtype = 0
err = <optimized out>
oldtype = <optimized out>
---Type <return> to continue, or q <return> to quit---
err = <optimized out>
__ret = <optimized out>
resultvar = <optimized out>
__arg4 = <optimized out>
__arg3 = <optimized out>
__arg2 = <optimized out>
__arg1 = <optimized out>
_a4 = <optimized out>
_a3 = <optimized out>
_a2 = <optimized out>
_a1 = <optimized out>
#1 __pthread_cond_wait_common (abstime=0x7f428c212d20, mutex=0x55b4e9dfb698,
cond=0x55b4e9defe30) at pthread_cond_wait.c:533
rt = {tv_sec = 13, tv_nsec = 721736377}
spin = 0
buffer = {__routine = 0x7f4292196690 <__condvar_cleanup_waiting>,
__arg = 0x7f428c212ca0, __canceltype = -371271056, __prev = 0x0}
cbuffer = {wseq = 27, cond = 0x55b4e9defe30, mutex = 0x55b4e9dfb698,
private = 0}
err = <optimized out>
g = 1
flags = <optimized out>
g1_start = <optimized out>
---Type <return> to continue, or q <return> to quit---
maxspin = 0
signals = <optimized out>
result = 0
wseq = <optimized out>
seq = 13
private = <optimized out>
maxspin = <optimized out>
err = <optimized out>
result = <optimized out>
wseq = <optimized out>
g = <optimized out>
seq = <optimized out>
flags = <optimized out>
private = <optimized out>
signals = <optimized out>
g1_start = <optimized out>
spin = <optimized out>
buffer = <optimized out>
cbuffer = <optimized out>
rt = <optimized out>
s = <optimized out>
#2 __pthread_cond_timedwait (cond=cond@entry=0x55b4e9defe30,
mutex=mutex@entry=0x55b4e9dfb698, abstime=abstime@entry=0x7f428c212d20)
---Type <return> to continue, or q <return> to quit---
at pthread_cond_wait.c:667
No locals.
#3 0x00007f4292683fdd in timed_wait_abs (this=0x55b4e9defe00,
mutex=0x55b4e9dfb680, time=...) at threading/mutex.c:270
ts = {tv_sec = 1718, tv_nsec = 77435000}
timed_out = <optimized out>
#4 0x00007f4292671caf in schedule (this=0x55b4e9dfb8d0)
at processing/scheduler.c:218
now = {tv_sec = 13, tv_usec = 721738}
event = <optimized out>
timed = true
oldstate = false
#5 0x00007f4292670c72 in execute (this=<optimized out>)
at processing/jobs/callback_job.c:77
No locals.
#6 0x00007f42926715a6 in process_job (worker=0x55b4e9e42af0,
this=0x55b4e9deda70) at processing/processor.c:235
to_destroy = 0x0
requeue = <optimized out>
to_destroy = <optimized out>
requeue = <optimized out>
#7 process_jobs (worker=0x55b4e9e42af0) at processing/processor.c:321
this = 0x55b4e9deda70
---Type <return> to continue, or q <return> to quit---
#8 0x00007f42926836bb in thread_main (this=0x55b4e9e3bf30)
at threading/thread.c:331
__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {2,
1843738438814485156, 139923795554240, 0, 94235506491184,
140731808116064, -1795988381356438876, -1795983493951698268},
__mask_was_saved = 0}}, __pad = {0x7f428c212f10, 0x0, 0x0, 0x0}}
__cancel_routine = 0x7f4292683900 <thread_cleanup>
__cancel_arg = 0x55b4e9e3bf30
__not_first_call = <optimized out>
res = <optimized out>
#9 0x00007f42921906db in start_thread (arg=0x7f428c213700)
at pthread_create.c:463
pd = 0x7f428c213700
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139923795556096,
1843738438814485156, 139923795554240, 0, 94235506491184,
140731808116064, -1795988381327078748, -1795983638362240348},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0},
data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#10 0x00007f4291eb988f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
---Type <return> to continue, or q <return> to quit---
Thread 2 (Thread 0x7f428ca14700 (LWP 7524)):
#0 0x00007f4291eacbf9 in __GI___poll (fds=fds@entry=0x7f428ca13d20,
nfds=nfds@entry=3, timeout=timeout@entry=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
resultvar = 18446744073709551100
sc_cancel_oldtype = 0
sc_ret = <optimized out>
#1 0x00007f42926725a3 in poll (__timeout=-1, __nfds=3, __fds=0x7f428ca13d20)
at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
No locals.
#2 watch (this=0x55b4e9df0080) at processing/watcher.c:397
revents = <optimized out>
buf = "u"
old = false
len = <optimized out>
job = 0x0
entry = <optimized out>
pfd = 0x7f428ca13d20
count = <optimized out>
res = <optimized out>
rebuild = false
#3 0x00007f4292670c72 in execute (this=<optimized out>)
---Type <return> to continue, or q <return> to quit---
at processing/jobs/callback_job.c:77
No locals.
#4 0x00007f42926715a6 in process_job (worker=0x55b4e9e3a0c0,
this=0x55b4e9deda70) at processing/processor.c:235
to_destroy = 0x0
requeue = <optimized out>
to_destroy = <optimized out>
requeue = <optimized out>
#5 process_jobs (worker=0x55b4e9e3a0c0) at processing/processor.c:321
this = 0x55b4e9deda70
#6 0x00007f42926836bb in thread_main (this=0x55b4e9e3cbe0)
at threading/thread.c:331
__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {1,
1843738438814485156, 139923803946944, 0, 94235506494432,
140731808116064, -1795987282381682012, -1795983493951698268},
__mask_was_saved = 0}}, __pad = {0x7f428ca13f10, 0x0, 0x0, 0x0}}
__cancel_routine = 0x7f4292683900 <thread_cleanup>
__cancel_arg = 0x55b4e9e3cbe0
__not_first_call = <optimized out>
res = <optimized out>
#7 0x00007f42921906db in start_thread (arg=0x7f428ca14700)
at pthread_create.c:463
pd = 0x7f428ca14700
---Type <return> to continue, or q <return> to quit---
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139923803948800,
1843738438814485156, 139923803946944, 0, 94235506494432,
140731808116064, -1795987282352321884, -1795983638362240348},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0},
data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#8 0x00007f4291eb988f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
Thread 1 (Thread 0x7f4292aa7740 (LWP 7523)):
#0 __pthread_rwlock_wrlock_full (abstime=0x0, rwlock=0x55b4e9e28200)
at pthread_rwlock_common.c:915
may_share_futex_used_flag = <optimized out>
wpf = 3923932624
ready = false
r = <optimized out>
may_share_futex_used_flag = <optimized out>
r = <optimized out>
wpf = <optimized out>
ready = <optimized out>
__value = <optimized out>
---Type <return> to continue, or q <return> to quit---
prefer_writer = <optimized out>
private = <optimized out>
wf = <optimized out>
err = <optimized out>
w = <optimized out>
w = <optimized out>
private = <optimized out>
err = <optimized out>
w = <optimized out>
wf = <optimized out>
wf = <optimized out>
__value = <optimized out>
#1 __GI___pthread_rwlock_wrlock (rwlock=0x55b4e9e28200)
at pthread_rwlock_wrlock.c:27
result = <optimized out>
#2 0x00007f428ea9f7c9 in CRYPTO_THREAD_write_lock ()
from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#3 0x00007f428ea6ea83 in RAND_get_rand_method ()
from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#4 0x00007f428ea6eca0 in RAND_bytes ()
from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#5 0x00007f428ed7e70c in get_bytes (this=<optimized out>,
bytes=<optimized out>, buffer=<optimized out>) at openssl_rng.c:52
No locals.
#6 0x00007f42923c8037 in encrypt_content (
label=label@entry=0x7f42924132d8 "encrypted payload", aead=0x7f426c003e70,
mid=mid@entry=21474836480, plain=..., assoc=...,
encrypted=encrypted@entry=0x55b4e9dfa930)
at encoding/payloads/encrypted_payload.c:477
iv = {ptr = 0x55b4e9e11700 "\200\020\341\351\264U", len = 16}
padding = {ptr = 0x55b4e9e11718 "P\302\337\351\264U", len = 8}
icv = {ptr = 0x55b4e9e11720 "", len = 16}
crypt = {ptr = 0x55b4e9e11710 "", len = 16}
iv_gen = 0x7f426c002b40
rng = 0x55b4e9e110c0
bs = <optimized out>
#7 0x00007f42923c83e7 in encrypt (this=0x55b4e9dfa8a0, mid=21474836480,
assoc=...) at encoding/payloads/encrypted_payload.c:522
generator = 0x55b4e9e14640
plain = <optimized out>
status = <optimized out>
#8 0x00007f42923c0b92 in finalize_message (this=this@entry=0x55b4e9df8f30,
keymat=keymat@entry=0x7f42680014f0, generator=0x55b4e9e146a0,
---Type <return> to continue, or q <return> to quit---
encrypted=0x55b4e9dfa8a0) at encoding/message.c:1817
keymat_v1 = 0x7f42680014f0
chunk = {
ptr = 0x55b4e9df9aa0 "\033\",S\303uί\022\064/`\205w\273U. %\b",
len = 28}
lenpos = 0x55b4e9df9ab8
#9 0x00007f42923c3155 in generate (this=0x55b4e9df8f30,
keymat=0x7f42680014f0, packet=0x7ffead6e6fb0) at encoding/message.c:1861
generator = 0x55b4e9e146a0
encrypted = 0x55b4e9dfa8a0
status = <optimized out>
#10 0x00007f42923d9cdc in generate_message (this=0x7f4268000d50,
message=0x55b4e9df8f30, packet=0x7ffead6e6fb0) at sa/ike_sa.c:1189
status = <optimized out>
packet = 0x7ffead6e6fb0
message = 0x55b4e9df8f30
this = 0x7f4268000d50
status = <optimized out>
status = <optimized out>
#11 0x00007f42923d9e51 in generate_message_fragmented (this=0x7f4268000d50,
message=0x55b4e9df8f30, packets=0x7ffead6e6ff8) at sa/ike_sa.c:1247
fragments = 0x7f42923b7b30 <log_>
packet = 0x7f42923b7b30 <log_>
---Type <return> to continue, or q <return> to quit---
status = <optimized out>
use_frags = <optimized out>
pre_generated = false
#12 0x00007f42923e7d51 in generate_message (
message=message@entry=0x55b4e9df8f30,
packets=packets@entry=0x7f4268001708, this=<optimized out>)
at sa/ikev2/task_manager_v2.c:314
fragments = 0x7f4268001620
fragment = 0x55b4e9df8f30
#13 0x00007f42923e8373 in initiate (this=0x7f4268001620)
at sa/ikev2/task_manager_v2.c:672
enumerator = 0x55b4e9e110f0
message = 0x55b4e9df8f30
me = 0x7f4268002340
task = 0x55b4e9e3c180
other = 0x7f42680017d0
this = 0x7f4268001620
enumerator = <optimized out>
message = <optimized out>
me = <optimized out>
task = <optimized out>
other = <optimized out>
exchange = <optimized out>
---Type <return> to continue, or q <return> to quit---
enumerator = <optimized out>
task = <optimized out>
message = <optimized out>
me = <optimized out>
other = <optimized out>
#14 0x00007f42923d80ba in delete_ (this=0x7f4268000d50, force=<optimized out>)
at sa/ike_sa.c:1812
status = DESTROY_ME
#15 0x00007f42923e022d in flush (this=0x55b4e9df8370)
at sa/ike_sa_manager.c:2269
enumerator = 0x55b4e9e11260
entry = 0x7f4268003720
segment = 0
#16 0x00007f42923bf0fe in destroy (this=0x55b4e9df09b0) at daemon.c:703
No locals.
#17 libcharon_deinit () at daemon.c:970
this = 0x55b4e9df09b0
#18 0x00007f4291ddb041 in __run_exit_handlers (status=0,
listp=0x7f4292183718 <__exit_funcs>,
run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true)
at exit.c:108
atfct = <optimized out>
onfct = <optimized out>
---Type <return> to continue, or q <return> to quit---
cxafct = <optimized out>
f = <optimized out>
new_exitfn_called = 6
cur = 0x7f4292184d80 <initial>
#19 0x00007f4291ddb13a in __GI_exit (status=<optimized out>) at exit.c:139
No locals.
#20 0x00007f4291db9b9e in __libc_start_main (main=0x55b4e8e65030 <main>,
argc=9, argv=0x7ffead6e7268, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7ffead6e7258)
at ../csu/libc-start.c:344
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -5548549521100420444,
94235489883520, 140731808117344, 0, 0, -1843348236679165276,
-1795979812454839644}, mask_was_saved = 0}}, priv = {pad = {
0x0, 0x0, 0x7f42928b6733 <_dl_init+259>, 0x7f4292633958},
data = {prev = 0x0, cleanup = 0x0, canceltype = -1836357837}}}
not_first_call = <optimized out>
#21 0x000055b4e8e655aa in _start ()
No symbol table info available.
#3 Updated by Tobias Brunner almost 7 years ago
- Subject changed from charon_cmd does not terminate after SIGINT to charon_cmd does not terminate after SIGINT when using OpenSSL 1.1
- Assignee set to Tobias Brunner
- Target version set to 5.7.2
If you are using OpenSSL 1.1 it might be similar to the bug fixed with commit:cbe9e575eef5 for charon-systemd. I pushed a fix for this to the 2849-charon-cmd-deinit branch.
#4 Updated by Rainer Urian almost 7 years ago
Just tested. Fix seems to work.
Thank you very much!
Rainer
#5 Updated by Tobias Brunner almost 7 years ago
Thanks for testing. Will be included in the next release.
#6 Updated by Tobias Brunner almost 7 years ago
- Status changed from Feedback to Closed
- Resolution set to Fixed