10780 Commits

Author SHA1 Message Date
Ad Schellevis
550bcea155 MVC: In order to extend the separate nodes of an arraytype field, we should be able to control the container creation. This commit adds newContainerField() which is responsible for spawning new container fields and attaching them to the current model.
Internally the object model looks like this:

ArrayField - [
	ContainerField - [
		TextField
		EmailField
		....
	]
	ContainerField - [
		{same types as first row}
	]
]

uuid's are attached to the ContainerField types by the ArrayField (or on load by BaseModel)

ref: https://github.com/opnsense/plugins/issues/1720
2020-03-04 15:09:37 +01:00
Ad Schellevis
a8b2fb5e92 MVC: support inheritance of the ArrayField type, institutionalise the type by adding a method isArrayType() to the basefield, which returns true if the type itself is a ArrayField or one of its descendants.
Conceptually there are two types containers in our model, the standard one (ContainerField), which only acts as a placeholder without logic and the ArrayField type, which understands repetitive structures and comes with its own uuid reference per item and methods supporting addition and removal of entries.

With the application specific field types it can be practical if you could extend this container type as well, so you can add additional methods on a more logical spot in the code tree.

ref https://github.com/opnsense/plugins/issues/1720
2020-03-04 13:48:18 +01:00
Ad Schellevis
41cf191205 pam/squid: work around to skip passing additional auth properties. https://forum.opnsense.org/index.php?topic=16126 2020-03-04 11:44:47 +01:00
Ad Schellevis
665e3db1f6 packet capture, validate interface input. closes https://github.com/opnsense/core/issues/3964 2020-03-04 11:30:36 +01:00
Franco Fichtner
a4a26fa898 src: style sweep 2020-03-03 14:25:20 +01:00
Ad Schellevis
8496073046 MVC: BaseField, also store "" as initial state to prevent empty fields as being marked as changed all the time.
Side affect of this change is that testDependConstraintNok seemed to be missing a back reference, which is being added in this commit as well (TestModel.xml).

