From b6d5607d85d0a88d6b91a9edff1ab4a04a43fd2e Mon Sep 17 00:00:00 2001 From: Date: Thu, 29 May 2008 13:47:12 +0000 Subject: [PATCH] bugfix 2563 --- src/gui/NetworkDialog.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/gui/NetworkDialog.cpp b/src/gui/NetworkDialog.cpp index 3acc6bd71..2b9de503b 100644 --- a/src/gui/NetworkDialog.cpp +++ b/src/gui/NetworkDialog.cpp @@ -128,6 +128,14 @@ void NetworkDialog::validate(bool *res) InetAddr( m_dialog->netmask->text().toLatin1().constData() ); } catch (FWException &ex) { + QString len = m_dialog->netmask->text() ; + bool ok = false ; + int ilen = len.toInt (&ok); + if (ok) + { + if (ilen>0 && ilen < 32) + return ; + } *res=false; QMessageBox::critical(this, "Firewall Builder", tr("Illegal netmask '%1'").arg( m_dialog->netmask->text() ), @@ -158,13 +166,25 @@ void NetworkDialog::applyChanges() { s->setAddress( InetAddr(m_dialog->address->text().toLatin1().constData()) ); - s->setNetmask( - InetAddr(m_dialog->netmask->text().toLatin1().constData()) ); } catch (FWException &ex) { /* exception thrown if user types illegal m_dialog->address or m_dialog->netmask */ } + + try + { + s->setNetmask( + InetAddr(m_dialog->netmask->text().toLatin1().constData()) ); + } catch (FWException &ex) + { +/* exception thrown if user types illegal m_dialog->address or m_dialog->netmask */ + bool ok = false ; + s->setNetmask(InetAddr(m_dialog->netmask->text().toInt(&ok))); + } + + + mw->updateObjName(obj,QString::fromUtf8(oldname.c_str())); init=true;