diff --git a/src/gui/newFirewallDialog.cpp b/src/gui/newFirewallDialog.cpp
index 01d7dfab5..2aceb3d70 100644
--- a/src/gui/newFirewallDialog.cpp
+++ b/src/gui/newFirewallDialog.cpp
@@ -80,7 +80,6 @@ newFirewallDialog::newFirewallDialog() : QDialog()
m_dialog->backButton,
m_dialog->cancelButton,
m_dialog->titleLabel);
-
/*connect( m_dialog->nextButton, SIGNAL( clicked() ),
this, SLOT( nextClicked() ));
connect( m_dialog->backButton, SIGNAL( clicked() ),
@@ -99,6 +98,11 @@ newFirewallDialog::newFirewallDialog() : QDialog()
timer = new QTimer(this);
connect( timer, SIGNAL(timeout()), this, SLOT(monitor()) );
+ connect( m_dialog->templaterBrowseButton, SIGNAL(pressed()),this,SLOT(browseTemplate()));
+ connect( m_dialog->templateUseStandart, SIGNAL(pressed()),this,SLOT(useStandartTemplate()));
+ connect( m_dialog->useTemplate, SIGNAL(released()),this,SLOT(showHideTemplatePanel()));
+ m_dialog->templaterFilePath->setText(tempfname.c_str());
+ m_dialog->templaterFrame->setVisible(false);
/* fill in platform */
setPlatform(m_dialog->platform, "" );
@@ -122,6 +126,35 @@ newFirewallDialog::newFirewallDialog() : QDialog()
showPage(0);
}
+void newFirewallDialog::browseTemplate()
+{
+ QString fileName = QFileDialog::getOpenFileName(this, tr("FWBuilder template files"), "", tr("FWBuilder template files (*.xml *.fwb)"));
+ if (fileName=="")
+ return ;
+ QDir dir (fileName);
+// if (dir.exists ())
+// {
+ m_dialog->templaterFilePath->setText(fileName);
+// }
+}
+
+void newFirewallDialog::useStandartTemplate()
+{
+ m_dialog->templaterFilePath->setText(tempfname.c_str());
+}
+
+void newFirewallDialog::showHideTemplatePanel()
+{
+ if (m_dialog->useTemplate->checkState()==Qt::Checked)
+ {
+ m_dialog->templaterFrame->setVisible(true);
+ }
+ else
+ {
+ m_dialog->templaterFrame->setVisible(false);
+ }
+}
+
newFirewallDialog::~newFirewallDialog()
{
delete m_dialog;
@@ -137,6 +170,7 @@ void newFirewallDialog::changed()
if (p==0)
{
setNextEnabled( p, !m_dialog->obj_name->text().isEmpty() );
+
}
if (p==1)
@@ -390,7 +424,7 @@ void newFirewallDialog::showPage(const int page)
tmpldb = new FWObjectDatabase();
tmpldb->setReadOnly( false );
- tmpldb->load( tempfname, &upgrade_predicate, librespath);
+ tmpldb->load( m_dialog->templaterFilePath->text().toAscii().data(), &upgrade_predicate, librespath);
}
FWObject *tlib = tmpldb->getById(TEMPLATE_LIB);
diff --git a/src/gui/newFirewallDialog.h b/src/gui/newFirewallDialog.h
index 5d72a1164..604484cdf 100644
--- a/src/gui/newFirewallDialog.h
+++ b/src/gui/newFirewallDialog.h
@@ -89,7 +89,9 @@ public slots:
virtual void getInterfacesViaSNMP();
virtual void monitor();
virtual void templateSelected(QListWidgetItem *itm);
-
+ void browseTemplate();
+ void useStandartTemplate();
+ void showHideTemplatePanel();
protected slots:
void finishClicked();
diff --git a/src/gui/newHostDialog.cpp b/src/gui/newHostDialog.cpp
index ebe91b008..181a85177 100644
--- a/src/gui/newHostDialog.cpp
+++ b/src/gui/newHostDialog.cpp
@@ -94,6 +94,11 @@ newHostDialog::newHostDialog() : QDialog()
timer = new QTimer(this);
connect( timer, SIGNAL(timeout()), this, SLOT(monitor()) );
+ connect( m_dialog->templaterBrowseButton, SIGNAL(pressed()),this,SLOT(browseTemplate()));
+ connect( m_dialog->templateUseStandart, SIGNAL(pressed()),this,SLOT(useStandartTemplate()));
+ connect( m_dialog->useTemplate, SIGNAL(released()),this,SLOT(showHideTemplatePanel()));
+ m_dialog->templaterFilePath->setText(tempfname.c_str());
+ m_dialog->templaterFrame->setVisible(false);
setNextEnabled( OBJECT_NAME_PAGE, false );
@@ -104,6 +109,36 @@ newHostDialog::newHostDialog() : QDialog()
showPage(0);
}
+void newHostDialog::browseTemplate()
+{
+ QString fileName = QFileDialog::getOpenFileName(this, tr("FWBuilder template files"), "", tr("FWBuilder template files (*.xml *.fwb)"));
+ if (fileName=="")
+ return ;
+ QDir dir (fileName);
+// if (dir.exists ())
+// {
+ m_dialog->templaterFilePath->setText(fileName);
+// }
+}
+
+void newHostDialog::useStandartTemplate()
+{
+ m_dialog->templaterFilePath->setText(tempfname.c_str());
+}
+
+void newHostDialog::showHideTemplatePanel()
+{
+ if (m_dialog->useTemplate->checkState()==Qt::Checked)
+ {
+ m_dialog->templaterFrame->setVisible(true);
+ }
+ else
+ {
+ m_dialog->templaterFrame->setVisible(false);
+ }
+}
+
+
newHostDialog::~newHostDialog()
{
delete m_dialog;
diff --git a/src/gui/newHostDialog.h b/src/gui/newHostDialog.h
index d0bd32eb4..2839d932e 100644
--- a/src/gui/newHostDialog.h
+++ b/src/gui/newHostDialog.h
@@ -67,7 +67,7 @@ class newHostDialog : public QDialog, public FakeWizard
void fillInterfaceData(libfwbuilder::Interface *intf, QTextBrowser *qte);
bool validateAddressAndMask(const QString &addr, const QString &netm);
-
+
public:
newHostDialog();
virtual ~newHostDialog();
@@ -89,7 +89,9 @@ public slots:
virtual void selectedInterface(QTreeWidgetItem*,QTreeWidgetItem*);
virtual void templateSelected(QListWidgetItem *itm);
-
+ void browseTemplate();
+ void useStandartTemplate();
+ void showHideTemplatePanel();
protected slots:
diff --git a/src/gui/newfirewalldialog_q.ui b/src/gui/newfirewalldialog_q.ui
index 3dd1a19dc..1369879e3 100644
--- a/src/gui/newfirewalldialog_q.ui
+++ b/src/gui/newfirewalldialog_q.ui
@@ -9,19 +9,160 @@
609
-
-
- 9
+
+
+
+ 9
+ 9
+ 533
+ 26
+
-
- 6
+
+
+ 0
+ 0
+
- -
-
+
+
+ 0
+ 25
+
+
+
+
+ Sans Serif
+ 14
+ 75
+ false
+ true
+
+
+
+ TextLabel
+
+
+ Qt::AlignCenter
+
+
+
+
+
+ 9
+ 41
+ 533
+ 494
+
+
+
+
+ 500
+ 450
+
+
+
+ 0
+
+
+
+
+
+ 9
+ 36
+ 260
+ 25
+
+
+
+ Enter the name of the new object below:
+
+
+ Qt::AlignCenter
+
+
+ false
+
+
+
+
+
+ 275
+ 36
+ 144
+ 25
+
+
+
+
+
+
+ 9
+ 68
+ 260
+ 23
+
+
+
+ Choose firewall software it is running:
+
+
+ Qt::AlignCenter
+
+
+ false
+
+
+
+
+
+ 275
+ 68
+ 144
+ 23
+
+
+
+
+
+
+ 9
+ 98
+ 260
+ 23
+
+
+
+ Choose OS the new firewall runs on:
+
+
+ Qt::AlignCenter
+
+
+ false
+
+
+
+
+
+ 275
+ 98
+ 144
+ 23
+
+
+
+
+
+
+ 9
+ 128
+ 515
+ 20
+
+
-
- 3
- 0
+
0
0
@@ -29,1208 +170,1256 @@
0
- 25
-
-
-
-
- Sans Serif
- 14
- 75
- false
- true
-
-
-
- TextLabel
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 500
- 450
-
-
-
- 4
-
-
-
-
- 0
-
-
- 6
-
-
-
-
-
- Enter the name of the new object below:
-
-
- Qt::AlignCenter
-
-
- false
-
-
-
- -
-
-
- -
-
-
- Choose firewall software it is running:
-
-
- Qt::AlignCenter
-
-
- false
-
-
-
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Expanding
-
-
-
- 30
- 20
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 20
-
-
-
-
- -
-
-
- Choose OS the new firewall runs on:
-
-
- Qt::AlignCenter
-
-
- false
-
-
-
- -
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Expanding
-
-
-
- 20
- 150
-
-
-
-
- -
-
-
-
- 1
- 0
- 0
- 0
-
-
-
-
- 0
- 20
-
-
-
- QFrame::HLine
-
-
- QFrame::Sunken
-
-
- Qt::Horizontal
-
-
-
- -
-
-
- Use preconfigured template firewall objects
-
-
-
-
-
-
-
-
- 0
-
-
- 6
-
- -
-
-
- Next step is to add interfaces to the new firewall. There are two ways to do it: using SNMP query or manually. Adding them using SNMP query is fast and automatic, but is only possible if firewall runs SNMP agent and you know SNMP community string 'read'.
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
- true
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 20
-
-
-
-
- -
-
-
-
-
-
-
- 0
-
-
- 6
-
-
-
-
-
- Configure interfaces manually
-
-
- true
-
-
-
- -
-
-
- Use SNMP to discover interfaces of the firewall
-
-
-
-
-
-
- -
-
-
- 0
-
-
- 6
-
-
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Expanding
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- -
-
-
- Discover Interfaces using SNMP
-
-
-
- -
-
-
- SNMP 'read' community string:
-
-
- Qt::AlignCenter
-
-
- false
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Expanding
-
-
-
- 140
- 20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Expanding
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
- 9
-
-
- 6
-
- -
-
-
-
- 5
- 0
- 0
- 255
-
-
-
- Here you can add or edit interfaces manually. 'Name' corresponds to the name of the physical interface, such as 'eth0', 'fxp0', 'ethernet0' etc. 'Label' is used to mark interface to reflect network topology, e.g. 'outside' or 'inside'. Label is mandatory for PIX firewall.
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
- true
-
-
-
- -
-
-
- Click 'Next' when done.
-
-
- Qt::AlignCenter
-
-
- false
-
-
-
- -
-
-
- QFrame::Box
-
-
- QFrame::Sunken
-
-
-
- 9
-
-
- 6
-
-
-
-
-
-
- 0
- 82
-
-
-
-
- Name
-
-
-
-
- Label
-
-
-
-
- Address
-
-
-
-
- Netmask
-
-
-
-
- Dyn
-
-
-
-
- MAC
-
-
-
-
- -
-
-
- 0
-
-
- 6
-
-
-
-
-
- 0
-
-
- 6
-
-
-
-
-
-
- 5
- 0
- 0
- 0
-
-
-
-
- 50
- 0
-
-
-
-
- 100
- 32767
-
-
-
-
- -
-
-
-
- 5
- 0
- 0
- 0
-
-
-
-
- 50
- 0
-
-
-
-
- 100
- 32767
-
-
-
-
- -
-
-
- Name:
-
-
- Qt::AlignCenter
-
-
- false
-
-
-
- -
-
-
-
- 5
- 0
- 0
- 0
-
-
-
-
- 50
- 0
-
-
-
-
- 100
- 32767
-
-
-
-
- -
-
-
- Address:
-
-
- Qt::AlignCenter
-
-
- false
-
-
-
- -
-
-
- Netmask:
-
-
- Qt::AlignCenter
-
-
- false
-
-
-
- -
-
-
- MAC:
-
-
- Qt::AlignCenter
-
-
- false
-
-
-
- -
-
-
-
- 5
- 0
- 0
- 0
-
-
-
-
- 50
- 0
-
-
-
-
- 100
- 32767
-
-
-
-
-
-
- -
-
-
- 0
-
-
- 6
-
-
-
-
-
- 0
-
-
- 6
-
-
-
-
-
- Label:
-
-
- Qt::AlignCenter
-
-
- false
-
-
-
- -
-
-
-
- 5
- 0
- 0
- 0
-
-
-
-
- 50
- 0
-
-
-
-
- 100
- 32767
-
-
-
-
-
-
- -
-
-
-
-
-
-
- 0
-
-
- 0
-
-
-
-
-
- Bridge port
-
-
-
- -
-
-
- Unnumbered interface
-
-
-
- -
-
-
- Dynamic address
-
-
-
- -
-
-
- Regular interface
-
-
- true
-
-
-
-
-
-
-
-
- -
-
-
- 0
-
-
- 3
-
-
-
-
-
- Qt::Vertical
-
-
- QSizePolicy::Preferred
-
-
-
- 20
- 21
-
-
-
-
- -
-
-
-
- 7
- 0
- 0
- 0
-
-
-
- Delete
-
-
-
- -
-
-
-
- 7
- 0
- 0
- 0
-
-
-
- Update
-
-
-
- -
-
-
-
- 7
- 0
- 0
- 0
-
-
-
- Add
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
- 6
-
- -
-
-
- Qt::AlignCenter
-
-
- true
-
-
-
- -
-
-
- QFrame::Box
-
-
- QFrame::Sunken
-
-
-
- 11
-
-
- 6
-
-
-
-
-
- Qt::Vertical
-
-
- QSizePolicy::Expanding
-
-
-
- 20
- 190
-
-
-
-
- -
-
-
- up
-
-
-
- -
-
-
- down
-
-
-
- -
-
-
-
- Name
-
-
-
-
- Label
-
-
-
-
- Address
-
-
-
-
- Security Level
-
-
-
-
-
-
-
- -
-
-
- Click 'Finish' when done.
-
-
- Qt::AlignCenter
-
-
- false
-
-
-
- -
-
-
- In order to be able to build firewall policy properly, Firewall Builder needs information about 'security level' of the firewall's interfaces. Interface that connects it to the Internet is considered 'insecure' and has security level '0', while interface connected to the internal network is supposed to be 'secure' (security level '100'). You can arrange interfaces in the order of their security level below.
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
- true
-
-
-
- -
-
-
- Qt::AlignCenter
-
-
- true
-
-
-
-
-
-
-
-
- 0
-
-
- 6
-
- -
-
-
-
- 0
- 5
- 0
- 0
-
-
-
-
- 280
- 210
-
-
-
- QFrame::StyledPanel
-
-
- QFrame::Sunken
-
-
-
-
- 79
- 77
- 20
- 52
-
-
-
-
- 1
- 0
- 0
- 0
-
-
-
-
- 20
- 20
-
-
-
- QFrame::HLine
-
-
- QFrame::Sunken
-
-
- Qt::Horizontal
-
-
-
-
-
- 38
- 28
- 20
- 30
-
-
-
-
- 0
- 1
- 0
- 0
-
-
-
-
- 20
- 20
-
-
-
- QFrame::VLine
-
-
- QFrame::Sunken
-
-
- Qt::Vertical
-
-
-
-
-
- 38
- 148
- 20
- 30
-
-
-
-
- 0
- 1
- 0
- 0
-
-
-
-
- 20
- 20
-
-
-
- QFrame::VLine
-
-
- QFrame::Sunken
-
-
- Qt::Vertical
-
-
-
-
-
- 68
- 8
- 200
- 52
-
-
-
- QFrame::Panel
-
-
- QFrame::Raised
-
-
-
-
-
- 88
- 78
- 180
- 52
-
-
-
- QFrame::Panel
-
-
- QFrame::Raised
-
-
-
-
-
- 68
- 148
- 200
- 52
-
-
-
- QFrame::Panel
-
-
- QFrame::Raised
-
-
-
-
-
- 10
- 70
- 64
- 64
-
-
-
- :/Icons/firewall_64.png
-
-
- false
-
-
- false
-
-
-
-
- -
-
-
- Choose template object in the list and click 'Finish' when ready. Template objects use generic interface names that will be iherited by the firewall object you create. You may need to rename them later to reflect real names of interfaces on your firewall machine.
-
-
- Qt::AlignVCenter
-
-
- true
-
-
-
- -
-
-
- -
-
-
-
-
-
-
- -
-
-
-
- 3
- 0
- 1
- 0
-
-
-
-
- 400
- 50
+ 20
- QFrame::StyledPanel
+ QFrame::HLine
+
+
+ QFrame::Sunken
+
+
+ Qt::Horizontal
+
+
+
+
+
+ 9
+ 154
+ 515
+ 24
+
+
+
+ Use preconfigured template firewall objects
+
+
+
+
+
+ 9
+ 189
+ 521
+ 85
+
+
+
+ QFrame::NoFrame
QFrame::Raised
-
-
- 9
-
-
- 6
-
-
-
+
+
-
+
+
+ Template file:
+
+
+
+ -
+
+
+ -
+
+
+ Browse
+
+
+
+ -
+
+
+ Use standard template library
+
+
+
+ -
Qt::Horizontal
+
+ QSizePolicy::Fixed
+
- 161
- 37
+ 100
+ 20
- -
-
-
- < &Back
-
-
-
- -
-
-
- &Next >
-
-
- false
-
-
-
- -
-
-
- &Finish
-
-
- false
-
-
-
- -
-
-
- &Cancel
-
-
-
-
-
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
+ 6
+
+ -
+
+
+ Next step is to add interfaces to the new firewall. There are two ways to do it: using SNMP query or manually. Adding them using SNMP query is fast and automatic, but is only possible if firewall runs SNMP agent and you know SNMP community string 'read'.
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+ true
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
+ 6
+
+
-
+
+
+ Configure interfaces manually
+
+
+ true
+
+
+
+ -
+
+
+ Use SNMP to discover interfaces of the firewall
+
+
+
+
+
+
+ -
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
+ 6
+
+
-
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Expanding
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ -
+
+
+ Discover Interfaces using SNMP
+
+
+
+ -
+
+
+ SNMP 'read' community string:
+
+
+ Qt::AlignCenter
+
+
+ false
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Expanding
+
+
+
+ 140
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Expanding
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ 6
+
+
+ 9
+
+
+ 9
+
+
+ 9
+
+
+ 9
+
+ -
+
+
+
+ 0
+ 255
+
+
+
+ Here you can add or edit interfaces manually. 'Name' corresponds to the name of the physical interface, such as 'eth0', 'fxp0', 'ethernet0' etc. 'Label' is used to mark interface to reflect network topology, e.g. 'outside' or 'inside'. Label is mandatory for PIX firewall.
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+ true
+
+
+
+ -
+
+
+ Click 'Next' when done.
+
+
+ Qt::AlignCenter
+
+
+ false
+
+
+
+ -
+
+
+ QFrame::Box
+
+
+ QFrame::Sunken
+
+
+
+ 6
+
+
+ 9
+
+
+ 9
+
+
+ 9
+
+
+ 9
+
+
-
+
+
+
+ 0
+ 82
+
+
+
+
+ Name
+
+
+
+
+ Label
+
+
+
+
+ Address
+
+
+
+
+ Netmask
+
+
+
+
+ Dyn
+
+
+
+
+ MAC
+
+
+
+
+ -
+
+
+ 6
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
+ 6
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 50
+ 0
+
+
+
+
+ 100
+ 32767
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 50
+ 0
+
+
+
+
+ 100
+ 32767
+
+
+
+
+ -
+
+
+ Name:
+
+
+ Qt::AlignCenter
+
+
+ false
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 50
+ 0
+
+
+
+
+ 100
+ 32767
+
+
+
+
+ -
+
+
+ Address:
+
+
+ Qt::AlignCenter
+
+
+ false
+
+
+
+ -
+
+
+ Netmask:
+
+
+ Qt::AlignCenter
+
+
+ false
+
+
+
+ -
+
+
+ MAC:
+
+
+ Qt::AlignCenter
+
+
+ false
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 50
+ 0
+
+
+
+
+ 100
+ 32767
+
+
+
+
+
+
+ -
+
+
+ 6
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ 6
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Label:
+
+
+ Qt::AlignCenter
+
+
+ false
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 50
+ 0
+
+
+
+
+ 100
+ 32767
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Bridge port
+
+
+
+ -
+
+
+ Unnumbered interface
+
+
+
+ -
+
+
+ Dynamic address
+
+
+
+ -
+
+
+ Regular interface
+
+
+ true
+
+
+
+
+
+
+
+
+ -
+
+
+ 3
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Preferred
+
+
+
+ 20
+ 21
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Delete
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Update
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Add
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
+ 6
+
+ -
+
+
+ Qt::AlignCenter
+
+
+ true
+
+
+
+ -
+
+
+ QFrame::Box
+
+
+ QFrame::Sunken
+
+
+
+ 11
+
+
+ 11
+
+
+ 11
+
+
+ 11
+
+
+ 6
+
+
+ 6
+
+
-
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Expanding
+
+
+
+ 20
+ 190
+
+
+
+
+ -
+
+
+ up
+
+
+
+ -
+
+
+ down
+
+
+
+ -
+
+
+
+ Name
+
+
+
+
+ Label
+
+
+
+
+ Address
+
+
+
+
+ Security Level
+
+
+
+
+
+
+
+ -
+
+
+ Click 'Finish' when done.
+
+
+ Qt::AlignCenter
+
+
+ false
+
+
+
+ -
+
+
+ In order to be able to build firewall policy properly, Firewall Builder needs information about 'security level' of the firewall's interfaces. Interface that connects it to the Internet is considered 'insecure' and has security level '0', while interface connected to the internal network is supposed to be 'secure' (security level '100'). You can arrange interfaces in the order of their security level below.
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+ true
+
+
+
+ -
+
+
+ Qt::AlignCenter
+
+
+ true
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
+ 6
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 280
+ 210
+
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Sunken
+
+
+
+
+ 79
+ 77
+ 20
+ 52
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 20
+ 20
+
+
+
+ QFrame::HLine
+
+
+ QFrame::Sunken
+
+
+ Qt::Horizontal
+
+
+
+
+
+ 38
+ 28
+ 20
+ 30
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 20
+ 20
+
+
+
+ QFrame::VLine
+
+
+ QFrame::Sunken
+
+
+ Qt::Vertical
+
+
+
+
+
+ 38
+ 148
+ 20
+ 30
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 20
+ 20
+
+
+
+ QFrame::VLine
+
+
+ QFrame::Sunken
+
+
+ Qt::Vertical
+
+
+
+
+
+ 68
+ 8
+ 200
+ 52
+
+
+
+ QFrame::Panel
+
+
+ QFrame::Raised
+
+
+
+
+
+ 88
+ 78
+ 180
+ 52
+
+
+
+ QFrame::Panel
+
+
+ QFrame::Raised
+
+
+
+
+
+ 68
+ 148
+ 200
+ 52
+
+
+
+ QFrame::Panel
+
+
+ QFrame::Raised
+
+
+
+
+
+ 10
+ 70
+ 64
+ 64
+
+
+
+ :/Icons/firewall_64.png
+
+
+ false
+
+
+ false
+
+
+
+
+ -
+
+
+ Choose template object in the list and click 'Finish' when ready. Template objects use generic interface names that will be iherited by the firewall object you create. You may need to rename them later to reflect real names of interfaces on your firewall machine.
+
+
+ Qt::AlignVCenter
+
+
+ true
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+ 9
+ 541
+ 533
+ 59
+
+
+
+
+ 1
+ 0
+
+
+
+
+ 400
+ 50
+
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
+ 6
+
+
+ 9
+
+
+ 9
+
+
+ 9
+
+
+ 9
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 161
+ 37
+
+
+
+
+ -
+
+
+ < &Back
+
+
+
+ -
+
+
+ &Next >
+
+
+ false
+
+
+
+ -
+
+
+ &Finish
+
+
+ false
+
+
+
+ -
+
+
+ &Cancel
+
+
+
+
+
-
obj_name
platform
diff --git a/src/gui/newhostdialog_q.ui b/src/gui/newhostdialog_q.ui
index a0c494b11..87c0111dd 100644
--- a/src/gui/newhostdialog_q.ui
+++ b/src/gui/newhostdialog_q.ui
@@ -5,23 +5,30 @@
0
0
- 486
+ 488
701
-
- 9
-
6
+
+ 9
+
+
+ 9
+
+
+ 9
+
+
+ 9
+
-
-
- 3
- 0
+
0
0
@@ -52,24 +59,32 @@
-
-
- 5
- 5
+
0
0
- 3
+ 0
-
- 0
-
-
- 6
-
+
-
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 20
+
+
+
+
-
@@ -102,44 +117,10 @@
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 20
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Expanding
-
-
-
- 20
- 150
-
-
-
-
- -
+
-
-
- 1
- 0
+
0
0
@@ -161,21 +142,101 @@
- -
+
-
Use preconfigured template host objects
+ -
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Raised
+
+
+
-
+
+
+ Template file:
+
+
+
+ -
+
+
+ -
+
+
+ Browse
+
+
+
+ -
+
+
+ Use standard template library
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 100
+ 20
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Expanding
+
+
+
+ 144
+ 341
+
+
+
+
-
+
0
-
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
6
-
@@ -213,10 +274,22 @@
-
+
0
-
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
6
-
@@ -241,10 +314,22 @@
-
-
+
0
-
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
6
-
@@ -327,18 +412,28 @@
-
+
0
-
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
6
-
-
- 5
- 0
+
0
0
@@ -357,9 +452,7 @@
-
-
- 5
- 0
+
0
0
@@ -378,9 +471,7 @@
-
-
- 5
- 0
+
0
0
@@ -412,9 +503,7 @@
-
-
- 7
- 7
+
0
0
@@ -426,10 +515,22 @@
QFrame::Sunken
-
+
11
-
+
+ 11
+
+
+ 11
+
+
+ 11
+
+
+ 6
+
+
6
-
@@ -574,12 +675,21 @@
-
-
- 0
-
6
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
-
@@ -610,18 +720,28 @@
-
+
0
-
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
6
-
-
- 0
- 0
+
0
0
@@ -648,9 +768,7 @@
-
- 1
- 0
+
0
0
@@ -681,9 +799,7 @@
-
- 0
- 1
+
0
0
@@ -781,9 +897,7 @@
-
- 0
- 1
+
0
0
@@ -832,9 +946,7 @@
-
-
- 3
- 0
+
1
0
@@ -852,12 +964,21 @@
QFrame::Raised
-
- 9
-
6
+
+ 9
+
+
+ 9
+
+
+ 9
+
+
+ 9
+
-