### Initialize menu
sub genmenu {
+
my %subsystemhash = ();
my $subsystem = \%subsystemhash;
- $subsystem->{'10.home'} = {
- 'caption' => $tr{'alt home'},
- 'uri' => '/cgi-bin/index.cgi',
- 'title' => "$tr{'alt home'}",
- 'enabled' => 1,
- };
- $subsystem->{'20.dialup'} = {
- 'caption' => $tr{'alt dialup'},
- 'uri' => '/cgi-bin/pppsetup.cgi',
- 'title' => "$tr{'alt dialup'}",
- 'enabled' => 1,
- };
- $subsystem->{'30.passwords'} = {
- 'caption' => $tr{'sspasswords'},
- 'uri' => '/cgi-bin/changepw.cgi',
- 'title' => "$tr{'sspasswords'}",
- 'enabled' => 1,
- };
- $subsystem->{'40.ssh'} = {
- 'caption' => $tr{'ssh access'},
- 'uri' => '/cgi-bin/remote.cgi',
- 'title' => "$tr{'ssh access'}",
- 'enabled' => 1,
- };
- $subsystem->{'50.gui'} = {
- 'caption' => $tr{'gui settings'},
- 'uri' => '/cgi-bin/gui.cgi',
- 'title' => "$tr{'gui settings'}",
- 'enabled' => 1,
- };
- $subsystem->{'60.shutdown'} = {
- 'caption' => $tr{'shutdown'},
- 'uri' => '/cgi-bin/shutdown.cgi',
- 'title' => "$tr{'shutdown'} / $tr{'reboot'}",
- 'enabled' => 1,
- };
- $subsystem->{'99.credits'} = {
- 'caption' => $tr{'credits'},
- 'uri' => '/cgi-bin/credits.cgi',
- 'title' => "$tr{'credits'}",
- 'enabled' => 1,
- };
-
my %substatushash = ();
my $substatus = \%substatushash;
- $substatus->{'10.systemstatus'} = {
- 'caption' => $tr{'sssystem status'},
- 'uri' => '/cgi-bin/status.cgi',
- 'title' => "$tr{'sssystem status'}",
- 'enabled' => 1,
- };
- $substatus->{'20.networkstatus'} = {
- 'caption' => $tr{'ssnetwork status'},
- 'uri' => '/cgi-bin/netstatus.cgi',
- 'title' => "$tr{'ssnetwork status'}",
- 'enabled' => 1,
- };
- $substatus->{'30.systemgraphs'} = {
- 'caption' => $tr{'system graphs'},
- 'uri' => '/cgi-bin/graphs.cgi',
- 'novars' => 1,
- 'title' => "$tr{'system graphs'}",
- 'enabled' => 1,
- };
- $substatus->{'40.trafficgraphs'} = {
- 'caption' => $tr{'sstraffic graphs'},
- 'uri' => '/cgi-bin/graphs.cgi',
- 'vars' => 'graph=network',
- 'title' => "$tr{'sstraffic graphs'}",
- 'enabled' => 1,
- };
- $substatus->{'50.proxygraphs'} = {
- 'caption' => $tr{'ssproxy graphs'},
- 'uri' => '/cgi-bin/proxygraphs.cgi',
- 'title' => "$tr{'ssproxy graphs'}",
- 'enabled' => 1,
- };
- $substatus->{'60.fwhits'} = {
- 'caption' => 'Firewall-Diagramme',
- 'uri' => '/cgi-bin/fwhits.cgi',
- 'title' => "Firewall-Diagramme",
- 'enabled' => 1,
- };
- $substatus->{'70.hardwaregraphs'} = {
- 'caption' => "$tr{'hardware graphs'}",
- 'uri' => '/cgi-bin/hardwaregraphs.cgi',
- 'title' => "$tr{'hardware graphs'}",
- 'enabled' => 1,
- };
- $substatus->{'80.connections'} = {
- 'caption' => $tr{'connections'},
- 'uri' => '/cgi-bin/connections.cgi',
- 'title' => "$tr{'connections'}",
- 'enabled' => 1,
- };
- $substatus->{'90.nettraf'} = {
- 'caption' => $tr{'sstraffic'},
- 'uri' => '/cgi-bin/traffic.cgi',
- 'title' => "$tr{'sstraffic'}",
- 'enabled' => 1,
- };
- $substatus->{'99.iptable'} = {
- 'caption' => $tr{'iptable rules'},
- 'uri' => '/cgi-bin/iptables.cgi',
- 'title' => "$tr{'iptable rules'}",
- 'enabled' => 1,
- };
my %subnetworkhash = ();
my $subnetwork = \%subnetworkhash;
- $subnetwork->{'10.netconf'} = {'caption' => "$tr{'net config'}",
- 'uri' => '/cgi-bin/netconfig.cgi',
- 'title' => "$tr{'net config'}",
- 'enabled' => 0,
- };
- $subnetwork->{'20.proxy'} = {'caption' => 'Webproxy',
- 'uri' => '/cgi-bin/proxy.cgi',
- 'title' => "Webproxy",
- 'enabled' => 1,
- };
- $subnetwork->{'30.urlfilter'} = {'caption' => 'URL-Filter',
- 'uri' => '/cgi-bin/urlfilter.cgi',
- 'title' => "URL-Filter",
- 'enabled' => 1,
- };
- $subnetwork->{'40.dhcp'} = {'caption' => $tr{'dhcp server'},
- 'uri' => '/cgi-bin/dhcp.cgi',
- 'title' => "$tr{'dhcp server'}",
- 'enabled' => 1,
- };
- $subnetwork->{'50.scheduler'} = {
- 'caption' => $tr{'connscheduler'},
- 'uri' => '/cgi-bin/connscheduler.cgi',
- 'title' => "$tr{'connscheduler'}",
- 'enabled' => 1,
- };
- $subnetwork->{'60.hosts'} = {
- 'caption' => $tr{'edit hosts'},
- 'uri' => '/cgi-bin/hosts.cgi',
- 'title' => "$tr{'edit hosts'}",
- 'enabled' => 1,
- };
- $subnetwork->{'70.upload'} = {
- 'caption' => $tr{'upload'},
- 'uri' => '/cgi-bin/upload.cgi',
- 'title' => "$tr{'upload'}",
- 'enabled' => 0,
- };
- $subnetwork->{'80.aliases'} = {
- 'caption' => $tr{'aliases'},
- 'uri' => '/cgi-bin/aliases.cgi',
- 'title' => "$tr{'aliases'}",
- 'enabled' => 0,
- };
- $subnetwork->{'90.wakeonlan'} = {
- 'caption' => $tr{'WakeOnLan'},
- 'uri' => '/cgi-bin/wakeonlan.cgi',
- 'title' => "$tr{'WakeOnLan'}",
- 'enabled' => 1,
- };
-
my %subserviceshash = ();
my $subservices = \%subserviceshash;
-
- $subservices->{'10.openvpn'} = {
- 'caption' => 'OpenVPN',
- 'uri' => '/cgi-bin/ovpnmain.cgi',
- 'title' => "$tr{'virtual private networking'}",
- 'enabled' => 1,
- };
- $subservices->{'20.ipsec'} = {
- 'caption' => 'IPSec',
- 'uri' => '/cgi-bin/vpnmain.cgi',
- 'title' => "$tr{'virtual private networking'}",
- 'enabled' => 1,
- };
- $subservices->{'30.dyndns'} = {'caption' => $tr{'dynamic dns'},
- 'uri' => '/cgi-bin/ddns.cgi',
- 'title' => "$tr{'dynamic dns'}",
- 'enabled' => 1,
- };
- $subservices->{'40.time'} = {'caption' => $tr{'time server'},
- 'uri' => '/cgi-bin/time.cgi',
- 'title' => "$tr{'time server'}",
- 'enabled' => 1,
- };
- $subservices->{'50.qos'} = {'caption' => 'Quality of Service',
- 'uri' => '/cgi-bin/qos.cgi',
- 'title' => "Quality of Service",
- 'enabled' => 1,
- };
- $subservices->{'60.ids'} = {'caption' => $tr{'intrusion detection'},
- 'enabled' => 1,
- 'uri' => '/cgi-bin/ids.cgi',
- 'title' => "$tr{'intrusion detection system'}",
- };
-
-
-
my %subfirewallhash = ();
my $subfirewall = \%subfirewallhash;
-
- $subfirewall->{'10.dnat'} = {
- 'caption' => $tr{'ssport forwarding'},
- 'uri' => '/cgi-bin/portfw.cgi',
- 'title' => "$tr{'ssport forwarding'}",
- 'enabled' => 1,
- };
- $subfirewall->{'20.xtaccess'} = {
- 'caption' => $tr{'external access'},
- 'uri' => '/cgi-bin/xtaccess.cgi',
- 'title' => "$tr{'external access'}",
- 'enabled' => 1,
- };
- $subfirewall->{'30.wireless'} = {
- 'caption' => $tr{'blue access'},
- 'uri' => '/cgi-bin/wireless.cgi',
- 'title' => "$tr{'blue access'}",
- 'enabled' => 1,
- };
- $subfirewall->{'40.dmz'} = {
- 'caption' => $tr{'ssdmz pinholes'},
- 'uri' => '/cgi-bin/dmzholes.cgi',
- 'title' => "$tr{'dmz pinhole configuration'}",
- 'enabled' => 1,
- };
- $subfirewall->{'50.outgoing'} = {
- 'caption' => $tr{'outgoing firewall'},
- 'uri' => '/cgi-bin/outgoingfw.cgi',
- 'title' => "$tr{'outgoing firewall'}",
- 'enabled' => 1,
- };
- $subfirewall->{'60.upnp'} = {
- 'caption' => 'UPnP',
- 'uri' => '/cgi-bin/upnp.cgi',
- 'title' => "Universal Plug and Play",
- 'enabled' => 1,
- };
- $subfirewall->{'70.fwopts'} = {
- 'caption' => $tr{'options fw'},
- 'uri' => '/cgi-bin/optionsfw.cgi',
- 'title' => "$tr{'options fw'}",
- 'enabled' => 1,
- };
-
+ my %subipfirehash = ();
+ my $subipfire = \%subipfirehash;
+
my %sublogshash = ();
my $sublogs = \%sublogshash;
- $sublogs->{'10.summary'} = {'caption' => $tr{'log summary'},
- 'uri' => '/cgi-bin/logs.cgi/summary.dat',
- 'title' => "$tr{'log summary'}",
- 'enabled' => 1
- };
- $sublogs->{'20.settings'} = {'caption' => $tr{'log settings'},
- 'uri' => '/cgi-bin/logs.cgi/config.dat',
- 'title' => "$tr{'log settings'}",
- 'enabled' => 1
- };
- $sublogs->{'30.proxy'} = {'caption' => $tr{'proxy logs'},
- 'uri' => '/cgi-bin/logs.cgi/proxylog.dat',
- 'title' => "$tr{'proxy logs'}",
- 'enabled' => 1
- };
- $sublogs->{'40.firewall'} = {'caption' => $tr{'firewall logs'},
- 'uri' => '/cgi-bin/logs.cgi/firewalllog.dat',
- 'title' => "$tr{'firewall logs'}",
- 'enabled' => 1
- };
- $sublogs->{'50.ids'} = {'caption' => $tr{'ids logs'},
- 'uri' => '/cgi-bin/logs.cgi/ids.dat',
- 'title' => "$tr{'ids logs'}",
- 'enabled' => 1
- };
- $sublogs->{'60.urlfilter'} = {
- 'caption' => $tr{'urlfilter logs'},
- 'uri' => '/cgi-bin/logs.cgi/urlfilter.dat',
- 'title' => "$tr{'urlfilter log'}",
- 'enabled' => 1,
- };
- $sublogs->{'70.openvpn'} = {'caption' => $tr{'openvpn log'},
- 'uri' => '/cgi-bin/logs.cgi/openvpn.dat',
- 'title' => "$tr{'openvpn log'}",
- 'enabled' => 1
- };
- $sublogs->{'80.system'} = {'caption' => $tr{'system logs'},
- 'uri' => '/cgi-bin/logs.cgi/log.dat',
- 'title' => "$tr{'system logs'}",
- 'enabled' => 1
- };
- $sublogs->{'90.userlog'} = {'caption' => $tr{'user proxy logs'},
- 'uri' => '/cgi-bin/logs.cgi/userlog.dat',
- 'title' => "$tr{'user log'}",
- 'enabled' => 1
- };
-
- my %subipfirehash = ();
- my $subipfire = \%subipfirehash;
- $subipfire->{'10.pakfire'} = {'caption' => 'Pakfire',
- 'uri' => '/cgi-bin/pakfire.cgi',
- 'title' => "Pakfire",
- 'enabled' => 1,
- };
- $subipfire->{'20.asterisk'} = {'caption' => 'Asterisk',
- 'uri' => '/cgi-bin/asterisk.cgi',
- 'title' => "Asterisk",
- 'enabled' => 1,
- };
- $subipfire->{'30.samba'} = {'caption' => 'Samba',
- 'uri' => '/cgi-bin/samba.cgi',
- 'title' => "Samba",
- 'enabled' => 1,
- };
- $subipfire->{'99.help'} = {'caption' => $tr{'help'},
- 'uri' => '/cgi-bin/help.cgi',
- 'title' => "$tr{'help'}",
- 'enabled' => 1,
- };
-
-
-
- $menu->{'01.system'} = {'caption' => $tr{'alt system'},
- 'enabled' => 1,
- 'subMenu' => $subsystem
- };
- $menu->{'02.status'} = {'caption' => $tr{'status'},
- 'enabled' => 1,
- 'subMenu' => $substatus
- };
- $menu->{'03.network'} = {'caption' => $tr{'network'},
- 'enabled' => 1,
- 'subMenu' => $subnetwork
- };
- $menu->{'04.services'} = {'caption' => $tr{'alt services'},
- 'enabled' => 1,
- 'subMenu' => $subservices
- };
- $menu->{'05.firewall'} = {'caption' => $tr{'firewall'},
- 'enabled' => 1,
- 'subMenu' => $subfirewall
- };
- $menu->{'06.proxy'} = {'caption' => $tr{'alt proxy'},
- 'enabled' => 1,
- 'subMenu' => $subproxy
- };
- $menu->{'07.ipfire'} = {'caption' => 'IPFire',
- 'enabled' => 1,
- 'subMenu' => $subipfire
- };
- $menu->{'08.logs'} = {'caption' => $tr{'alt logs'},
- 'enabled' => 1,
- 'subMenu' => $sublogs
- };
+ eval `/bin/cat /var/ipfire/menu.d/*.menu`;
+ eval `/bin/cat /var/ipfire/menu.d/*.main`;
if (! blue_used() && ! orange_used()) {
$menu->{'05.firewall'}{'subMenu'}->{'40.dmz'}{'enabled'} = 0;