mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-19 19:15:22 +00:00
VPN: WireGuard: Peer generator - Add DNS field and store previous used values in Instance. closes https://github.com/opnsense/core/issues/7357
This commit is contained in:
parent
966bda3c96
commit
899b41a576
@ -47,6 +47,12 @@
|
||||
<type>text</type>
|
||||
<help>Set persistent keepalive interval in seconds.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>configbuilder.peer_dns</id>
|
||||
<label>DNS Servers</label>
|
||||
<type>text</type>
|
||||
<help>Comma-separated list of DNS servers to use on the peer.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>configbuilder.output</id>
|
||||
<label>Config</label>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<model>
|
||||
<mount>//OPNsense/wireguard/server</mount>
|
||||
<description>WireGuard instance configuration</description>
|
||||
<version>0.0.4</version>
|
||||
<version>1.0.0</version>
|
||||
<items>
|
||||
<servers>
|
||||
<server type=".\ServerField">
|
||||
@ -52,7 +52,6 @@
|
||||
</check001>
|
||||
</Constraints>
|
||||
</disableroutes>
|
||||
<endpoint type="TextField"/>
|
||||
<gateway type="NetworkField"/>
|
||||
<carp_depend_on type="VirtualIPField">
|
||||
<type>carp</type>
|
||||
@ -69,6 +68,9 @@
|
||||
<Multiple>Y</Multiple>
|
||||
<ValidationMessage>Choose a peer.</ValidationMessage>
|
||||
</peers>
|
||||
<!-- Peer generator storage [default values] -->
|
||||
<endpoint type="TextField"/>
|
||||
<peer_dns type="TextField"/>
|
||||
</server>
|
||||
</servers>
|
||||
</items>
|
||||
|
||||
@ -136,6 +136,11 @@
|
||||
ajaxGet('/api/wireguard/server/getServer/' + $(this).val(), {}, function(data, status) {
|
||||
if (data.server) {
|
||||
let endpoint = $("#configbuilder\\.endpoint");
|
||||
let peer_dns = $("#configbuilder\\.peer_dns");
|
||||
peer_dns
|
||||
.val(data.server.peer_dns)
|
||||
.data('org-value', data.server.peer_dns);
|
||||
|
||||
endpoint
|
||||
.val(data.server.endpoint)
|
||||
.data('org-value', data.server.endpoint)
|
||||
@ -150,6 +155,7 @@
|
||||
$("#btn_configbuilder_save").click(function(){
|
||||
let instance_id = $("#configbuilder\\.servers").val();
|
||||
let endpoint = $("#configbuilder\\.endpoint");
|
||||
let peer_dns = $("#configbuilder\\.peer_dns");
|
||||
let peer = {
|
||||
configbuilder: {
|
||||
enabled: '1',
|
||||
@ -165,8 +171,13 @@
|
||||
if (data.validations) {
|
||||
handleFormValidation("frm_config_builder", data.validations);
|
||||
} else {
|
||||
if (endpoint.val() != endpoint.data('org-value')) {
|
||||
let param = {'server': {'endpoint': endpoint.val()}};
|
||||
if (endpoint.val() != endpoint.data('org-value') || peer_dns.val() != peer_dns.data('org-value')) {
|
||||
let param = {
|
||||
'server': {
|
||||
'endpoint': endpoint.val(),
|
||||
'peer_dns': peer_dns.val()
|
||||
}
|
||||
};
|
||||
ajaxCall('/api/wireguard/server/setServer/' + instance_id, param, function(data, status){
|
||||
configbuilder_new();
|
||||
});
|
||||
@ -200,6 +211,9 @@
|
||||
let rows = [];
|
||||
rows.push('[Interface]');
|
||||
rows.push('PrivateKey = ' + $("#configbuilder\\.privkey").val());
|
||||
if ($("#configbuilder\\.peer_dns").val()) {
|
||||
rows.push('DNS = ' + $("#configbuilder\\.peer_dns").val());
|
||||
}
|
||||
rows.push('');
|
||||
rows.push('[Peer]');
|
||||
rows.push('PublicKey = ' + $("#configbuilder\\.endpoint").data('pubkey'));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user