ACC SHELL
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>
Configuration YaST2 Firewall</title>
<style type="text/css">body { background-color: #c8c8c8 }
h1 { color: #e00000 }
table { width: 100%/ border: none }
img { border: 0px }
.sigbox { background-color: #ffc080; border: solid thin #f96500 }
.sig { font: larger monospace }
.padtbl { background-color: #ffc080; padding: 10px; margin: 10px }
/* arrow */
.a { color: #606060 }
/* type, parameter */
.t, .p { color: #c05000 }
.pbox { width: 20% }
.descbox { }
.right { align: right }
.header {}
.footer { clear: both}
.menu { width: 10%; float: left }
.main { width: 90%; float: left }
</style>
</head>
<body>
<div class="header">
<i>YaST2 Developers Documentation:</i>
<a href="index.html">
<b>
Configuration YaST2 Firewall</b>
</a>
<img class="right" alt="" src="/usr/share/doc/packages/yast2-devtools/images/yast2-mini.png" />
<hr />
</div>
<div class="menu">
<img alt="YaST" src="/usr/share/doc/packages/yast2-devtools/images/yast2-half.png" />
<br />
<br />
<a href="index.html">functions</a>
<br />
<a href="files.html">files</a>
<br />
<a href="intro.html">intro</a>
</div>
<div class="main">
<div class="sigbox">
<table class="padtbl">
<tr>
<td>
<h1>
Configuration YaST2 Firewall</h1>
</td>
<td class="filecell">firewall/uifunctions.ycp</td>
</tr>
<tr>
<td>Configuration dialogs handling functions</td>
</tr>
<tr>
<td>
<ul>
<li>Lukas Ocilka <locilka@suse.cz></li>
</ul>
</td>
</tr>
<tr>
<td>
<p>This module has an unstable interface.</p>
</td>
</tr>
</table>
<table class="padtbl">
<tr>
<td>
Configuration dialogs handling.
Both Expert and Simple.
<h1>Imports</h1>
<ul>
<li>Address</li>
<li>Confirm</li>
<li>IP</li>
<li>Label</li>
<li>Mode</li>
<li>Netmask</li>
<li>Popup</li>
<li>PortAliases</li>
<li>PortRanges</li>
<li>Report</li>
<li>SuSEFirewall</li>
<li>SuSEFirewallExpertRules</li>
<li>SuSEFirewallServices</li>
<li>Wizard</li>
</ul>
<h1>Includes</h1>
<ul>
<li>firewall/generalfunctions.ycp</li>
<li>firewall/helps.ycp</li>
<li>firewall/subdialogs.ycp</li>
</ul>
<h1>Local Functions</h1>
<ul>
<li>
<a href="#CheckAdditionalServicesDefinition">CheckAdditionalServicesDefinition (string services_definition)</a>
</li>
<li>
<a href="#CheckIfTheyAreAllKnownPorts">CheckIfTheyAreAllKnownPorts (string ui_id, list <string> ports)</a>
</li>
<li>
<a href="#CheckNetwork">CheckNetwork (string network)</a>
</li>
<li>
<a href="#CheckPortNumber">CheckPortNumber (string port_to_be_checked, string widget_id)</a>
</li>
<li>
<a href="#DisableBackButton">DisableBackButton (string key)</a>
</li>
<li>
<a href="#HandleFirewallInterfaces">HandleFirewallInterfaces (string key, map event)</a>
</li>
<li>
<a href="#HandlePopupAdditionalSettingsForZones">HandlePopupAdditionalSettingsForZones ()</a>
</li>
<li>
<a href="#HandlePopupSetFirewallInterfaceIntoZone">HandlePopupSetFirewallInterfaceIntoZone (string interface)</a>
</li>
<li>
<a href="#InitFirewallInterfaces">InitFirewallInterfaces (string key)</a>
</li>
<li>
<a href="#IsMasqueradingPossible">IsMasqueradingPossible ()</a>
</li>
<li>
<a href="#RedrawFirewallInterfaces">RedrawFirewallInterfaces ()</a>
</li>
<li>
<a href="#ReportWrongPortDefinition">ReportWrongPortDefinition (string port_nr, string port_definition)</a>
</li>
<li>
<a href="#SaveAndRestart">SaveAndRestart ()</a>
</li>
<li>
<a href="#SetFirewallIcon">SetFirewallIcon ()</a>
</li>
<li>
<a href="#SetFirewallInterfacesCustomAndChangeButtons">SetFirewallInterfacesCustomAndChangeButtons (string current_item)</a>
</li>
<li>
<a href="#SetMasqueradeTableUsable">SetMasqueradeTableUsable (boolean usable)</a>
</li>
<li>
<a href="#StartNow">StartNow ()</a>
</li>
<li>
<a href="#StopNow">StopNow ()</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<p />
<div class="sigbox">
<span class="sig" id="CheckNetwork">local
<b>CheckNetwork (string network)
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
Checks the network entry which can be defined in several formats.</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">network</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Example</b>
</dt>
<dd>
<table>
<tr>
<td align="left" valign="top"><pre>
CheckNetwork ("192.168.0.1") -> true
CheckNetwork ("192.168.0.0/20") -> true
CheckNetwork ("192.168.0.0/255.255.255.0") -> true
CheckNetwork ("0/0") -> true</pre></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="SetFirewallIcon">local
<b>SetFirewallIcon ()
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Sets the dialog icon.</p>
<div class="sigbox">
<span class="sig" id="DisableBackButton">local
<b>DisableBackButton (string key)
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Function disables the back button.
Fake function for CWM Tree Widget.</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">key</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="SaveAndRestart">local
<b>SaveAndRestart ()
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
Function saves configuration and restarts firewall</p>
<div class="sigbox">
<span class="sig" id="StartNow">local
<b>StartNow ()
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
Function starts Firewall services and sets firewall
to be started after exiting YaST</p>
<div class="sigbox">
<span class="sig" id="StopNow">local
<b>StopNow ()
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
Function stops Firewall services and sets firewall
to be stopped after exiting YaST</p>
<div class="sigbox">
<span class="sig" id="SetFirewallInterfacesCustomAndChangeButtons">local
<b>SetFirewallInterfacesCustomAndChangeButtons (string current_item)
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Function sets appropriate states for [Change] and [Custom] buttons</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">current_item</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="RedrawFirewallInterfaces">local
<b>RedrawFirewallInterfaces ()
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Function redraws Interfaces Table</p>
<div class="sigbox">
<span class="sig" id="InitFirewallInterfaces">local
<b>InitFirewallInterfaces (string key)
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Function initializes Interfaces table and known_device_names</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">key</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="HandlePopupSetFirewallInterfaceIntoZone">local
<b>HandlePopupSetFirewallInterfaceIntoZone (string interface)
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Function handles popup dialog witch setting Interface into Zone</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">interface</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="HandlePopupAdditionalSettingsForZones">local
<b>HandlePopupAdditionalSettingsForZones ()
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Function handles popup with additional settings in zones</p>
<div class="sigbox">
<span class="sig" id="HandleFirewallInterfaces">local
<b>HandleFirewallInterfaces (string key, map event)
<span class="a"> -> </span>
<span class="t">symbol</span>
</b>
</span>
</div>
<p>
Function handles whole firewall-interfaces dialg</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">key</span>
</td>
<td class="descbox"></td>
</tr>
<tr>
<td class="pbox">
<span class="p">event</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="ReportWrongPortDefinition">local
<b>ReportWrongPortDefinition (string port_nr, string port_definition)
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
Reports that the port definition is wrong. Either a single port
or a port range. Returns whether user accepts the wrong port definition
despite this warning.</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">port_nr</span>
</td>
<td class="descbox"></td>
</tr>
<tr>
<td class="pbox">
<span class="p">port_definition</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">whether user accepts the port definition despite the warning.
</td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Example</b>
</dt>
<dd>
<table>
<tr>
<td align="left" valign="top"><pre>
// maximum port number is 65535, port range
boolean accepted = ReportWrongPortDefinition(99999, "5:99999");
// dtto., single port
boolean whattodo = ReportWrongPortDefinition(78910, "78910");</pre></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="CheckIfTheyAreAllKnownPorts">local
<b>CheckIfTheyAreAllKnownPorts (string ui_id, list <string> ports)
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
Function checks list of ports if they exist (are known).</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">ui_id</span>
</td>
<td class="descbox"></td>
</tr>
<tr>
<td class="pbox">
<span class="p">ports</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="CheckAdditionalServicesDefinition">local
<b>CheckAdditionalServicesDefinition (string services_definition)
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
Checks the string (services definition) for syntax errors</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">services_definition</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">whether everything was ok or whether user wants is despite the error</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="SetMasqueradeTableUsable">local
<b>SetMasqueradeTableUsable (boolean usable)
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Function sets UI for Masquerade Table (and buttons) enabled or disabled</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">usable</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="IsMasqueradingPossible">local
<b>IsMasqueradingPossible ()
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
Function returns if masquerading is possible.
Masquerading needs at least two interfaces in two different firewall zones.
One of them has to be External.</p>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">if possible.</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="CheckPortNumber">local
<b>CheckPortNumber (string port_to_be_checked, string widget_id)
<span class="a"> -> </span>
<span class="t">string</span>
</b>
</span>
</div>
<p>
Function checks port number got as parameter.
If check fails SetFocus is called and an empty string is returned.</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">port_to_be_checked</span>
</td>
<td class="descbox"></td>
</tr>
<tr>
<td class="pbox">
<span class="p">widget_id</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
</div>
<div class="footer">
<hr />
<i>YaST2 Developers Documentation</i>
<img class="right" alt="" src="/usr/share/doc/packages/yast2-devtools/images/yast2-mini.png" />
</div>
</body>
</html>
ACC SHELL 2018