From 4aca19b306cf3b5c4cf6a9e2bdb12896d907ea3f Mon Sep 17 00:00:00 2001 From: Scott Ullrich Date: Mon, 19 Oct 2009 22:16:19 -0400 Subject: Use useland pppd for ppp connections --- usr/local/www/interfaces_ppp.php | 28 +---- usr/local/www/interfaces_ppp_edit.php | 194 ++++++++++++++++++---------------- 2 files changed, 105 insertions(+), 117 deletions(-) (limited to 'usr/local/www') 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 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");
- $ppp): ?> - @@ -137,7 +119,7 @@ include("head.inc"); - +
Interface Serial Port Description
- -
  
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 Changes by Chris Buechler + Additions by Scott Ullrich - 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"); -
- - - - - - - - - - - + +
PPP configuration
Parent interface - -
Init String - -
Enter the modem initialization string here
+ + + + + + + + + + + + + + + - - - - - - - + + + + + + + @@ -185,46 +193,44 @@ include("head.inc");

Note: Enter your IP address here if it is not automatically assigned. -

- - - - + - - - - - - - + + + - - - - - - - -
PPP configuration
Parent interface + +
Init String + +
Enter the modem initialization string here +
AP Hostname @@ -162,22 +164,28 @@ include("head.inc");
Dial command + +
Phone Number
Username - -
Password - -
Username + +
Password + +
Local IP
Remote IP - -

Note: Enter the remote IP here if not automatically assigned. This - is where the packets will be routed, equivalent to the gateway. -

Line Speed - -
Maximum connection retry - -
Remote IP + +

Note: Enter the remote IP here if not automatically assigned. This is where the packets will be routed, equivalent to the gateway. +

Description - -
You may enter a description here - for your reference (not parsed).
  - - - - - - -
+ Line Speed + + + + + + Maximum connection retry + + + + + + Description + + +
You may enter a description here for your reference (not parsed). + + + +   + + + + + + + + +
-- cgit v1.1