On Fri, Feb 24, 2012 at 10:01 PM, Slade, Zac <zachary.sl...@hp.com> wrote:

> > -----Original Message-----
> > From: Arno van Amersfoort [mailto:arn...@rocky.eld.leidenuniv.nl]
> > Sent: Friday, February 24, 2012 3:33 PM
> > To: Slade, Zac
> > Cc: 658...@bugs.debian.org; julia.long...@gmail.com; Lonnie Abelbeck
> > Subject: Re: arno-iptables-firewall syntax changes
> >
> > Dear Zac,
> >
> > Your assumption is wrong. One can still use the short form
> > "SRC_PORT>INT_IP~INT_PORT". So the only real problem is when people
> > use(d) the undocumented, no longer working,
> > "~SRC_PORT>INT_IP~INT_PORT"
> > form. The version that no longer allowed this form, is ALSO the version
> that
> > introduced rule sanity checking which IS mentioned in the CHANGELOG. This
> > means, as I also told Julia, that the firewall does report that it was
> unable to
> > parse *ALL* rules properly. It even reports which rule fails and it
> certainly
> > doesn´t cause any security issues.
>
> My opening paragraph did say that didn't it....  Sorry for that.  By the
> end of the mail I had corrected that:
>
> > > This does not seem to allow the syntax you were using.  Notice the form
> > "{SRCIP1,SRCIP2,...~}PORT1,PORT2-PORT3,...>DESTIP1{~port}".  This seems
> to
> > indicate to me that the ~ in your previous examples is what caused your
> > breakage.  Can you confirm that the documentation is correct and that
> you can
> > set NAT_FORWARD_TCP=SRC_PORT>INT_IP~INT_PORT and it work correctly?
>
> Sorry for the confusion.  I should have amended my message before hitting
> send.
>
> I never suggested this was a security vulnerability.  Clearly it isn't.  I
> think Julia's frustration is that when reloading the firewall rules after
> the upgrade she gets a broken firewall and a WARNING message.  Is there a
> way to prevent loading of the rules entirely and preserving the original
> firewall state in the case of a parsing error?  Maybe that's reaching a
> little; I'm just curious if that might be a good path forward to prevent
> future updates from blowing away currently running firewalls when the
> administrator is unaware of configuration file changes (even parser fixes)?
>  This will happen again I'm sure(completely by accident).  See the history
> of bash for more examples(and bash upgrades are generally really clean).
>
> > Furthermore it's impossible for us to (regression) test any previously
> > undocumented/unintended functionality and report it in the CHANGELOG
> > accordingly.
>
> Agreed.  You cannot regression test against undocumented features.
>
> Regards,
> Zac Slade
>


Re-reading the documentation in firewall.conf, I now understand what the
source of my confusion is. the tilde symbol is used as a SUFFIX on the left
hand side of the arrow, indicating "what is before me is a IP address", and
it is used as a PREFIX in the right hand side of the arrow, indicating
"what is after me is a port number." in both cases, it is used to separate
an IP from a port. This is certainly confusing behavior, as anyone reading
it left-to-right or right-to-left is bound to be confused.

Julia Longtin

Reply via email to