* All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ ##|+PRIV ##|*IDENT=page-status-upnpstatus ##|*NAME=Status: UPnP Status ##|*DESCR=Allow access to the 'Status: UPnP Status' page. ##|*MATCH=status_upnp.php* ##|-PRIV require_once("guiconfig.inc"); if ($_POST) { if ($_POST['clear']) { upnp_action('restart'); $savemsg = gettext("Rules have been cleared and the daemon restarted."); } } $rdr_entries = array(); exec("/sbin/pfctl -aminiupnpd -sn", $rdr_entries, $pf_ret); $pgtitle = array(gettext("Status"), gettext("UPnP & NAT-PMP")); $shortcut_section = "upnp"; include("head.inc"); if ($savemsg) { print_info_box($savemsg, 'success'); } if (!$config['installedpackages'] || !$config['installedpackages']['miniupnpd']['config'][0]['iface_array'] || !$config['installedpackages']['miniupnpd']['config'][0]['enable']) { print_info_box(sprintf(gettext('UPnP is currently disabled. It can be enabled here: %1$s%2$s%3$s.'), '', gettext('Services > UPnP & NAT-PMP'), ''), 'danger'); include("foot.inc"); exit; } ?>

(.*) port (.*)/", $rdr_entry, $matches)) { $rdr_proto = $matches[2]; $rdr_port = $matches[3]; $rdr_label =$matches[4]; $rdr_ip = $matches[5]; $rdr_iport = $matches[6]; ?>