public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH] BUG10941: fix single ip-addresses when no subnet given
Date: Fri, 16 Oct 2015 21:56:44 +0100	[thread overview]
Message-ID: <1445029004.18375.97.camel@ipfire.org> (raw)
In-Reply-To: <56213868.1020004@oab.de>

[-- Attachment #1: Type: text/plain, Size: 2414 bytes --]

On Fri, 2015-10-16 at 19:48 +0200, Alexander Marx wrote:
> 
> 
> Am 16.10.2015 um 17:54 schrieb Michael Tremer:
> > On Fri, 2015-10-16 at 09:57 +0200, Alexander Marx wrote:
> > > Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
> > > ---
> > >  html/cgi-bin/routing.cgi | 5 +++++
> > >  1 file changed, 5 insertions(+)
> > > 
> > > diff --git a/html/cgi-bin/routing.cgi b/html/cgi-bin/routing.cgi
> > > index c460a74..3b5a2f7 100644
> > > --- a/html/cgi-bin/routing.cgi
> > > +++ b/html/cgi-bin/routing.cgi
> > > @@ -118,6 +118,11 @@ if ($settings{'ACTION'} eq $Lang::tr{'toggle
> > > enable disable'}) {
> > >  }
> > >  
> > >  if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
> > > +
> > > +	if (!&Network::check_prefix($settings{'IP'})){
> > > +		$settings{'IP'} .= '/32';
> > > +	}
> > > +
> > This won't work. The function &Network::check_prefix() takes the
> > prefix
> > (i.e. the number after the slash, e.g. 24). You are passing the IP
> > address to the function which will never be a valid prefix and /32
> > will
> > always be appended, even to valid inputs like 192.168.0.0/24
> > (result:
> > 192.168.0.0/24/32).
> I think it's not true that it's not true ;-)
> The function takes a whole ip with subnetmask, true. But if you pass
> only an ip to it or an ip with a wrong subnetmask , the function
> returns false in which case i add /32 to it.

http://git.ipfire.org/?p=ipfire-2.x.git;a=blob;f=config/cfgroot/network-functions.pl;h=cb4ca3dd88306f61290fab895308c0725c1ecdac;hb=HEAD#l136

This function clearly does what I said it would do.

I don't know why you don't get an error, but this is not a solution to
this bug. Is it possible that &General::iporsubtocidr() just ignores
everything after the prefix?

> 
> In addition i tested several combinations of ip-addresses in cidr or
> decimal notation and without subnetmask.
> All tests passed with expected behaviour.
> 
> I just checked it twice. I could not find any side effects. But you
> may drop this patch and i will try to find a new solution after my
> holidays.

When will you be back?

> 
> 
> > >  	# Convert subnet masks to CIDR notation.
> > >  	$settings{'IP'} =
> > > &General::iporsubtocidr($settings{'IP'});
> > > 
> > The remaining code should be amended that only prefixes are allowed
> > when /32 is appended to hosts.
> > 
> > -Michael 

-Michael

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

       reply	other threads:[~2015-10-16 20:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <56213868.1020004@oab.de>
2015-10-16 20:56 ` Michael Tremer [this message]
2015-10-17 17:27 Alexander Marx
  -- strict thread matches above, loose matches on Subject: below --
2015-10-16  7:57 Alexander Marx
2015-10-16 15:54 ` Michael Tremer

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=1445029004.18375.97.camel@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