On 02/01/2019 07:35, Samuli Seppänen wrote:
> Hi,
> 
> Il 31/12/18 01:08, David Sommerseth ha scritto:
[...snip...]
>> And IIRC, we managed to get the new unit files into the Debian openvpn 2.4
>> package.  And I just hope that they are updated with whatever we provide in
>> our tarballs; if not - it might be considered broken packaging.  The reason
>> you'll find the b0rken unit files in the upstream Debian packages is to not
>> break old existing installs.  Which is nice, just that it behaves broken
>> regardless.
> 
> And this is exactly the reason I did _not_ remove openvpn.service or
> openvpn@.service from our Ubuntu 18.04 packages.

Okay, I was a bit unclear.  The approach used with openvpn.service and
openvpn@.service are broken by (Debian) design.  Quite many users have
reported that these service files does not work at all.  But I'll admit, I'm
not really up-to-date if these service files have been updated by
distro-packagers later on.

It would be far better to pop up a README file at install/update time saying
"These unit files are gone, use the new ones instead."  The reason is that
_our_ packages are different than Debian's packages, so they shouldn't need to
try to duplicate the Debian packages in every detail.

Secondly, if OpenVPN is built with systemd support there are a few other
surprises some users have reported to me, when not using the unit files which
makes use of the openvpn<->systemd interface in the C code.  We even do some
intercepts related to the --daemon if systemd is detected, where it is
effectively ignoring --daemon (as that is not needed with the new systemd
files).  My memory is blurry here, though.

The alternative is to provide an alternative to openvpn@.service, which does
not add all the client and server specific hardening, automatic restarts, etc,
etc, but ensures the openvpn<->systemd interface is intact.

But for the openvpn.service, there is no alternative to killing it.  It's an
odd approach where it, IIRC, generates new unit files on-the-fly for specific
openvpn configs and then starts them.  I have some vague memories that it
would even overwrite existing unit files.  It is just generally a horrendous
approach, which tries to make the unit (ini) file behave like the old rc init
shell script.  It feels list it tries to build a space rocket out of a
trolley; I'm not saying it's impossible, it's just not pretty and might even
be quite unsafe in many aspects.  Some times it is needed to draw a line and
say: From here we do it differently.

>>
>> So if anyone is in doubt ... UPGRADE to the openvpn-{server,client}@.service
>> unit files ASAP.
> 
> I'll mention this in the README.Debian. I added a short "notes from
> upstream" section there anyways.
> 
> Do you have links to bug reports that would clarify why the old unit
> files are broken? If I'm not mistaken one of the issues was related to
> OpenVPN on Amazon EC2 and status check #2 not passing when an instance
> of openvpn@.service was running.

That's one of the issues.  I've gotten several reports since the v2.4 release,
covering all kind of scenarios as well, the vast majority of those issues
disappeared when switching to our new ones.  I have discussed this many times
on IRC, I know there existed some issues both in Trac and elsewhere - but
right now I don't have a good list of them handy.


-- 
kind regards,

David Sommerseth
OpenVPN Inc


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to