| Message ID | 20200722095446.25141-1-davids@openvpn.net |
|---|---|
| State | Rejected |
| Headers |
Return-Path: <openvpn-devel-bounces@lists.sourceforge.net> Delivered-To: patchwork@openvpn.net Delivered-To: patchwork@openvpn.net Received: from director12.mail.ord1d.rsapps.net ([172.28.255.1]) by backend30.mail.ord1d.rsapps.net with LMTP id iCh7HzsNGF9nEgAAIUCqbw for <patchwork@openvpn.net>; Wed, 22 Jul 2020 05:56:11 -0400 Received: from proxy9.mail.ord1c.rsapps.net ([172.28.255.1]) by director12.mail.ord1d.rsapps.net with LMTP id KAluHzsNGF+cZAAAIasKDg ; Wed, 22 Jul 2020 05:56:11 -0400 Received: from smtp23.gate.ord1c ([172.28.255.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by proxy9.mail.ord1c.rsapps.net with LMTP id 8KodHzsNGF8bYwAAgxtkuw ; Wed, 22 Jul 2020 05:56:11 -0400 X-Spam-Threshold: 95 X-Spam-Score: 0 X-Spam-Flag: NO X-Virus-Scanned: OK X-Orig-To: openvpnslackdevel@openvpn.net X-Originating-Ip: [216.105.38.7] Authentication-Results: smtp23.gate.ord1c.rsapps.net; iprev=pass policy.iprev="216.105.38.7"; spf=pass smtp.mailfrom="openvpn-devel-bounces@lists.sourceforge.net" smtp.helo="lists.sourceforge.net"; dkim=fail (signature verification failed) header.d=sourceforge.net; dkim=fail (signature verification failed) header.d=sf.net; dmarc=fail (p=none; dis=none) header.from=openvpn.net X-Suspicious-Flag: YES X-Classification-ID: 922c439e-cc01-11ea-9da7-b8ca3a678528-1-1 Received: from [216.105.38.7] ([216.105.38.7:34690] helo=lists.sourceforge.net) by smtp23.gate.ord1c.rsapps.net (envelope-from <openvpn-devel-bounces@lists.sourceforge.net>) (ecelerity 4.2.38.62370 r(:)) with ESMTPS (cipher=DHE-RSA-AES256-GCM-SHA384) id C3/CD-20773-B3D081F5; Wed, 22 Jul 2020 05:56:11 -0400 Received: from [127.0.0.1] (helo=sfs-ml-4.v29.lw.sourceforge.com) by sfs-ml-4.v29.lw.sourceforge.com with esmtp (Exim 4.90_1) (envelope-from <openvpn-devel-bounces@lists.sourceforge.net>) id 1jyBT7-0004IZ-Mk; Wed, 22 Jul 2020 09:55:21 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-4.v29.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from <openvpn@sf.lists.topphemmelig.net>) id 1jyBT6-0004IO-Bu for openvpn-devel@lists.sourceforge.net; Wed, 22 Jul 2020 09:55:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:Message-Id: Date:Subject:To:From:Sender:Reply-To:Cc:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=rIoWPmbZh8JjLhgamAKDy4PiHCY48wrlVF4of48ZiMc=; b=cphd0bvFami/iwx5Z2BOlmzaix 0fevkTX7qKeVqmTBR/kbuQQoerihdtsv4LRTwTVu0Kwg02muF7Q3eMNskzvokvyfclv58JNKiY+/+ PXQiz8dng+uZ1Y6Usz/nwyjoUsLzG+w6VqhBL5XUDDHsJGqclcN7YGtRbq4Z1Fcr0DXg=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:To:From: Sender:Reply-To:Cc:Content-Type:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=rIoWPmbZh8JjLhgamAKDy4PiHCY48wrlVF4of48ZiMc=; b=I 71ZV1kuJfpao3PW5y8twA/OcNq4jI8bvUz0V9gVrS8YIyOlarl9/6+Pz2EIXWCeSgxnHjmDQC7NfC nM7pNnjRQXJFg0HdXdQCvvN9IMCP9uPULOy20YYWoCsBa8z04C4j2J6oma2uMIcw9KP0+OtNMnd8Z ODkcGOIS5uNOa6S4=; Received: from mx0.basenordic.cloud ([185.212.44.139]) by sfi-mx-3.v28.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92.2) id 1jyBT4-00DKwu-7l for openvpn-devel@lists.sourceforge.net; Wed, 22 Jul 2020 09:55:20 +0000 Received: from localhost (unknown [IPv6:::1]) by mx0.basenordic.cloud (Postfix) with ESMTP id 30A1D82D95A for <openvpn-devel@lists.sourceforge.net>; Wed, 22 Jul 2020 09:54:56 +0000 (UTC) Received: from mx0.basenordic.cloud ([IPv6:::1]) by localhost (winterfell.topphemmelig.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id lJwMj_Cd5suT for <openvpn-devel@lists.sourceforge.net>; Wed, 22 Jul 2020 11:54:51 +0200 (CEST) Received: from zimbra.sommerseth.email (zimbra.sommerseth.email [172.16.33.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx0.basenordic.cloud (Postfix) with ESMTPS id AA2DB82CED9 for <openvpn-devel@lists.sourceforge.net>; Wed, 22 Jul 2020 11:54:51 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by zimbra.sommerseth.email (Postfix) with ESMTP id A443D40202B8 for <openvpn-devel@lists.sourceforge.net>; Wed, 22 Jul 2020 11:54:50 +0200 (CEST) Received: from zimbra.sommerseth.email ([127.0.0.1]) by localhost (zimbra.sommerseth.email [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 0zb4xqThaFft for <openvpn-devel@lists.sourceforge.net>; Wed, 22 Jul 2020 11:54:50 +0200 (CEST) Received: from optimus.homebase.sommerseths.net (unknown [10.35.7.3]) by zimbra.sommerseth.email (Postfix) with ESMTPS id CD09040202A4 for <openvpn-devel@lists.sourceforge.net>; Wed, 22 Jul 2020 11:54:49 +0200 (CEST) From: David Sommerseth <davids@openvpn.net> To: openvpn-devel@lists.sourceforge.net Date: Wed, 22 Jul 2020 11:54:46 +0200 Message-Id: <20200722095446.25141-1-davids@openvpn.net> X-Mailer: git-send-email 2.26.0 MIME-Version: 1.0 X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: openvpn.net] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different -0.0 SPF_PASS SPF: sender matches SPF record X-Headers-End: 1jyBT4-00DKwu-7l Subject: [Openvpn-devel] [PATCH] options: Remove --udp-mtu X-BeenThere: openvpn-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: <openvpn-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/options/openvpn-devel>, <mailto:openvpn-devel-request@lists.sourceforge.net?subject=unsubscribe> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=openvpn-devel> List-Post: <mailto:openvpn-devel@lists.sourceforge.net> List-Help: <mailto:openvpn-devel-request@lists.sourceforge.net?subject=help> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/openvpn-devel>, <mailto:openvpn-devel-request@lists.sourceforge.net?subject=subscribe> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox |
| Series |
[Openvpn-devel] options: Remove --udp-mtu
|
|
Commit Message
David Sommerseth
July 21, 2020, 11:54 p.m. UTC
Before --link-mtu, it was --udp-mtu. This was changed in
OpenVPN 1.5_beta1 (release July 2003). It should be safe now
to remove --udp-mtu, the transition period should have been long
enough.
Signed-off-by: David Sommerseth <davids@openvpn.net>
---
src/openvpn/options.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Comments
Am 22.07.20 um 11:54 schrieb David Sommerseth: > Before --link-mtu, it was --udp-mtu. This was changed in > OpenVPN 1.5_beta1 (release July 2003). It should be safe now > to remove --udp-mtu, the transition period should have been long > enough. > > Signed-off-by: David Sommerseth <davids@openvpn.net> > --- > src/openvpn/options.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/src/openvpn/options.c b/src/openvpn/options.c > index b1962ca4..3ebf033d 100644 > --- a/src/openvpn/options.c > +++ b/src/openvpn/options.c > @@ -3645,7 +3645,6 @@ calc_options_string_link_mtu(const struct options *o, const struct frame *frame) > * --dev tun|tap [unit number need not match] > * --dev-type tun|tap > * --link-mtu > - * --udp-mtu > * --tun-mtu > * --proto udp > * --proto tcp-client [matched with --proto tcp-server > @@ -6007,7 +6006,7 @@ add_option(struct options *options, > goto err; > } > } > - else if ((streq(p[0], "link-mtu") || streq(p[0], "udp-mtu")) && p[1] && !p[2]) > + else if (streq(p[0], "link-mtu") && p[1] && !p[2]) > { > VERIFY_PERMISSION(OPT_P_MTU|OPT_P_CONNECTION); > options->ce.link_mtu = positive_atoi(p[1]); > I close to sending a NAK to this. Normally we just don't outright remove options but rather warn for a version or two. But adding the warning code here and later removing the option just to remove the complexity of '|| streq(p[0], "udp-mtu"'? I don't see a compelling reason to remove alias option. Normally we deprecate options because they - are considered harmful in some way (no-iv) - complicate the code without a clear gain - are replaced by a better mechanism and the old option does not trivally translate to the new option. - are features that we do no longer want to maintain and to remove them to decrease complexity (--enable-client-only) But with alias I feel we just removing them because we found a newer nicer name and as a user (especially another dev) removing an alias feels like they are removed because of pride/principle that since they are old they must be go away. I cannot came up with any other compelling reason why we need to remove them. And as much as I want to have old options gone as well, if my only reason is pride/they are old then I have to say that they should stay while the option they alias also stays. Arne
On 22/07/2020 14:01, Arne Schwabe wrote: > Am 22.07.20 um 11:54 schrieb David Sommerseth: >> Before --link-mtu, it was --udp-mtu. This was changed in >> OpenVPN 1.5_beta1 (release July 2003). It should be safe now >> to remove --udp-mtu, the transition period should have been long >> enough. >> >> Signed-off-by: David Sommerseth <davids@openvpn.net> >> --- >> src/openvpn/options.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) [...snip...] > > I close to sending a NAK to this. Normally we just don't outright remove > options but rather warn for a version or two. But adding the warning > code here and later removing the option just to remove the complexity of > '|| streq(p[0], "udp-mtu"'? I don't follow your logic, really. But I won't fight this much. My reasons for removing this so easily are: - This option has not been in any documentation since OpenVPN 2.0_beta, released in November 2004. - It got superseded by --link-mtu in OpenVPN 1.5_beta1 (July 2003) I would really like to see that configuration file being in active use on a system today. OpenVPN 1.x generation was plain P2P mode capable, OpenVPN 2.0 was the first release enabling multiple clients to the same server process. > I don't see a compelling reason to remove alias option. Normally we > deprecate options because they > > - are considered harmful in some way (no-iv) > - complicate the code without a clear gain > - are replaced by a better mechanism and the old option does not > trivally translate to the new option. > - are features that we do no longer want to maintain and to remove them > to decrease complexity (--enable-client-only) That is right. And all of that falls into the category of "code creep", where the code grows and requires maintenance. But I see this from the angle of "option creep", where we add options and never really clean up. Which is why we have started to deprecate options. Deprecating options due to code creep is one aspect. But never clean up options which has been deprecated or superseded in one way or another is, in my view, equally bad to not removing "code creep". I do agree we normally would have a deprecation process going for all options. But the --udp-mtu option falls into a very special category; being deprecated almost 17 years ago and being removed from the documentation almost 16 years ago + being superceded in an OpenVPN release generation which introduced TCP support - all of this more than 16 years ago. Over the years I have also criticized introduction of new options, trying to reuse existing options as much as possible and not introduce new ones without a good reason [0]. Our options.c file tackles close to 300 options [1]; where we have documented 275 of them in our man page. This is also not good, from a user's perspective. We might need a lot of options to handle the flexibility of OpenVPN. But we should really strive to not have overlapping options active for too long, as that is just driving things more complex for the users - without good reason. And we certainly should avoid having multiple options doing exactly the same thing; this is acceptable to me only in a transition phase where we move to a better construct. [0] For example, I questioned why we needed --tls-crypt-v2 instead of reusing --tls-crypt [1] $ git grep 'streq(p\[0\],' -- src/openvpn/options.c | wc -l [2] $ git grep -E "^--\w+" -- doc/man-sections/*.rst | wc -l > But with alias I feel we just removing them because we found a newer > nicer name and as a user (especially another dev) removing an alias > feels like they are removed because of pride/principle that since they > are old they must be go away. This is really not my motivation, I do reject this sentiment and implicitly pointing it like that towards me. Lets keep the discussion on the technical side, not imply anything on the personal side. What I do believe in is our role of maintaining this project. Which means we need to clean up. Some clean-ups are big. Some are small. This patch is a small one. Some times we keep options, some times we kick some out, some times we migrate them to better alternatives.
> > >> But with alias I feel we just removing them because we found a newer >> nicer name and as a user (especially another dev) removing an alias >> feels like they are removed because of pride/principle that since they >> are old they must be go away. > > This is really not my motivation, I do reject this sentiment and implicitly > pointing it like that towards me. Lets keep the discussion on the technical > side, not imply anything on the personal side. Sorry, this was not meant to be on a personal level. I was more in the idea commenting that it might looks like that this being the main motivation since I find the other reasons not convincing. And external people external who will look it up and find the only reason in the git log that we added this alias 17 years ago and now remove it because it is old might get exactly the same sentiment. > What I do believe in is our role of maintaining this project. Which means we > need to clean up. Some clean-ups are big. Some are small. This patch is a > small one. Some times we keep options, some times we kick some out, some > times we migrate them to better alternatives. Yes. I would argue that here the benefit of keeping the option is small but the benefit of cleaning up is even smaller, so it should stay. Arne
diff --git a/src/openvpn/options.c b/src/openvpn/options.c index b1962ca4..3ebf033d 100644 --- a/src/openvpn/options.c +++ b/src/openvpn/options.c @@ -3645,7 +3645,6 @@ calc_options_string_link_mtu(const struct options *o, const struct frame *frame) * --dev tun|tap [unit number need not match] * --dev-type tun|tap * --link-mtu - * --udp-mtu * --tun-mtu * --proto udp * --proto tcp-client [matched with --proto tcp-server @@ -6007,7 +6006,7 @@ add_option(struct options *options, goto err; } } - else if ((streq(p[0], "link-mtu") || streq(p[0], "udp-mtu")) && p[1] && !p[2]) + else if (streq(p[0], "link-mtu") && p[1] && !p[2]) { VERIFY_PERMISSION(OPT_P_MTU|OPT_P_CONNECTION); options->ce.link_mtu = positive_atoi(p[1]);