Revision 332a64d0
Added by Daniel Wilhelm about 9 years ago
src/etc/inc/interfaces.inc | ||
---|---|---|
4036 | 4036 |
|
4037 | 4037 |
$send_options = ""; |
4038 | 4038 |
if ($wancfg['adv_dhcp6_interface_statement_send_options'] != '') { |
4039 |
$options = explode(',', $wancfg['adv_dhcp6_interface_statement_send_options']);
|
|
4039 |
$options = DHCP_Config_Option_Split($wancfg['adv_dhcp6_interface_statement_send_options']);
|
|
4040 | 4040 |
foreach ($options as $option) { |
4041 | 4041 |
$send_options .= "\tsend " . trim($option) . ";\n"; |
4042 | 4042 |
} |
... | ... | |
4044 | 4044 |
|
4045 | 4045 |
$request_options = ""; |
4046 | 4046 |
if ($wancfg['adv_dhcp6_interface_statement_request_options'] != '') { |
4047 |
$options = explode(',', $wancfg['adv_dhcp6_interface_statement_request_options']);
|
|
4047 |
$options = DHCP_Config_Option_Split($wancfg['adv_dhcp6_interface_statement_request_options']);
|
|
4048 | 4048 |
foreach ($options as $option) { |
4049 | 4049 |
$request_options .= "\trequest " . trim($option) . ";\n"; |
4050 | 4050 |
} |
... | ... | |
4314 | 4314 |
|
4315 | 4315 |
$send_options = ""; |
4316 | 4316 |
if ($wancfg['adv_dhcp_send_options'] != '') { |
4317 |
$options = explode(',', $wancfg['adv_dhcp_send_options']);
|
|
4317 |
$options = DHCP_Config_Option_Split($wancfg['adv_dhcp_send_options']);
|
|
4318 | 4318 |
foreach ($options as $option) { |
4319 | 4319 |
$send_options .= "\tsend " . trim($option) . ";\n"; |
4320 | 4320 |
} |
... | ... | |
4332 | 4332 |
|
4333 | 4333 |
$option_modifiers = ""; |
4334 | 4334 |
if ($wancfg['adv_dhcp_option_modifiers'] != '') { |
4335 |
$modifiers = explode(',', $wancfg['adv_dhcp_option_modifiers']);
|
|
4335 |
$modifiers = DHCP_Config_Option_Split($wancfg['adv_dhcp_option_modifiers']);
|
|
4336 | 4336 |
foreach ($modifiers as $modifier) { |
4337 | 4337 |
$option_modifiers .= "\t" . trim($modifier) . ";\n"; |
4338 | 4338 |
} |
... | ... | |
4363 | 4363 |
return $dhclientconf; |
4364 | 4364 |
} |
4365 | 4365 |
|
4366 |
function DHCP_Config_Option_Split($option_string) { |
|
4367 |
$options = []; |
|
4368 |
preg_match_all('/[^",]*(?:"[^"]*"[^",]*)+(?:"[^",]*)?|[^,]+/m', $option_string, $result, PREG_PATTERN_ORDER); |
|
4369 |
for ($i = 0; $i < count($result[0]); $i++) { |
|
4370 |
$options[] = $result[0][$i]; |
|
4371 |
} |
|
4372 |
return $options; |
|
4373 |
} |
|
4366 | 4374 |
|
4367 | 4375 |
function DHCP_Config_File_Override($wancfg, $wanif) { |
4368 | 4376 |
|
Also available in: Unified diff
Allow passing comma in string quoted DHCP client options