diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2009-10-19 22:16:19 -0400 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2009-10-19 22:16:36 -0400 |
commit | 4aca19b306cf3b5c4cf6a9e2bdb12896d907ea3f (patch) | |
tree | 273ee987c5795bc7fc2f472d926e3d658a99cece /usr/local | |
parent | 58ed68e5af116e4f38af7b7d089f770b5f087c45 (diff) | |
download | pfsense-4aca19b306cf3b5c4cf6a9e2bdb12896d907ea3f.zip pfsense-4aca19b306cf3b5c4cf6a9e2bdb12896d907ea3f.tar.gz |
Use useland pppd for ppp connections
Diffstat (limited to 'usr/local')
-rw-r--r-- | usr/local/www/interfaces_ppp.php | 28 | ||||
-rw-r--r-- | usr/local/www/interfaces_ppp_edit.php | 194 |
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"> </td> + <td class="list" colspan="2"> </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"> </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"> </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> |