From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH] OpenVPN: Delete RRD dir if connection is deleted
Date: Thu, 23 Apr 2020 21:03:00 +0100 [thread overview]
Message-ID: <3C82876E-084B-49D2-8AB7-9CF0B9A44AAD@ipfire.org> (raw)
In-Reply-To: <f6d3288c8ddd7be505d3f2c50e9680b104b263a0.camel@ipfire.org>
[-- Attachment #1: Type: text/plain, Size: 6354 bytes --]
Hi,
So where are we on this issue?
Is the patch ready to be accepted?
How do we delete the files that should already have been deleted?
-Michael
> On 11 Apr 2020, at 13:52, ummeegge <ummeegge(a)ipfire.org> wrote:
>
> Hi Michael,
>
> Am Samstag, den 11.04.2020, 13:24 +0100 schrieb Michael Tremer:
>> Hi,
>>
>>> On 11 Apr 2020, at 12:59, ummeegge <ummeegge(a)ipfire.org> wrote:
>>>
>>> Hi Michael,
>>>
>>> Am Samstag, den 11.04.2020, 11:46 +0100 schrieb Michael Tremer:
>>>> Hi,
>>>>
>>>> This is a good find.
>>>>
>>>> Did you have a connection that had a space in the common name?
>>>> Potentially it is that.
>>>
>>> No, the connections doesn´t have spaces.
>>>
>>>>
>>>> Changing the code to use the common name should be trivial. Maybe
>>>> just try printing the path it is trying to delete. Are the files
>>>> maybe not accessible by “nobody”?
>>>
>>> They are pretty much all root:root . If i change the permissions to
>>> nobody:nobdy i can delete all of them (by deleting X509) via a
>>>
>>> @@ -1288,6 +1277,9 @@
>>> while ($file = glob("${General::swroot}/ovpn/n2nconf/*")) {
>>> system ("rm -rf $file");
>>> }
>>> + while ($file = glob("/var/log/rrd/collectd/localhost/openvpn-
>>> *")) {
>>> + system ("rm -rf $file");
>>> + }
>>>
>>> which would spare this code -->
>>>
> https://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff;h=e1297cbb7659618c526fdc1ab07e97f57f55fd78
>>> . Haven´t checked that yet for the deletion of only one
>>> connection...
>>
>> If they belong to root, the web UI won’t have permissions to delete
>> them.
> Have changed the permissions via chown -R and tried to delete then via
> single connection but also via X509 deletion (deleting all) with no
> luck.
> Nevertheless, the RRD creation should chown then openvpn-* directories
> too which it currently do not.
>
>>
>> That is something we will have to handle in openvpnctrl then.
> Yes.
>
>>
>>> Might it be possible that openvpnctrl handles there something
>>> incorrect ?
>>
>> Is there any code to handle it? And if so, why is the CGI calling
>> “rm”?
> It is held in the already existing coding style -->
> https://git.ipfire.org/?p=ipfire-2.x.git;a=blob;f=html/cgi-bin/ovpnmain.cgi;h=e76a688fe7dcda0b77bf716eb2538342cd775b00;hb=refs/heads/core142#l1231
> which should prevent the rmdir/unlink part for every connection i think.
>
>
> Best,
>
>
> Erik
>
>
>>
>>
>> -Michael
>>
>>>
>>> Best,
>>>
>>>
>>> Erik
>>>
>>>>
>>>> -Michael
>>>>
>>>>> On 11 Apr 2020, at 09:06, ummeegge <ummeegge(a)ipfire.org> wrote:
>>>>>
>>>>> Hi all,
>>>>> this patch does only works if the common name is the same then
>>>>> the
>>>>> connection name. Have encountered that the rrd creation for
>>>>> OpenVPN
>>>>> uses the common name of the certificate not the connection name
>>>>> -->
>>>>>
>>>>> # root @ ipfire-server in /var/log/rrd/collectd/localhost
>>>>> [8:34:50]
>>>>> $ ls
>>>>> cpu-0 disk-loop0 iptables-filter-
>>>>> PSCAN processes-charon processes-spamd
>>>>> cpu-1 disk-
>>>>> sda load processes-
>>>>> java processes-squid
>>>>> cpu-
>>>>> 2 entropy memory proces
>>>>> ses-
>>>>> mpd processes-squidguard
>>>>> cpu-3 interface openvpn-
>>>>> rwonecert processes-nmbd processes-sshd
>>>>> cpufreq iptables-filter-NEWNOTSYN openvpn-
>>>>> rwtwocert processes-openvpn sensors-coretemp-isa-0000
>>>>> disk-dm-0 iptables-filter-
>>>>> POLICYFWD ping processes-qemu sensors-
>>>>> f71869-isa-0290
>>>>> disk-dm-1 iptables-filter-
>>>>> POLICYIN processes processes-rtorrent swap
>>>>> disk-dm-2 iptables-filter-POLICYOUT processes-
>>>>> asterisk processes-smbd
>>>>>
>>>>> $ cat /var/ipfire/ovpn/ovpnconfig
>>>>> 1,on,rwonename,rwonecert,host,cert,,,,,,,,,,,,,,,,,,,,,,,,,,,,d
>>>>> ynam
>>>>> ic
>>>>> 2,on,rwtwoname,rwtwocert,host,cert,,,,,,,,,,,,,,,,,,,,,,,,,,,,d
>>>>> ynam
>>>>> ic,,,,,,,,,,,
>>>>>
>>>>> strangely enough if i set the element index to [2] it doesn´t
>>>>> work.
>>>>> Currently not sure why that´s happen.
>>>>>
>>>>> It is better to revert this patch.
>>>>>
>>>>> Best,
>>>>>
>>>>> Erik
>>>>>
>>>>> Am Samstag, den 28.03.2020, 10:45 +0100 schrieb ummeegge:
>>>>>> Hi Peter,
>>>>>>
>>>>>> Am Samstag, den 28.03.2020, 09:25 +0000 schrieb Peter Müller:
>>>>>>> Reviewed-by: Peter Müller <peter.mueller(a)ipfire.org>
>>>>>>>
>>>>>>> In my opinion, this fixes #11713.
>>>>>>
>>>>>> Haven´t seen that one, yes i think so.
>>>>>> Have found another one in here -->
>>>>>>
>>>>>
>>>>>
>>>
>>>
> https://git.ipfire.org/?p=ipfire-2.x.git;a=blob;f=html/cgi-bin/ovpnmain.cgi;h=e76a688fe7dcda0b77bf716eb2538342cd775b00;hb=HEAD#l1224
>>>>>> which can not be solved in this way. Need to have another
>>>>>> look
>>>>>> into
>>>>>> this.
>>>>>> Will send a separate patch then for "delete all RRDs if X509
>>>>>> is
>>>>>> deleted".
>>>>>>
>>>>>> Need a little more time.
>>>>>>
>>>>>> Best,
>>>>>>
>>>>>> Erik
>>>>>>
>>>>>>>
>>>>>>>> Signed-off-by: Erik Kapfer <ummeegge(a)ipfire.org>
>>>>>>>> ---
>>>>>>>> html/cgi-bin/ovpnmain.cgi | 2 +-
>>>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>>>
>>>>>>>> diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-
>>>>>>>> bin/ovpnmain.cgi
>>>>>>>> index ce9524df7..00ecd77a0 100644
>>>>>>>> --- a/html/cgi-bin/ovpnmain.cgi
>>>>>>>> +++ b/html/cgi-bin/ovpnmain.cgi
>>>>>>>> @@ -2513,7 +2513,7 @@ else
>>>>>>>> # CCD end
>>>>>>>> # Update collectd configuration and delete all
>>>>>>>> RRD
>>>>>>>> files of the removed connection
>>>>>>>> &writecollectdconf();
>>>>>>>> - system ("/usr/local/bin/openvpnctrl -drrd
>>>>>>>> $confighash{$cgiparams{'KEY'}}[1]");
>>>>>>>> + system ('/usr/local/bin/openvpnctrl', '-drrd',
>>>>>>>> $confighash{$cgiparams{'KEY'}}[1]);
>>>>>>>>
>>>>>>>> delete $confighash{$cgiparams{'KEY'}};
>>>>>>>> my $temp2 = `/usr/bin/openssl ca -gencrl -out
>>>>>>>> ${General::swroot}/ovpn/crls/cacrl.pem -config
>>>>>>>> ${General::swroot}/ovpn/openssl/ovpn.cnf`;
next prev parent reply other threads:[~2020-04-23 20:03 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-28 8:32 Erik Kapfer
2020-03-28 9:25 ` Peter Müller
2020-03-28 9:45 ` ummeegge
2020-04-11 8:06 ` ummeegge
2020-04-11 10:46 ` Michael Tremer
2020-04-11 11:59 ` ummeegge
2020-04-11 12:24 ` Michael Tremer
2020-04-11 12:52 ` ummeegge
2020-04-23 20:03 ` Michael Tremer [this message]
2020-05-04 14:17 ` ummeegge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3C82876E-084B-49D2-8AB7-9CF0B9A44AAD@ipfire.org \
--to=michael.tremer@ipfire.org \
--cc=development@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox