From: Patrick McHardy <kaber@trash.net>
To: Jan Engelhardt <jengelh@medozas.de>
Cc: netfilter-devel@vger.kernel.org
Subject: Re: [PATCH 10/13] libxt_rateest: avoid optional arguments
Date: Tue, 24 May 2011 14:49:28 +0200 [thread overview]
Message-ID: <4DDBA958.30004@trash.net> (raw)
In-Reply-To: <alpine.LNX.2.01.1105241040260.13058@frira.zrqbmnf.qr>
On 24.05.2011 10:51, Jan Engelhardt wrote:
>
> On Tuesday 2011-05-24 10:14, Patrick McHardy wrote:
>>>> On 23.05.2011 16:39, Jan Engelhardt wrote:
>>>>> Optional arguments make parsing unnecessarily harder - even more so
>>>>> than two-args. Right now, rateest even crashes because of it.
>>>>>
>>>>> static const struct option rateest_opts[] = {
>>> [...]
>>>>> - {.name = "rateest-bps1", .has_arg = false, .val = OPT_RATEEST_BPS1},
>>>>> + {.name = "rateest-bps1", .has_arg = true, .val = OPT_RATEEST_BPS1},
>>> [...]
>>>>
>>>> This appears to be breaking backwards compatibility.
>>>
>>> Admittedly yes, though the fact that this has remained unseen for so
>>> long suggests that the potential user base is very small or not yet
>>> existing.
>>
>> I'm pretty sure this used to work at some point. Let me check history.
>>
>>> In my time with users in IRC, I notice that they in particular prefer
>>> hard stops in parsing over silent upgrades of rules[1], so as to
>>> actually become aware of the change upfront. As such, I believe the
>>> impact is well justified.
>>
>> Well, if it really was broken from the beginning I'm fine of course,
>> but I don't think that's case.
>
> It works half of the time, and fails half of the time because it can
> run - since the beginning - into UB when using argv[optind].
>
> Yes, the fix can be done in many ways, silent update is possible, but
> that is undesirable, as are optional arguments in the first place.
>
Well, not breaking compatibility for the people it used to work for
certainly is desirable. If its not too much trouble, I very much
prefer a soft update and if necessary replacement of the old options
after some warning period.
next prev parent reply other threads:[~2011-05-24 12:50 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-23 14:39 option parsing, run 9 Jan Engelhardt
2011-05-23 14:39 ` [PATCH 01/13] libxtables: retract _NE types and use a flag instead Jan Engelhardt
2011-05-23 14:39 ` [PATCH 02/13] libipt_REDIRECT: "--to-ports" is not mandatory Jan Engelhardt
2011-05-23 14:39 ` [PATCH 03/13] libxt_quota: readd missing XTOPT_PUT request Jan Engelhardt
2011-05-23 14:39 ` [PATCH 04/13] libxt_quota: make sure uint64 is not truncated Jan Engelhardt
2011-05-23 14:39 ` [PATCH 05/13] libxtables: check for negative numbers in xtables_strtou* Jan Engelhardt
2011-05-23 14:39 ` [PATCH 06/13] libxt_rateest: streamline case display of units Jan Engelhardt
2011-05-23 14:39 ` [PATCH 07/13] doc: add some coded option examples to libxt_hashlimit Jan Engelhardt
2011-05-23 14:39 ` [PATCH 08/13] doc: make usage of libxt_rateest more obvious Jan Engelhardt
2011-05-23 14:39 ` [PATCH 09/13] doc: clarify that -p all is a special keyword only Jan Engelhardt
2011-05-23 14:39 ` [PATCH 10/13] libxt_rateest: avoid optional arguments Jan Engelhardt
2011-05-24 6:46 ` Patrick McHardy
2011-05-24 8:03 ` Jan Engelhardt
2011-05-24 8:14 ` Patrick McHardy
2011-05-24 8:51 ` Jan Engelhardt
2011-05-24 12:49 ` Patrick McHardy [this message]
2011-05-23 14:39 ` [PATCH 11/13] libxt_rateest: fix rateest save operation Jan Engelhardt
2011-05-23 14:39 ` [PATCH 12/13] libxt_rateest: use guided option parser Jan Engelhardt
2011-05-23 14:39 ` [PATCH 13/13] libxt_ipvs: restore network-byte order Jan Engelhardt
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=4DDBA958.30004@trash.net \
--to=kaber@trash.net \
--cc=jengelh@medozas.de \
--cc=netfilter-devel@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.