Catched while working on https://github.com/opnsense/plugins/issues/1720
2020-03-03 14:12:08 +01:00
Franco Fichtner
67bbb8e342 dhcp: parenthesis are bad style, either important without or discard 2020-03-03 12:39:05 +01:00
Franco Fichtner
582adc9ef2 dnsmasq/unbound: return strings to their original form
This is too much valid translation bounce noise and will not help.
This is better explained in detail in a documentation page if
users really read it, that is.
2020-03-03 12:32:40 +01:00
Ad Schellevis
6d2d6a7ad7 firewall: carp, miss a bit of visibility on internal rules, refer to setting page for allow rule and make sure redirector understands links without page reference 2020-03-02 21:31:37 +01:00
Ad Schellevis
5ed7f4a54e MVC: add NetworkAliasField type for https://github.com/opnsense/plugins/issues/1720
Validate if input is either a valid network, host or alias including specialnetworks (any, self, or attached interface net/address)
2020-03-02 20:55:46 +01:00
Ad Schellevis
6da8a2f558 MVC: BaseListField + PortField, use getValidationMessage() to bootstrap defaults. found while working on https://github.com/opnsense/plugins/issues/1720, needed for the new NetworkAliasField type 2020-03-02 18:37:34 +01:00
Ad Schellevis
7bd1dab314 MVC: fix typo in unit test naming. (https://github.com/opnsense/plugins/issues/1720) 2020-03-02 17:52:13 +01:00
Ad Schellevis
1bdb252f96 MVC: ProtocolField missing gettext (https://github.com/opnsense/plugins/issues/1720) 2020-03-02 13:55:51 +01:00
Ad Schellevis
6d5301a7b3 MVC: CountryField, static options should take settings into account. 2020-03-02 12:09:16 +01:00
Ad Schellevis
e057fce06d MVC: add unittest for ProtocolField (https://github.com/opnsense/plugins/issues/1720) 2020-03-02 10:42:39 +01:00
Ad Schellevis
dddbe2f1ec MVC: protocol field, init bug (https://github.com/opnsense/plugins/issues/1720) 2020-03-02 10:36:16 +01:00
Ad Schellevis
c104582ed7 logging: leap-year issue. without a year, strptime() doesn't seem to assume it's this year. 2020-02-29 17:23:10 +01:00
Ad Schellevis
212e9527c3 MVC: add ProtocolField type, needed for https://github.com/opnsense/plugins/issues/1720 2020-02-28 16:49:46 +01:00
Ad Schellevis
0a112eaec4 MVC: simplify IDS actions, for https://github.com/opnsense/core/issues/3951 2020-02-27 12:05:39 +01:00
Ad Schellevis
0ae805a54c MVC: SimpleActionButton trim result before comparison 2020-02-27 11:45:21 +01:00
Ad Schellevis
1d9307a019 fix previous 2020-02-27 11:29:34 +01:00
Ad Schellevis
cf6c04b5c4 MVC: simplify alias reload, for https://github.com/opnsense/core/issues/3951 2020-02-27 11:28:40 +01:00
Ad Schellevis
c64b8147d0 MVC: add onPreAction to SimpleActionButton, to support two step actions (save form data --> apply) 2020-02-27 11:19:58 +01:00
Ad Schellevis
300c41818f MVC: simplify proxy actions, for https://github.com/opnsense/core/issues/3951 2020-02-27 11:07:33 +01:00
Ad Schellevis
1ae92924c9 MVC: simplify traffic shaper reload, for https://github.com/opnsense/core/issues/3951 2020-02-27 10:42:18 +01:00
Ad Schellevis
9199995cd3 MVC: simplify cron reload, for https://github.com/opnsense/core/issues/3951 2020-02-27 10:36:28 +01:00
Ad Schellevis
481018404f MVC: simplify captive portal reload, for https://github.com/opnsense/core/issues/3951 2020-02-27 10:33:39 +01:00
Ad Schellevis
385c55f4e5 MVC: simplify loopback reload, for https://github.com/opnsense/core/issues/3951 2020-02-27 10:26:47 +01:00
Ad Schellevis
ca9000455d MVC: simplify vlxan reload, for https://github.com/opnsense/core/issues/3951 2020-02-27 10:24:30 +01:00
Ad Schellevis
a12cdd5534 MVC: simplify static routing, for https://github.com/opnsense/core/issues/3951 2020-02-27 10:20:07 +01:00
Ad Schellevis
40e2d25ddc MVC: simplify Monit reload, for https://github.com/opnsense/core/issues/3951 2020-02-27 10:09:05 +01:00
Ad Schellevis
4e44c126ea fix previous 2020-02-27 10:07:46 +01:00
Ad Schellevis
d189f62b95 MVC: SimpleActionButton, add onAction option to allow additional actions. compare status case-insensitive. 2020-02-26 23:21:17 +01:00
Ad Schellevis
1a693a9ce7 Monit: simplify reload action, ditch result field to align with other controllers (which use status), eases https://github.com/opnsense/core/issues/3951 2020-02-26 23:18:37 +01:00
Ad Schellevis
dd7905a934 alias: geoip, don't try to download when not being served from http[s] 2020-02-26 10:11:19 +01:00
Ad Schellevis
ea29e4b967 Alias: geoip, catch requests errors and log+return. fixes ce2b145185 2020-02-26 10:06:24 +01:00
Ad Schellevis
491c6c1f0a MVC: simplify syslog reload, for https://github.com/opnsense/core/issues/3951 2020-02-25 16:51:33 +01:00
Ad Schellevis
f0163e9d57 MVC: add jQuery plugin to support a simple service reload/action button.
Example usage:

        <button class="btn btn-primary" id="reconfigureAct"
                data-endpoint='/api/syslog/service/reconfigure'
                data-label="{{ lang._('Apply') }}"
                data-service-widget="syslog"
                data-error-title="{{ lang._('Error reconfiguring syslog') }}"
                type="button"
        ></button>

and the JS init:

$("#reconfigureAct").SimpleActionButton();

closes https://github.com/opnsense/core/pull/3788
2020-02-25 16:42:19 +01:00
Ad Schellevis
6c3726d719 translations: hook javascript texts as suggested by @kekek2, closes https://github.com/opnsense/core/pull/3697 2020-02-25 15:42:37 +01:00
Ad Schellevis
9b72b85e41 Auth/ldap: group CN should be matched case insensitive. closes https://github.com/opnsense/core/pull/3870
The most common use-case for group matching is probably Active Directory, which is case-insensitive. Some other implementation maybe case-sensitive, but since the chances of matching an unintented group (Admin vs admin) or rather low, we could consider this a low impact change.
2020-02-25 14:18:01 +01:00
Ad Schellevis
ce2b145185 Firewall/alias/geoip. make sure to trigger a download if no stats are found. Which should fix startup issues when aliases don't require a change and a new valid subscription is entered. 2020-02-25 10:38:05 +01:00
Ad Schellevis
f3adf835ef Unbound/dhcpd, missed a line in 96396f782e for https://github.com/opnsense/core/issues/3730 2020-02-24 20:48:00 +01:00
Ad Schellevis
96396f782e Unbound: refactor dhcpd watcher, contains multiple bugfixes (https://github.com/opnsense/core/issues/3730)
-  remove unbound registration if lease expires (previously this was only written to disk, not supplied to unbound-control)
-  when leases change, remove old fqdn's using unbound-control, this should mimic the current output in dhcpleases.conf more closely (if a manual registration was already there, it will be overwitten)
-  log when entries are removed, eventually it might be better to lower the level a bit, but informal seems like a good starting point for now.
-  switch to argparse for handling parameters
2020-02-24 16:29:50 +01:00
Ad Schellevis
ae60b1266d IPsec: add mvc service control api for https://github.com/opnsense/core/issues/3738 2020-02-24 13:44:05 +01:00
Ad Schellevis
e5831a7df1 MVC: add LegacyLinkField as described in a5b3177774
- acts as a link to legacy configuration values, which eases migration in some scenarios
2020-02-24 13:41:37 +01:00
Ad Schellevis
f9be0bb5fa stylesweep https://github.com/opnsense/core/pull/3949 2020-02-21 18:24:43 +01:00
Ad Schellevis
e43a101007 Merge branch 'ipsec-mobile-ipv6-pool' of https://github.com/vnxme/opnsense-core into vnxme-ipsec-mobile-ipv6-pool 2020-02-21 17:56:11 +01:00
Ad Schellevis
74677b2c24 fix previous 2020-02-21 14:05:28 +01:00
vnxme
c967707cbc
IPsec: add virtual IPv6 pool for mobile clients
This commit deals with mobile IPsec web UI. The changes include:
- define and copy fileds related to IPv6 configuration (match changes made in ipsec.inc) - L39 and L144;
- set the default value for IPv6 netbits to 64 - L51;
- adjust PHP form validation to match IPv6 controls - L104-105;
- adjust JS magic to match IPv6 controls - L197 and L216-226;
- adjust text related to IPv4 pool configuration (added 'IPv4' word to make it look consistent) - L406-425 and L101;
- create a new row with a check box, an input box and a drop-down box for IPv6 pool configuration - L426-445.
2020-02-21 15:23:36 +03:00
vnxme
234e7e27ea
IPsec: add virtual IPv6 pool for mobile clients
This commit deals with ipsec.conf file drafting. In terms of mobile clients option 'rightsourceip' now may be:
1) empty if no pools are configured;
2) %pool_address%/%pool_netbits% for an IPv4 only option;
3) %pool_address_v6%/%pool_netbits_v6% for an IPv6 only option;
4) %pool_address%/%pool_netbits%,%pool_address_v6%/%pool_netbits_v6% for a dual stack option.
2020-02-21 15:06:14 +03:00