summaryrefslogtreecommitdiffstats
path: root/usr
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 /usr
parent58ed68e5af116e4f38af7b7d089f770b5f087c45 (diff)
downloadpfsense-4aca19b306cf3b5c4cf6a9e2bdb12896d907ea3f.zip
pfsense-4aca19b306cf3b5c4cf6a9e2bdb12896d907ea3f.tar.gz
Use useland pppd for ppp connections
Diffstat (limited to 'usr')
-rw-r--r--usr/local/www/interfaces_ppp.php28
-rw-r--r--usr/local/www/interfaces_ppp_edit.php194
2 files changed, 105 insertions, 117 deletions
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