Bug #2758 » patch-partial-bug-2758.diff
| etc/inc/interfaces.inc | ||
|---|---|---|
| 1133 | 1133 |
if ($g['debug']) |
| 1134 | 1134 |
log_error("Calling interface down for interface {$interface}, destroy is " . (($destroy) ? 'true' : 'false'));
|
| 1135 | 1135 | |
| 1136 |
if ($ifacecfg === false) |
|
| 1136 |
if ($ifacecfg === false) {
|
|
| 1137 | 1137 |
$ifcfg = $config['interfaces'][$interface]; |
| 1138 |
else if (!is_array($ifacecfg)) |
|
| 1138 |
$ppps = $config['ppps']['ppp']; |
|
| 1139 |
$realif = get_real_interface($interface); |
|
| 1140 |
} elseif (!is_array($ifacecfg)) {
|
|
| 1139 | 1141 |
log_error(gettext("Wrong parameters used during interface_bring_down"));
|
| 1140 |
else
|
|
| 1141 |
$ifcfg = $ifacecfg; |
|
| 1142 |
|
|
| 1142 |
} else {
|
|
| 1143 |
$ifcfg = $ifacecfg['ifcfg'];
|
|
| 1144 |
$ppps = $ifacecfg['ppps']; |
|
| 1143 | 1145 | |
| 1144 |
$realif = get_real_interface($interface); |
|
| 1146 |
/* Detect the old realif */ |
|
| 1147 |
} |
|
| 1145 | 1148 | |
| 1146 | 1149 |
switch ($ifcfg['ipaddr']) {
|
| 1147 | 1150 |
case "ppp": |
| 1148 | 1151 |
case "pppoe": |
| 1149 | 1152 |
case "pptp": |
| 1150 | 1153 |
case "l2tp": |
| 1151 |
if (is_array($config['ppps']['ppp']) && count($config['ppps']['ppp'])) {
|
|
| 1152 |
foreach ($config['ppps']['ppp'] as $pppid => $ppp) {
|
|
| 1154 |
if (is_array($ppps) && count($ppps)) {
|
|
| 1155 |
foreach ($ppps as $pppid => $ppp) {
|
|
| 1153 | 1156 |
if ($realif == $ppp['if']) {
|
| 1154 | 1157 |
if (isset($ppp['ondemand']) && !$destroy){
|
| 1155 | 1158 |
send_event("interface reconfigure {$interface}");
|
| usr/local/www/interfaces.php | ||
|---|---|---|
| 86 | 86 | |
| 87 | 87 |
$wancfg = &$config['interfaces'][$if]; |
| 88 | 88 |
$old_wancfg = $wancfg; |
| 89 |
$old_ppps = $a_ppps; |
|
| 89 | 90 |
// Populate page descr if it does not exist. |
| 90 | 91 |
if ($if == "wan" && !$wancfg['descr']) |
| 91 | 92 |
$wancfg['descr'] = "WAN"; |
| ... | ... | |
| 388 | 389 |
} else {
|
| 389 | 390 |
$toapplylist = array(); |
| 390 | 391 |
} |
| 391 |
$toapplylist[$if] = $wancfg; |
|
| 392 |
$toapplylist[$if]['ifcfg'] = $wancfg; |
|
| 393 |
$toapplylist[$if]['ppps'] = $a_ppps; |
|
| 392 | 394 |
/* we need to be able remove IP aliases for IPv6 */ |
| 393 | 395 |
file_put_contents("{$g['tmp_path']}/.interfaces.apply", serialize($toapplylist));
|
| 394 | 396 |
header("Location: interfaces.php?if={$if}");
|
| ... | ... | |
| 887 | 889 |
} else {
|
| 888 | 890 |
$toapplylist = array(); |
| 889 | 891 |
} |
| 890 |
$toapplylist[$if] = $old_wancfg; |
|
| 892 |
$toapplylist[$if]['ifcfg'] = $old_wancfg; |
|
| 893 |
$toapplylist[$if]['ppps'] = $old_ppps; |
|
| 891 | 894 |
file_put_contents("{$g['tmp_path']}/.interfaces.apply", serialize($toapplylist));
|
| 892 | 895 | |
| 893 | 896 |
mark_subsystem_dirty('interfaces');
|