Feature #13085 » openvpn_nbdd.patch
| src/etc/inc/openvpn.inc | ||
|---|---|---|
|
if (!empty($settings['nbdd_server1'])) {
|
||
|
$conf .= "push \"dhcp-option NBDD {$settings['nbdd_server1']}\"\n";
|
||
|
}
|
||
|
if (!empty($settings['nbdd_server2'])) {
|
||
|
$conf .= "push \"dhcp-option NBDD {$settings['nbdd_server2']}\"\n";
|
||
|
}
|
||
|
}
|
||
|
if ($settings['gwredir']) {
|
||
|
-- a/src/usr/local/www/vpn_openvpn_csc.php
|
||
|
++ b/src/usr/local/www/vpn_openvpn_csc.php
|
||
| ... | ... | |
|
}
|
||
|
$pconfig['nbdd_server1'] = $a_csc[$id]['nbdd_server1'];
|
||
|
if ($pconfig['nbdd_server1']) {
|
||
|
$pconfig['nbdd_server2'] = $a_csc[$id]['nbdd_server2'];
|
||
|
if ($pconfig['nbdd_server1'] ||
|
||
|
$pconfig['nbdd_server2']) {
|
||
|
$pconfig['nbdd_server_enable'] = true;
|
||
|
}
|
||
|
}
|
||
| ... | ... | |
|
if (!empty($pconfig['nbdd_server1']) && !is_ipaddr(trim($pconfig['nbdd_server1']))) {
|
||
|
$input_errors[] = gettext("The field 'NetBIOS Data Distribution Server #1' must contain a valid IP address");
|
||
|
}
|
||
|
if (!empty($pconfig['nbdd_server2']) && !is_ipaddr(trim($pconfig['nbdd_server2']))) {
|
||
|
$input_errors[] = gettext("The field 'NetBIOS Data Distribution Server #2' must contain a valid IP address");
|
||
|
}
|
||
|
}
|
||
|
if (!empty($pconfig['netbios_ntype']) &&
|
||
|
!array_key_exists($pconfig['netbios_ntype'], $netbios_nodetypes)) {
|
||
| ... | ... | |
|
$csc['wins_server2'] = $pconfig['wins_server2'];
|
||
|
}
|
||
|
if ($pconfig['dns_server_enable']) {
|
||
|
if ($pconfig['nbdd_server_enable']) {
|
||
|
$csc['nbdd_server1'] = $pconfig['nbdd_server1'];
|
||
|
$csc['nbdd_server2'] = $pconfig['nbdd_server2'];
|
||
|
}
|
||
|
}
|
||
| ... | ... | |
|
$section->add($group);
|
||
|
$section->addInput(new Form_Checkbox(
|
||
|
'nbdd_server_enable',
|
||
|
'NBDD servers',
|
||
|
'Provide a NetBIOS over TCP/IP Datagram Distribution Servers list to clients',
|
||
|
$pconfig['nbdd_server_enable']
|
||
|
));
|
||
|
$group = new Form_Group(null);
|
||
|
$group->add(new Form_Input(
|
||
|
'nbdd_server1',
|
||
|
null,
|
||
|
'text',
|
||
|
$pconfig['nbdd_server1']
|
||
|
))->setHelp('Server 1');
|
||
|
$group->add(new Form_Input(
|
||
|
'nbdd_server2',
|
||
|
null,
|
||
|
'text',
|
||
|
$pconfig['nbdd_server2']
|
||
|
))->setHelp('Server 2');
|
||
|
$group->addClass('nbddservers');
|
||
|
$section->add($group);
|
||
|
$custops = new Form_Textarea(
|
||
|
'custom_options',
|
||
|
'Advanced',
|
||
| ... | ... | |
|
hideInput('netbios_scope', false);
|
||
|
hideCheckbox('wins_server_enable', false);
|
||
|
setWins();
|
||
|
hideCheckbox('nbdd_server_enable', false);
|
||
|
setNbdds();
|
||
|
} else {
|
||
|
hideInput('netbios_ntype', true);
|
||
|
hideInput('netbios_scope', true);
|
||
|
hideCheckbox('wins_server_enable', true);
|
||
|
hideClass('winsservers', true);
|
||
|
hideCheckbox('nbdd_server_enable', true);
|
||
|
hideClass('nbddservers', true);
|
||
|
}
|
||
|
}
|
||
| ... | ... | |
|
hideClass('winsservers', ! $('#wins_server_enable').prop('checked'));
|
||
|
}
|
||
|
function setNbdds() {
|
||
|
hideClass('nbddservers', ! $('#nbdd_server_enable').prop('checked'));
|
||
|
}
|
||
|
// ---------- Click checkbox handlers ---------------------------------------------------------
|
||
|
// On clicking DNS Default Domain
|
||
| ... | ... | |
|
// On clicking the wins_server_enable checkbox
|
||
|
$('#wins_server_enable').click(function () {
|
||
|
setWins();
|
||
|
});
|
||
|
// On clicking the nbdd_server_enable checkbox
|
||
|
$('#nbdd_server_enable').click(function () {
|
||
|
setNbdds();
|
||
|
});
|
||
|
// ---------- On initial page load ------------------------------------------------------------
|
||
|
-- a/src/usr/local/www/vpn_openvpn_server.php
|
||
|
++ b/src/usr/local/www/vpn_openvpn_server.php
|
||
| ... | ... | |
|
}
|
||
|
$pconfig['nbdd_server1'] = $a_server[$id]['nbdd_server1'];
|
||
|
if ($pconfig['nbdd_server1']) {
|
||
|
$pconfig['nbdd_server2'] = $a_server[$id]['nbdd_server2'];
|
||
|
if ($pconfig['nbdd_server1'] ||
|
||
|
$pconfig['nbdd_server2']) {
|
||
|
$pconfig['nbdd_server_enable'] = true;
|
||
|
}
|
||
| ... | ... | |
|
$input_errors[] = gettext("The field 'WINS Server #2' must contain a valid IP address");
|
||
|
}
|
||
|
}
|
||
|
if ($pconfig['nbdd_server_enable']) {
|
||
|
if (!empty($pconfig['nbdd_server1']) && !is_ipaddr(trim($pconfig['nbdd_server1']))) {
|
||
|
$input_errors[] = gettext("The field 'NetBIOS Data Distribution Server #1' must contain a valid IP address");
|
||
|
}
|
||
|
if (!empty($pconfig['nbdd_server2']) && !is_ipaddr(trim($pconfig['nbdd_server2']))) {
|
||
|
$input_errors[] = gettext("The field 'NetBIOS Data Distribution Server #2' must contain a valid IP address");
|
||
|
}
|
||
|
}
|
||
|
if (!empty($pconfig['netbios_ntype']) &&
|
||
|
!array_key_exists($pconfig['netbios_ntype'], $netbios_nodetypes)) {
|
||
| ... | ... | |
|
$server['wins_server2'] = $pconfig['wins_server2'];
|
||
|
}
|
||
|
if ($pconfig['dns_server_enable']) {
|
||
|
if ($pconfig['nbdd_server_enable']) {
|
||
|
$server['nbdd_server1'] = $pconfig['nbdd_server1'];
|
||
|
$server['nbdd_server2'] = $pconfig['nbdd_server2'];
|
||
|
}
|
||
|
}
|
||
| ... | ... | |
|
$pconfig['wins_server2']
|
||
|
));
|
||
|
$section->addInput(new Form_Checkbox(
|
||
|
'nbdd_server_enable',
|
||
|
'NBDD servers',
|
||
|
'Provide a NetBIOS over TCP/IP Datagram Distribution Servers list to clients',
|
||
|
$pconfig['nbdd_server_enable']
|
||
|
));
|
||
|
$group = new Form_Group(null);
|
||
|
$group->add(new Form_Input(
|
||
|
'nbdd_server1',
|
||
|
null,
|
||
|
'text',
|
||
|
$pconfig['nbdd_server1']
|
||
|
))->setHelp('Server 1');
|
||
|
$group->add(new Form_Input(
|
||
|
'nbdd_server2',
|
||
|
null,
|
||
|
'text',
|
||
|
$pconfig['nbdd_server2']
|
||
|
))->setHelp('Server 2');
|
||
|
$group->addClass('nbddservers');
|
||
|
$section->add($group);
|
||
|
$form->add($section);
|
||
|
$section = new Form_Section('Advanced Configuration');
|
||
| ... | ... | |
|
hideInput('wins_server2', hide);
|
||
|
}
|
||
|
function nbdd_server_change() {
|
||
|
hideClass('nbddservers', ! $('#nbdd_server_enable').prop('checked') || ! $('#netbios_enable').prop('checked'));
|
||
|
}
|
||
|
function ntp_server_change() {
|
||
|
var hide = ! $('#ntp_server_enable').prop('checked')
|
||
| ... | ... | |
|
hideInput('netbios_scope', hide);
|
||
|
hideCheckbox('wins_server_enable', hide);
|
||
|
wins_server_change();
|
||
|
hideCheckbox('nbdd_server_enable', hide);
|
||
|
nbdd_server_change();
|
||
|
}
|
||
|
function tuntap_change() {
|
||
| ... | ... | |
|
wins_server_change();
|
||
|
});
|
||
|
// NBDD server
|
||
|
$('#nbdd_server_enable').click(function () {
|
||
|
nbdd_server_change();
|
||
|
});
|
||
|
// DNS server port
|
||
|
$('#dns_server_enable').click(function () {
|
||
|
dns_server_change();
|
||
| ... | ... | |
|
dns_domain_change();
|
||
|
dns_server_change();
|
||
|
wins_server_change();
|
||
|
nbdd_server_change
|
||
|
ntp_server_change();
|
||
|
netbios_change();
|
||
|
tuntap_change();
|
||
- « Previous
- 1
- 2
- Next »