summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2009-10-19 22:16:19 -0400
committerScott Ullrich <sullrich@pfsense.org>2009-10-19 22:16:36 -0400
commit4aca19b306cf3b5c4cf6a9e2bdb12896d907ea3f (patch)
tree273ee987c5795bc7fc2f472d926e3d658a99cece
parent58ed68e5af116e4f38af7b7d089f770b5f087c45 (diff)
downloadpfsense-4aca19b306cf3b5c4cf6a9e2bdb12896d907ea3f.zip
pfsense-4aca19b306cf3b5c4cf6a9e2bdb12896d907ea3f.tar.gz
Use useland pppd for ppp connections
-rw-r--r--etc/inc/filter.inc30
-rw-r--r--etc/inc/interfaces.inc204
-rw-r--r--etc/inc/util.inc2
-rw-r--r--usr/local/www/interfaces_ppp.php28
-rw-r--r--usr/local/www/interfaces_ppp_edit.php194
5 files changed, 215 insertions, 243 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index a5eb633..c0f7bc1 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -504,6 +504,8 @@ function filter_generate_optcfg_array()
$iflist = get_configured_interface_with_descr();
foreach ($iflist as $if => $ifdetail) {
$oc = $config['interfaces'][$if];
+ if($oc['serialport'])
+ continue;
$oic = array();
$oic['if'] = get_real_interface($if);
$oic['ip'] = get_interface_ip($if);
@@ -583,7 +585,7 @@ function filter_generate_optcfg_array()
$FilterIflist['openvpn'] = $oic;
}
/* add interface groups */
- if (is_array($config['ifgroups']['ifgroupentry']))
+ if (is_array($config['ifgroups']['ifgroupentry'])) {
foreach($config['ifgroups']['ifgroupentry'] as $ifgen) {
$oc = array();
$oc['if'] = $ifgen['ifname'];
@@ -591,6 +593,32 @@ function filter_generate_optcfg_array()
$oc['virtual'] = true;
$FilterIflist[$ifgen['ifname']] = $oc;
}
+ }
+ if($config['ppps']) {
+ $ppp=0;
+ $startingip = 1;
+ foreach($config['ppps']['ppp'] as $ifgen) {
+ $dev = substr($ifgen['port'], 5);
+ $ps = trim(`ps awux | grep -v grep | grep "$dev" | awk '{ print \$2 }'`);
+ if($ps) {
+ $interface = trim(`ifconfig | grep -v grep | grep -B2 "$ps" | head -n1 | cut -d: -f1`);
+ if($interface) {
+ foreach ($config['interfaces'] as $ifdescr => $ifname) {
+ if($ifname['serialport'] == $dev) {
+ $oc = array();
+ $oc['if'] = $interface;
+ $oc['descr'] = $ifname['descr'];
+ $oc['virtual'] = true;
+ unset($FilterIflist[$ifname['descr']]);
+ $FilterIflist[$ifname['descr']] = $oc;
+ $ppp++;
+
+ }
+ }
+ }
+ }
+ }
+ }
}
function filter_flush_nat_table()
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 29cab8a..52d771b 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -124,36 +124,36 @@ function interface_vlan_configure(&$vlan) {
mwexec("/sbin/ifconfig {$if} vlanhwtag");
mwexec("/sbin/ifconfig {$if} vlanmtu");
- if (!empty($vlanif) && does_interface_exist($vlanif))
+ if (!empty($vlanif) && does_interface_exist($vlanif)) {
mwexec("/sbin/ifconfig {$vlanif} delete");
- else {
+ } else {
$tmpvlanif = exec("/sbin/ifconfig vlan create");
mwexec("/sbin/ifconfig {$tmpvlanif} name {$vlanif}");
}
- mwexec("/sbin/ifconfig {$vlanif} vlan " .
- escapeshellarg($tag) . " vlandev " .
- escapeshellarg($if));
+ mwexec("/sbin/ifconfig {$vlanif} vlan " .
+ escapeshellarg($tag) . " vlandev " .
+ escapeshellarg($if));
interfaces_bring_up($vlanif);
- /* invalidate interface cache */
- get_interface_arr(true);
+ /* invalidate interface cache */
+ get_interface_arr(true);
- /* all vlans need to spoof their parent mac address, too. see
- * ticket #1514: http://cvstrac.pfsense.com/tktview?tn=1514,33
- */
- foreach($config['interfaces'] as $interfaces) {
- if($interfaces['if'] == $if && $interfaces['spoofmac']) {
- mwexec("/sbin/ifconfig " . escapeshellarg($vlanif) .
- " link " . escapeshellarg($interfaces['spoofmac']));
- }
- }
+ /* all vlans need to spoof their parent mac address, too. see
+ * ticket #1514: http://cvstrac.pfsense.com/tktview?tn=1514,33
+ */
+ foreach($config['interfaces'] as $interfaces) {
+ if($interfaces['if'] == $if && $interfaces['spoofmac']) {
+ mwexec("/sbin/ifconfig " . escapeshellarg($vlanif) .
+ " link " . escapeshellarg($interfaces['spoofmac']));
+ }
+ }
- /* XXX: ermal -- for now leave it here at the moment it does not hurt. */
+ /* XXX: ermal -- for now leave it here at the moment it does not hurt. */
interfaces_bring_up($if);
- return $vlanif;
+ return $vlanif;
}
function interface_qinq_configure(&$vlan, $fd = NULL) {
@@ -652,7 +652,7 @@ function interfaces_configure() {
global $config, $g;
/* Set up our loopback interface */
- interfaces_loopback_configure();
+ interfaces_loopback_configure();
/* set up LAGG virtual interfaces */
interfaces_lagg_configure();
@@ -840,121 +840,75 @@ function interface_bring_down($interface = "wan", $destroy = false) {
}
function interfaces_ppp_configure() {
- global $config;
-
- $i = 0;
- if (is_array($config['ppps']['ppp']) && count($config['ppps']['ppp'])) {
- foreach ($config['ppps']['ppp'] as $ppp) {
- if(empty($ppp['pppif']))
- $ppp['pppif'] = "ppp{$i}";
- /* XXX: Maybe we should report any errors?! */
- interface_ppp_configure($ppp);
- $i++;
- }
- }
+ global $config;
+ if($g['booting'])
+ conf_mount_rw();
+ foreach ($config['ppps']['ppp'] as $ppp) {
+ $dev = substr($ppp['port'], 5);
+ interface_ppp_configure($dev);
+ }
+ if(!$g['booting'])
+ conf_mount_ro();
}
-function interface_ppp_configure(&$ifcfg) {
+function interface_ppp_configure($ifcfg) {
global $config, $g;
/* Remove the /dev/ from the device name. */
- $dev = substr($ifcfg['port'], 5);
-
- $realif = $ifcfg['pppif'];
- if ($realif <> "") {
- $i = 0;
- while ($realif != "ppp{$i}")
+ $orig_dev = $ifcfg;
+
+ // ppp (userland) requires a /var/spool/lock directory
+ if(!is_dir("/var/spool/lock")) {
+ exec("mkdir -p /var/spool/lock");
+ exec("chmod a+rw /var/spool/lock/.");
+ }
+
+ // Construct the ppp.conf file
+ $peerfile .= "default:\n";
+ $peerfile .= " set log Phase Chat LCP IPCP CCP tun command\n";
+ $peerfile .= " ident user-ppp VERSION (built COMPILATIONDATE)\n";
+ $peerfile .= " set dial \"ABORT BUSY ABORT NO\\\sCARRIER TIMEOUT 5 \\\n";
+ $peerfile .= " \\\"\\\" AT OK-AT-OK ATE1Q0 OK \\\dATDT\\\T TIMEOUT 40 CONNECT\"\n";
+ $peerfile .= " enable dns\n";
+ $peerfile .= " nat enable yes\n";
+ $peerfile .= " set reconnect {$ifcfg['connect-max-attempts']} 5\n";
+ $peerfile .= " allow users root\n\n";
+
+ // Loop variables
+ $i = 0;
+ $startingip = 1;
+
+ if (is_array($config['ppps']['ppp']) && count($config['ppps']['ppp'])) {
+ foreach ($config['ppps']['ppp'] as $ppp) {
+ $dev = substr($ppp['port'], 5);
+ $realif = $ppp['port'];
+ $peerfile .= "{$dev}:\n";
+ $peerfile .= " set device {$realif}\n";
+ if($ppp['dialcmd'])
+ $peerfile .= " set dial {$ppp['dialcmd']}\n";
+ $peerfile .= " set speed \"{$ppp['linespeed']}\"\n";
+ $peerfile .= " add default HISADDR\n";
+ $peerfile .= " set timeout 0\n";
+ $endingip = $startingip+1;
+ if($ppp['localip'])
+ $startingip = $ppp['localip'];
+ if($ppp['gateway'])
+ $endingip = $ppp['gateway'];
+ $peerfile .= " set ifaddr 10.0.0.{$startingip}/0 10.0.0.{$endingip}/0 255.255.255.0 0.0.0.0\n";
+ $peerfile .= " set phone \"{$ppp['phone']}\"\n";
+ $peerfile .= " set authname \"{$ppp['username']}\"\n";
+ $peerfile .= " set authkey \"{$ppp['password']}\"\n";
+ $peerfile .= "\n";
$i++;
- if(file_exists("/var/run/ppp{$i}.pid")) {
- $pid = trim(file_get_contents("/var/run/ppp{$i}.pid"));
- mwexec("kill {$pid}");
+ $startingip++;
}
- }
-
- if ($g['booting'] || $realif <> "") {
- mwexec("/sbin/ifconfig {$realif} destroy");
- mwexec("/sbin/ifconfig {$realif} create");
- } else
- $realif = exec("/sbin/ifconfig ppp create");
-
-
- $peerfile = "lcp-echo-failure 0\n";
- $peerfile .= "lcp-echo-interval 0\n";
- $peerfile .= "connect /etc/ppp/peers/ppp{$dev}-connect-chat\n";
- //$peerfile .= "disconnect /etc/ppp/peers/ppp{$dev}-disconnect-chat\n";
- $peerfile .= "{$ifcfg['port']} {$ifcfg['linespeed']}\n";
- $peerfile .= "crtscts\n";
- if ($ifcfg['connect-max-attempts'] <> "")
- $peerfile .= "connect-max-attempts {$ifcfg['connect-max-attempts']}";
- $peerfile .= "local\n";
- if ($ifcfg['localip'] <> "") {
- $peerfile .= ":{$ifcfg['gateway']}\n";
- $peerfile .= "{$ifcfg['localip']}:{$ifcfg['gateway']}";
- } else if ($ifcfg['gateway'] <> "") {
- $peerfile .= ":{$ifcfg['gateway']}\n";
- $peerfile .= "noipdefault\n";
- } else
- $peerfile .= "noipdefault\n";
- $peerfile .= "ipcp-accept-local\n";
- $peerfile .= "novj\n";
- $peerfile .= "nobsdcomp\n";
- $peerfile .= "novjccomp\n";
- $peerfile .= "nopcomp\n";
- $peerfile .= "noaccomp\n";
- $peerfile .= "noauth\n";
- //$peerfile .= "nodetach\n";
- $peerfile .= "persist\n";
- $peerfile .= "debug\n";
- // KD - test
- //$peerfile .= "defaultroute\n";
- //$peerfile .= "nodetach\n";
- // KD - so I know where to look!
- $peerfile .= "# created by /etc/inc/interfaces.inc\n";
-
- // Added single quotes to some strings below:
- // the \rAT is *always* going to need it
- // and the phone number on a GSM connection ends in a # char
- // Kevin Dawson, 22 Jan 2008
- // Refer Andrew Curtis
-
- $chatfile = "#!/bin/sh\n";
- $chatfile .= "exec chat \\\n";
- $chatfile .= "TIMEOUT 5 \\\n";
- $chatfile .= "ECHO ON \\\n";
- $chatfile .= "ABORT '\\nBUSY\\r' \\\n";
- $chatfile .= "ABORT '\\nERROR\\r' \\\n";
- $chatfile .= "ABORT '\\nNO ANSWER\\r' \\\n";
- $chatfile .= "ABORT '\\nNO CARRIER\\r' \\\n";
- $chatfile .= "ABORT '\\nNO DIALTONE\\r' \\\n";
- $chatfile .= "ABORT '\\nRINGING\\r\\n\\r\\nRINGING\\r' \\\n";
- // KD
- $chatfile .= "'' '\\rAT' \\\n";
- $chatfile .= "TIMEOUT 12 \\\n";
- $chatfile .= "OK ATH \\\n";
- $chatfile .= "OK ATE1 \\\n";
- $chatfile .= "OK 'AT+CGDCONT=1,\"IP\",\"{$ifcfg['ap']}\"' \\\n";
- // KD
- $chatfile .= "OK 'ATD{$ifcfg['phone']}' \\\n";
- $chatfile .= "TIMEOUT 22 \\\n";
- if ($ifcfg['username'] <> "") {
- $chatfile .= "CONNECT \"\" TIMEOUT 10 \\\n";
- $chatfile .= "ogin:-\\r-ogin: {$ifcfg['username']}\\\n";
- $chatfile .= " TIMEOUT 5 sword: {$ifcfg['password']} \\\n";
- } else
- $chatfile .= "CONNECT \"\" \\\n";
- $chatfile .= "SAY \"\\nConnected.\"\n";
+ }
- conf_mount_rw();
- safe_mkdir("/etc/ppp/peers", "0755");
- file_put_contents("/etc/ppp/peers/ppp_{$dev}", $peerfile);
- file_put_contents("/etc/ppp/peers/ppp{$dev}-connect-chat", $chatfile);
- chmod("/etc/ppp/peers/ppp{$dev}-connect-chat", 0755);
- conf_mount_ro();
-
- sleep(1);
- mwexec("/usr/sbin/pppd call ppp_{$dev}");
+ // Write out configuration for ppp.conf
+ file_put_contents("/etc/ppp/ppp.conf", $peerfile);
- return $realif;
+ // Launch specified ppp instance
+ mwexec("/usr/sbin/ppp -background {$orig_dev}");
}
function interfaces_carp_setup() {
diff --git a/etc/inc/util.inc b/etc/inc/util.inc
index 526631b..e507926 100644
--- a/etc/inc/util.inc
+++ b/etc/inc/util.inc
@@ -540,6 +540,8 @@ function get_interface_list($mode = "active", $keyby = "physical", $vfaces = "")
$toput['dmesg'] = $dmesg[1][0];
$iflist[$ifname] = $toput;
break;
+ case "ppp":
+
case "friendly":
if($friendly != "") {
$toput['if'] = $ifname;
diff --git a/usr/local/www/interfaces_ppp.php b/usr/local/www/interfaces_ppp.php
index 7429ae0..e40f87d 100644
--- a/usr/local/www/interfaces_ppp.php
+++ b/usr/local/www/interfaces_ppp.php
@@ -7,6 +7,7 @@
Changes by Chris Buechler <cmb at pfsense dot org>
Copyright (C) 2004-2008 BSD Perimeter LLC.
+ Copyright (C) 2004-2009 Scott Ullrich
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -51,13 +52,11 @@ $a_ppps = &$config['ppps']['ppp'] ;
function ppp_inuse($num) {
global $config, $g;
-
$iflist = get_configured_interface_list(false, true);
foreach ($iflist as $if) {
if ($config['interfaces'][$if]['if'] == "ppp{$num}")
return true;
}
-
return false;
}
@@ -66,22 +65,9 @@ if ($_GET['act'] == "del") {
if (ppp_inuse($_GET['id'])) {
$input_errors[] = "This PPP interface cannot be deleted because it is still being used as an interface.";
} else {
- $realif = $a_ppps[$_GET['id']]['pppif'];
- if ($realif <> "") {
- $i = 0;
- while ($realif != "ppp{$i}")
- $i++;
- if (file_exists("/var/run/ppp{$i}.pid")) {
- $pid = trim(file_get_contents("/var/run/ppp{$i}.pid"));
- mwexec("/bin/kill {$pid}");
- }
- }
-
- mwexec("/sbin/ifconfig {$realif} destroy");
unset($a_ppps[$_GET['id']]);
-
write_config();
-
+ interfaces_ppp_configure();
header("Location: interfaces_ppp.php");
exit;
}
@@ -104,8 +90,8 @@ include("head.inc");
$tab_array[2] = array("VLANs", false, "interfaces_vlan.php");
$tab_array[3] = array("QinQs", false, "interfaces_qinq.php");
$tab_array[4] = array("PPP", true, "interfaces_ppp.php");
- $tab_array[5] = array("GRE", false, "interfaces_gre.php");
- $tab_array[6] = array("GIF", false, "interfaces_gif.php");
+ $tab_array[5] = array("GRE", false, "interfaces_gre.php");
+ $tab_array[6] = array("GIF", false, "interfaces_gif.php");
$tab_array[7] = array("Bridges", false, "interfaces_bridge.php");
$tab_array[8] = array("LAGG", false, "interfaces_lagg.php");
display_top_tabs($tab_array);
@@ -116,16 +102,12 @@ include("head.inc");
<div id="mainarea">
<table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
- <td width="20%" class="listhdrr">Interface</td>
<td width="20%" class="listhdrr">Serial Port</td>
<td width="50%" class="listhdr">Description</td>
<td width="10%" class="list"></td>
</tr>
<?php $i = 0; foreach ($a_ppps as $id => $ppp): ?>
<tr>
- <td class="listlr">
- <?=htmlspecialchars($ppp['pppif']);?>
- </td>
<td class="listr">
<?=htmlspecialchars($ppp['port']);?>
</td>
@@ -137,7 +119,7 @@ include("head.inc");
</tr>
<?php $i++; endforeach; ?>
<tr>
- <td class="list" colspan="3">&nbsp;</td>
+ <td class="list" colspan="2">&nbsp;</td>
<td class="list"> <a href="interfaces_ppp_edit.php"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td>
</tr>
</table>
diff --git a/usr/local/www/interfaces_ppp_edit.php b/usr/local/www/interfaces_ppp_edit.php
index d30a3f9..baafa0b 100644
--- a/usr/local/www/interfaces_ppp_edit.php
+++ b/usr/local/www/interfaces_ppp_edit.php
@@ -5,8 +5,10 @@
Originally written by Adam Lebsack <adam at holonyx dot com>
Changes by Chris Buechler <cmb at pfsense dot org>
+ Additions by Scott Ullrich <sullrich@pfsense.org>
- Copyright (C) 2004-2008 BSD Perimeter LLC.
+ Copyright (C) 2004-2009 BSD Perimeter LLC.
+ Copyright (C) 2009 Scott Ullrich
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -55,13 +57,13 @@ if (isset($_POST['id']))
if (isset($id) && $a_ppps[$id]) {
$pconfig['port'] = $a_ppps[$id]['port'];
$pconfig['ap'] = $a_ppps[$id]['ap'];
- $pconfig['pppif'] = $a_ppps[$id]['pppif'];
$pconfig['initstr'] = $a_ppps[$id]['initstr'];
$pconfig['username'] = $a_ppps[$id]['username'];
$pconfig['password'] = $a_ppps[$id]['password'];
$pconfig['gateway'] = $a_ppps[$id]['gateway'];
$pconfig['localip'] = $a_ppps[$id]['localip'];
$pconfig['phone'] = $a_ppps[$id]['phone'];
+ $pconfig['dialcmd'] = $a_ppps[$id]['dialcmd'];
$pconfig['connect-max-attempts'] = $a_ppps[$id]['connect-max-attempts'];
$pconfig['linespeed'] = $a_ppps[$id]['linespeed'];
$pconfig['descr'] = $a_ppps[$id]['descr'];
@@ -94,6 +96,7 @@ if ($_POST) {
$ppp['initstr'] = $_POST['initstr'];
$ppp['ap'] = $_POST['ap'];
$ppp['phone'] = $_POST['phone'];
+ $ppp['dialcmd'] = $_POST['dialcmd'];
$ppp['username'] = $_POST['username'];
$ppp['password'] = $_POST['password'];
$ppp['localip'] = $_POST['localip'];
@@ -101,21 +104,18 @@ if ($_POST) {
$ppp['linespeed'] = $_POST['linespeed'];
$ppp['connect-max-attempts'] = $_POST['connect-max-attempts'];
$ppp['descr'] = $_POST['descr'];
- $ppp['pppif'] = $_POST['pppif'];
- $ppp['pppif'] = interface_ppp_configure($ppp);
- if ($ppp['pppif'] == "" || !stristr($ppp['pppif'], "ppp"))
- $input_errors[] = "Error occurred creating PPP interface. Check System log for details";
- else {
- if (isset($id) && $a_ppps[$id])
- $a_ppps[$id] = $ppp;
- else
- $a_ppps[] = $ppp;
-
- write_config();
-
- header("Location: interfaces_ppp.php");
- exit;
- }
+
+ interfaces_ppp_configure();
+
+ if (isset($id) && $a_ppps[$id])
+ $a_ppps[$id] = $ppp;
+ else
+ $a_ppps[] = $ppp;
+
+ write_config();
+
+ header("Location: interfaces_ppp.php");
+ exit;
}
}
@@ -127,34 +127,36 @@ include("head.inc");
<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
<?php include("fbegin.inc"); ?>
<?php if ($input_errors) print_input_errors($input_errors); ?>
- <form action="interfaces_ppp_edit.php" method="post" name="iform" id="iform">
- <table width="100%" border="0" cellpadding="6" cellspacing="0">
- <tr>
- <td colspan="2" valign="top" class="listtopic">PPP configuration</td>
- </tr>
- <tr>
- <td width="22%" valign="top" class="vncellreq">Parent interface</td>
- <td width="78%" class="vtable">
- <select name="port" id="port" class="formselect">
- <?php
- $portlist = glob("/dev/cua*");
- foreach ($portlist as $port) {
- if(preg_match("/\.(lock|init)$/", $port))
- continue;
- echo "<option value=\"".trim($port)."\"";
- if ($pconfig['port'] == $port)
- echo "selected";
- echo ">{$port}</option>";
- }
- ?>
- </select>
- </tr>
- <tr>
- <td width="22%" valign="top" class="vncell">Init String</td>
- <td width="78%" class="vtable">
- <textarea name="initstr"><?=htmlspecialchars($pconfig['initstr']);?></textarea>
- <br> <span class="vexpl">Enter the modem initialization string here</span></td>
- </tr>
+<form action="interfaces_ppp_edit.php" method="post" name="iform" id="iform">
+ <table width="100%" border="0" cellpadding="6" cellspacing="0">
+ <tr>
+ <td colspan="2" valign="top" class="listtopic">PPP configuration</td>
+ </tr>
+ <tr>
+ <td width="22%" valign="top" class="vncellreq">Parent interface</td>
+ <td width="78%" class="vtable">
+ <select name="port" id="port" class="formselect">
+ <?php
+ $portlist = glob("/dev/cua*");
+ foreach ($portlist as $port) {
+ if(preg_match("/\.(lock|init)$/", $port))
+ continue;
+ echo "<option value=\"".trim($port)."\"";
+ if ($pconfig['port'] == $port)
+ echo "selected";
+ echo ">{$port}</option>";
+ }
+ ?>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td width="22%" valign="top" class="vncell">Init String</td>
+ <td width="78%" class="vtable">
+ <textarea name="initstr"><?=htmlspecialchars($pconfig['initstr']);?></textarea>
+ <br><span class="vexpl">Enter the modem initialization string here</span>
+ </td>
+ </tr>
<tr>
<td width="22%" valign="top" class="vncell">AP Hostname</td>
<td width="78%" class="vtable">
@@ -162,22 +164,28 @@ include("head.inc");
</td>
</tr>
<tr>
+ <td width="22%" valign="top" class="vncell">Dial command</td>
+ <td width="78%" class="vtable">
+ <textarea rows="4" cols="65" name="dialcmd" id="dialcmd"><?=htmlspecialchars($pconfig['dialcmd']);?></textarea>
+ </td>
+ </tr>
+ <tr>
<td width="22%" valign="top" class="vncell">Phone Number</td>
<td width="78%" class="vtable">
<input name="phone" type="text" class="formfld unknown" id="phone" size="40" value="<?=htmlspecialchars($pconfig['phone']);?>">
</td>
</tr>
- <tr>
- <td width="22%" valign="top" class="vncell">Username</td>
- <td width="78%" class="vtable">
- <input name="username" type="text" class="formfld user" id="username" size="20" value="<?=htmlspecialchars($pconfig['username']);?>">
- </td>
- </tr>
- <tr>
- <td width="22%" valign="top" class="vncell">Password</td>
- <td width="78%" class="vtable">
- <input name="password" type="password" class="formfld pwd" id="password" value="<?=htmlspecialchars($pconfig['password']);?>">
- </td>
+ <tr>
+ <td width="22%" valign="top" class="vncell">Username</td>
+ <td width="78%" class="vtable">
+ <input name="username" type="text" class="formfld user" id="username" size="20" value="<?=htmlspecialchars($pconfig['username']);?>">
+ </td>
+ </tr>
+ <tr>
+ <td width="22%" valign="top" class="vncell">Password</td>
+ <td width="78%" class="vtable">
+ <input name="password" type="password" class="formfld pwd" id="password" value="<?=htmlspecialchars($pconfig['password']);?>">
+ </td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell">Local IP</td>
@@ -185,46 +193,44 @@ include("head.inc");
<input name="localip" type="text" class="formfld unknown" id="localip" size="40" value="<?=htmlspecialchars($pconfig['localip']);?>">
<span><p>Note: Enter your IP address here if it is not automatically assigned.</span>
</td>
- </tr>
- <tr>
- <td width="22%" valign="top" class="vncell">Remote IP</td>
- <td width="78%" class="vtable">
- <input name="gateway" type="text" class="formfld unknown" id="gateway" size="40" value="<?=htmlspecialchars($pconfig['gateway']);?>">
- <span><p>Note: Enter the remote IP here if not automatically assigned. This
- is where the packets will be routed, equivalent to the gateway.</span>
- </td>
- </tr>
+ </tr>
<tr>
- <td width="22%" valign="top" class="vncell">Line Speed</td>
- <td width="78%" class="vtable">
- <input name="linespeed" type="text" class="formfld unknown" id="linespeed" size="40" value="<?=htmlspecialchars($pconfig['linespeed']);?>">
- </td>
- </tr>
- <tr>
- <td width="22%" valign="top" class="vncell">Maximum connection retry</td>
- <td width="78%" class="vtable">
- <input name="connect-max-attempts" type="text" class="formfld unknown" id="connect-max-attempts" size="2" value="<?=htmlspecialchars($pconfig['connect-max-attempts']);?>">
- </td>
- </tr>
+ <td width="22%" valign="top" class="vncell">Remote IP</td>
+ <td width="78%" class="vtable">
+ <input name="gateway" type="text" class="formfld unknown" id="gateway" size="40" value="<?=htmlspecialchars($pconfig['gateway']);?>">
+ <span><p>Note: Enter the remote IP here if not automatically assigned. This is where the packets will be routed, equivalent to the gateway.</span>
+ </td>
+ </tr>
<tr>
- <td width="22%" valign="top" class="vncell">Description</td>
- <td width="78%" class="vtable">
- <input name="descr" type="text" class="formfld unknown" id="descr" size="40" value="<?=htmlspecialchars($pconfig['descr']);?>">
- <br> <span class="vexpl">You may enter a description here
- for your reference (not parsed).</span></td>
- </tr>
- <tr>
- <td width="22%" valign="top">&nbsp;</td>
- <td width="78%">
- <input name="Submit" type="submit" class="formbtn" value="Save">
- <input type="button" value="Cancel" onclick="history.back()">
- <?php if (isset($id) && $a_ppps[$id]): ?>
- <input name="id" type="hidden" value="<?=$id;?>">
- <input name="pppif" id="pppif" type="hidden" value="<?=$pconfig['pppif'];?>">
- <?php endif; ?>
- </td>
- </tr>
- </table>
+ <td width="22%" valign="top" class="vncell">Line Speed</td>
+ <td width="78%" class="vtable">
+ <input name="linespeed" type="text" class="formfld unknown" id="linespeed" size="40" value="<?=htmlspecialchars($pconfig['linespeed']);?>">
+ </td>
+ </tr>
+ <tr>
+ <td width="22%" valign="top" class="vncell">Maximum connection retry</td>
+ <td width="78%" class="vtable">
+ <input name="connect-max-attempts" type="text" class="formfld unknown" id="connect-max-attempts" size="2" value="<?=htmlspecialchars($pconfig['connect-max-attempts']);?>">
+ </td>
+ </tr>
+ <tr>
+ <td width="22%" valign="top" class="vncell">Description</td>
+ <td width="78%" class="vtable">
+ <input name="descr" type="text" class="formfld unknown" id="descr" size="40" value="<?=htmlspecialchars($pconfig['descr']);?>">
+ <br> <span class="vexpl">You may enter a description here for your reference (not parsed).</span>
+ </td>
+ </tr>
+ <tr>
+ <td width="22%" valign="top">&nbsp;</td>
+ <td width="78%">
+ <input name="Submit" type="submit" class="formbtn" value="Save">
+ <input type="button" value="Cancel" onclick="history.back()">
+ <?php if (isset($id) && $a_ppps[$id]): ?>
+ <input name="id" type="hidden" value="<?=$id;?>">
+ <?php endif; ?>
+ </td>
+ </tr>
+ </table>
</form>
<?php include("fend.inc"); ?>
</body>
OpenPOWER on IntegriCloud