1078 Commits

Author SHA1 Message Date
Franco Fichtner
aa6ffc501d interfaces: these ip files under /tmp are not being used #5367 2021-11-27 13:21:57 +01:00
Franco Fichtner
63f92e9d4c interfaces: remove code that appears uncessary
States are not bound to routers and -i combo doesn't seem to
work very well either.
2021-11-26 12:35:52 +01:00
NOYB
14f3cb5214
Prevent Browser Auto Fill Username/Password (#5311) 2021-11-22 09:03:18 +01:00
Ad Schellevis
aba58e5ee4 Logging: Add a symlink for e.g. system.log to system_todaysdate.log for log parsing (https://github.com/opnsense/core/issues/4993)
same same as dd6a04a68a, but different.
Concerns fixed in this commit:

o archive shouldn't generate files so old "archived" files remain untouched
o "latest.log" should point to the latest version know, which could be todays or a file from the past
o better to not remove links when unchanged to prevent excessive writes
2021-11-18 17:06:40 +01:00
Franco Fichtner
dd6a04a68a system: add "latest.log" symlink and make sure new log is created
We shuffle the cron jobs around a bit to let the script start at
minute 1 of every hour which is close enough.

We might consider a soft-update of the link instead of removing
it every hour depending on how tail -f and such work, but for now
use what PHP has to offer.

PR: https://github.com/opnsense/core/issues/4993
2021-11-18 09:14:25 +01:00
Franco Fichtner
1d713525c1 firmware: add new flag for update-based reboot #5358
Keep old flag in place to not break any API consumers for a while.
2021-11-17 12:46:05 +01:00
Franco Fichtner
ff8e2fdc97 firmware: streamline -s/implied script a bit more 2021-11-17 12:04:05 +01:00
Franco Fichtner
6d14376da3 system: use more convenient configctl call
Most of the system already uses it and users are informed about
it too.  Might just be a good time to write a little manual page
for it...

While here some use of daemon -f suggests that configctl -d should
be used more widely than it is now.
2021-11-16 21:30:57 +01:00
Franco Fichtner
bf4325abd8 firmware: check for valid command first and exit if not found
Avoids a random sleep execution for no reachable command.
2021-11-16 14:13:09 +01:00
Franco Fichtner
d2f9efcd69 firmware: allow launcher to operate on a random sleep if requested
To make verbatim script passthrough work we also need to introduce
a scripting option to reach the random sleep option afterwards.

We add a random delay of up to 25 minutes to the cron based operations
in order to give the update servers more room to breathe.
2021-11-16 13:22:05 +01:00
Franco Fichtner
82d21d0775 firmware: hook up 'latest' script, use it in dashboard widget as well
Paired with a nightly cron job this can hint at updates on a daily basis
automatically now.
2021-11-16 11:00:40 +01:00
Franco Fichtner
cd77cec93a firmware: add a 'latest' script to derive update info from changelog 2021-11-16 10:14:10 +01:00
Franco Fichtner
edd17b5a33 firmware: make changelog.txz location permanent
Download only if necessary, but verify and unpack unconditionally.

Add a cron job for nightly poll to be used with upcoming pending
script to "skim" the changelog for potential updates.
2021-11-16 09:53:47 +01:00
kulikov-a
035dc45063
IDPS: handle empty metadata value (#5357) 2021-11-15 17:09:26 +01:00
Franco Fichtner
3585c06da6 firmware: only fetch changelogs if the server file changed 2021-11-15 14:18:47 +01:00
Franco Fichtner
2a4c3a4869 firmware: add a configuration file and fix prompt hint 2021-11-15 13:35:14 +01:00
Ad Schellevis
c28567ec1d IDPS: support multiple policy property in metadata, closes https://github.com/opnsense/core/issues/5350
o allow repetitive metadata tags to be used, representing them as multiline options. Since \n can't exist in rules it should be rather save to concat repeating entries
o convert multiline items in the UI (rule info) (convert \n --> <br/>)
2021-11-14 18:59:43 +01:00
Franco Fichtner
f68816a8c2 src: fix a couple of stray whitespace issues 2021-11-09 13:33:11 +01:00
Franco Fichtner
44d015f053 firmware: implement cross-ABI reinstall #5144 2021-11-09 09:46:58 +01:00
Franco Fichtner
1d43ed1cce system: rename for #5337 2021-11-08 09:52:52 +01:00
Ad Schellevis
b3e3391943 Syslog - remove clog support
remove all remnants from syslogd and circular log support excluding support from the log readers. When a user upgrades and was using clog, the old files remain and are still readable from the ui, new entries are generated into our syslog-ng directory structure.

for https://github.com/opnsense/core/issues/5337
2021-11-05 21:17:35 +01:00
Ad Schellevis
1c34b86cb5 IDPS: hook et-open to suricata 5 ruleset including migration, brings 41eefdd105 back in 2021-10-28 14:21:22 +02:00
Franco Fichtner
a4726d4409 firmware: fix check for base/kernel reboot
opnsense-update no longer sets -bkp by default which
requires us to use them on the command line.
2021-10-26 12:16:38 +02:00
Franco Fichtner
4778d1429b system: use sysctl info to indicate nonexistent ones
Also it seems that sysctl -ad returns sysctls that the kernel
considers sysctls with no value.  These are likely read-only
of some type so bring them in as well with a blank value.

Mark unsupported and read-only with text-danger since their
use is not doing anything for the system.
2021-10-26 10:26:07 +02:00
Franco Fichtner
1ddeeca108 system: assorted improvements
o Only modify default sysctls when default is known
o Let user know a default is not available for tunable
o Parse system descripton and type and show in GUI
2021-10-26 10:06:00 +02:00
Ad Schellevis
f0ae569477 Squashed commit of the following:
commit 4be5387afb88689cb760c4dc60e0933834a7d9fd
Author: Ad Schellevis <ad@opnsense.org>
Date:   Mon Oct 25 17:56:57 2021 +0200

    Firewall / Diagnostics add 'rules' to Statistics (https://github.com/opnsense/core/pull/5292)

    o minor cleanups
    o cleanup pfctl call handling, when a section is provided only extract the one asked for.

commit be7f3f6b22fb88c96178102ac5b5266f52fbfe71
Merge: 116453543 f1a7b9320
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Wed Oct 20 19:31:45 2021 +0300

    Merge branch 'master' into patch-20

commit 116453543ef50c3706633bbfe52436ba9ca4f009
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Wed Oct 20 19:25:55 2021 +0300

    suffix

commit 70ea8ebb536b4fe282ce395a0d12f7b7496d9d07
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Tue Oct 19 23:20:30 2021 +0300

    open node on label click

commit deef33fb07b4844641374ef5929613e51b1926d7
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Tue Oct 19 18:49:30 2021 +0300

    add 'rules' to pf stats

    add 'rules' to pf stats

    add 'rules'

    add 'rules'

    Update pfstatistcs
2021-10-25 18:30:57 +02:00
Franco Fichtner
30694a69c6 firewall: add .py suffix to Python script 2021-10-20 14:29:16 +02:00
Ad Schellevis
9c13bf1b96 Firewall / Diagnostics - more readable firewall statistics (replace diag_pf_info.php), closes https://github.com/opnsense/core/issues/5267 2021-10-17 20:14:03 +02:00
Ad Schellevis
9f151599ce Firewall / Diagnostics, etxract revelant pfctl info for https://github.com/opnsense/core/issues/5267
Omit rule info as this is already visible in the Firewall/Rules section, nat as well, although the statistics could be of use eventuallly elsewhere (pfctl -vvsnat)
2021-10-17 15:34:05 +02:00
kulikov-a
da3fde8e99
system activity: show all threads and correct WCPU (#5277) 2021-10-17 11:35:46 +02:00
Ad Schellevis
d45eb09eed Squashed commit of the following:
commit 8a3fd0057817836c0f0baaa28123b61ccd8b39fd
Author: Ad Schellevis <ad@opnsense.org>
Date:   Sat Oct 16 14:24:12 2021 +0200

    system activity: show all threads and correct WCPU, minor cleanups for https://github.com/opnsense/core/pull/5277

commit a2e3ad0b5e971b48687fc6f1291e420ad4caef6e
Author: Franco Fichtner <franco@opnsense.org>
Date:   Fri Oct 15 07:55:23 2021 +0200

    interfaces: style update in previous

commit 5ab238d32e4a3f5bdebf1e0d0786672636c1fc2b
Author: Jason Crowley <65243090+jasonpcrowley@users.noreply.github.com>
Date:   Thu Oct 14 14:23:40 2021 -0500

    Updated guess_interface_from_ip to more accurately identify the interface using the subnet with the largest mask in the route table. (#5281)

commit c87a39efd6833ae091f47e0faec6f9d5b1a937f6
Author: Franco Fichtner <franco@opnsense.org>
Date:   Thu Oct 14 14:49:11 2021 +0200

    firmware: in case of fs integrity issues try not to break upgrades

    File is always packaged, but we cannot trust the file system.

commit cd0e482fc24183918e5a49b8b9c0d28f80d40274
Author: Franco Fichtner <franco@opnsense.org>
Date:   Thu Oct 14 11:11:37 2021 +0200

    interfaces: undo restricting lookups to configured interfaces only

    In practice call stack above get_interface_ip*() is too messy and
    this will likely break a number of lookups.

commit d9831296220e65aefaa375f9a06b91b995c001f6
Author: Ad Schellevis <ad@opnsense.org>
Date:   Thu Oct 14 10:56:42 2021 +0200

    IPSec - VTI, ignore tunnel devices if local or remote endpoint can't be found.

commit 680f189fe5db2d6074bb2786e9b6b2df5c2ddb23
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Thu Oct 14 22:44:49 2021 +0300

    toggle 'top' to tid. get pid from 'procstat'

commit 355a337486bbc8a68cd193d091588119b4563b7f
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Thu Oct 14 22:38:15 2021 +0300

    add tid column and make it key

commit efacc976e2b691798dfbccacf62e15d8bc657ef4
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Thu Oct 14 09:14:51 2021 +0300

    Update src/opnsense/mvc/app/views/OPNsense/Diagnostics/systemactivity.volt

    Co-authored-by: Franco Fichtner <franco@lastsummer.de>

commit c3bdf26795b9f276b1bbaa9f7355edbb8d3fa206
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Wed Oct 13 22:32:03 2021 +0300

    show all threads

commit 7c98ddaea935edd6806e8febdcf021735cc38d2e
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Wed Oct 13 22:28:12 2021 +0300

    request and grab second display
2021-10-16 14:25:35 +02:00
Franco Fichtner
a137d96af8 firmware: in case of fs integrity issues try not to break upgrades
File is always packaged, but we cannot trust the file system.
2021-10-14 14:49:11 +02:00
Franco Fichtner
f129c4682b interfaces: deprecate *up(v6) files, PPP is only user
Create a more distinguished file _uptime which could be used later
for other things.  Adjust scripting and remove unneeded cruft.
2021-10-05 10:09:12 +02:00
Franco Fichtner
7063dc9e02 firmware: shift away from old-style firmware-xxx files
opnsense-update can read the upgrade hint itself.  We may have
to stash an ABI in there to reach to a different location without
the need to publish a symbolic link.

Move the firmware message to a data location for cleanliness.
2021-09-28 07:38:21 +02:00
Franco Fichtner
f0aeb0eff1 interfaces: add all sorts of stuff to interfaces_addresses() #5086
It allows us to do post-processing on returned addresses for
e.g. #5086 alias parsing for unwanted automatic bind mode.
2021-09-22 11:12:12 +02:00
Ad Schellevis
c96e5f88b4 Firewall / Aliases - minor bugfix in "filter diag table_size" (caf4439cf0) 2021-09-21 16:34:03 +02:00
Ad Schellevis
caf4439cf0 Firewall / Aliases - extend "filter diag table_size" command to include details as well. 2021-09-20 21:59:00 +02:00
Franco Fichtner
9e44d9a1a9 ipsec: rewrite netmask calculation #5201
We need to make sure both the local and the remote IP belong to
the same CIDR range, which might not be the case if we just
calculate the subnet size required by their direct distance.

Rewrite find_smallest_cidr() to take an array of IPs to calculate
their smallest shared subnet mask.  Code is actually pretty simple
and fast.  However, we are not going to account for network and
broadcast address reservation unless that turns out to be an issue.

In the IPv6 case assume that /64 is a good approximation of the
result.

Remove code cruft in utilities while at it also replacing a simple
function only called once in setaddr.sh.
2021-09-16 09:54:33 +02:00
Franco Fichtner
239a6e5dba firmware: masking vulnerability urls in FreeBSD due to UUID use 2021-09-01 14:36:49 +02:00
Ad Schellevis
19a927ce2c firmware: a major upgrade logically also expects a reboot.
The other side could check if the action would be a major upgrade, but it feels more clear to always communicate the correct intention.
If this doesn't have side affects, we could change 1077e0a2a8/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt (L223) as well

cc @fichtner
2021-08-25 18:07:17 +02:00
Ad Schellevis
6cd8a97182 Squashed commit of the following:
commit 46e0383625acfa59e723c390d0b5b2feed8a53aa
Author: Ad Schellevis <ad@opnsense.org>
Date:   Mon Aug 23 11:05:53 2021 +0200

    Firewall / Log - Live log : support rfc5424 format for https://github.com/opnsense/core/pull/5175

commit 0cf3030724d02181991436b324fe5fc70118d4d5
Author: Ad Schellevis <ad@opnsense.org>
Date:   Sat Aug 21 09:36:56 2021 +0200

    System logging - switch local logging to rfc5424 format.

    Allow custom destinations to choose for rfc5424. closes https://github.com/opnsense/core/issues/4911

commit a46e39bcecca6dab1d5a68a0e7f481ea42c16034
Author: Ad Schellevis <ad@opnsense.org>
Date:   Fri Aug 20 18:23:22 2021 +0200

    System logging - switch local logging to rfc5424 format.

    add severity filter to api and log pages

commit b0f38003d7745a01202ffca5e7b5b697ff211f1e
Author: Ad Schellevis <ad@opnsense.org>
Date:   Fri Aug 20 15:42:58 2021 +0200

    System logging - switch local logging to rfc5424 format.

    Split BaseLogFormat into a generic LogFormat and a child NewBaseLogFormat to be able to support both property and method based parsers to keep (external) plugins compatible.

commit 264513f148185faf4a4509bc19aa35739c9844f9
Author: Ad Schellevis <ad@opnsense.org>
Date:   Thu Aug 19 19:56:19 2021 +0200

    System logging - switch local logging to rfc5424 format.

    Refactor log parser (BaseLogFormat), since the plugins use this as well we might have to undo a bit or refactor those as well.
2021-08-23 13:15:51 +02:00
Ad Schellevis
d0630be3b0 Firewall / Aliases - less excessive logging for async dns resolve (76b8ae4490) 2021-08-19 16:12:01 +02:00
Ad Schellevis
76b8ae4490 Firewall / Aliases - improve resolve performance by implementing async dns lookups. ref https://github.com/opnsense/core/issues/5117
This will need a new version of py-dnspython (py-dnspython2 in ports) for dns.asyncresolver support. Some additional log messages have been added to gain more insights into the resolving process via the general log.
Intermediate results aren't saved to disk anymore, which also simplifies the resolve() function in the Alias class. An address parser can queue hostname lookups for later retrieval (see _parse_address()) so we can batch process the list of hostnames to be collected.
2021-08-19 15:53:25 +02:00
Ad Schellevis
4414ffd81b Authentication / LDAP (+TOTP), allow automatic user creation when configured. closes https://github.com/opnsense/core/issues/5116
o add "Automatic user creation" option in System/Access/Servers (for ldap + derivatives)
o simple detached flow, updatePolicies() calculates differences between local and remote group membership, when there is something to sync (remote groups exists) and a local user doesn't exist a configd signal is send to create a new empty user without rights and a random password.

The user_dn field isn't populated, although this will cost additional queries to the remote host, it might be worth the flexibility of allowing to move users to different auth scopes.
2021-08-17 19:33:25 +02:00
James Golovich
f98f4e4f1e
Allow DNS resolver to skip entry on EmptyLabel (#4560)
* Allow DNS resolver to skip entry on EmptyLabel

A name like '.example.com' is not a valid name, but should be handled like a non existant name instead of throwing an exception
2021-08-16 19:10:07 +02:00
kulikov-a
3f73088673
rulecache.py: skip empty metadata (#5148) 2021-08-08 11:12:48 +02:00
kulikov-a
27fdfe49c3
Aliases progress bar: small suggestions (#5149)
* alias.volt: change a bit
* pftablecount.py: count all tables from -vvsT
2021-08-08 10:47:17 +02:00
Ad Schellevis
9b31fad9ed Squashed commit of the following:
commit 9158a0618f7c7943a10fbcdf7b8a4950844d6133
Author: Ad Schellevis <ad@opnsense.org>
Date:   Sat Aug 7 22:35:00 2021 +0200

    Firewall / aliases - simplify and change https://github.com/opnsense/core/pull/5142 a bit

commit 72ad80b072e11e8ad58a82f59a395c9961eef386
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Wed Aug 4 23:29:09 2021 +0300

    alias.volt: add limits progress bar

commit 6ba824471d9fc6186775dc6bdab815b4d1af0ce9
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Wed Aug 4 23:09:17 2021 +0300

    AliasController.php: add getRecordsAction

commit 76de5668ff1f1225f32bd3abfc76f91c3500d753
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Wed Aug 4 23:02:23 2021 +0300

    pfrecords.py: show tables load stats

commit 9719a8d31fd127a621c1cea219c9cd6c42bd852b
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Wed Aug 4 23:00:02 2021 +0300

    actions_filter.conf: add pfrecords.py action

commit f106c8db128b3cdbdfb4ec79e766b84f120d4510
Author: kulikov-a <36099472+kulikov-a@users.noreply.github.com>
Date:   Wed Aug 4 22:40:11 2021 +0300

    update_tables.py: send error to syslog, stats file
2021-08-07 22:41:11 +02:00
Franco Fichtner
9506f4c1c6 firmware: now that we use TEE we should define it #5136 2021-08-05 14:27:30 +02:00
Franco Fichtner
af7543e79b firmware: visibility issue on #5136 2021-08-05 13:05:23 +02:00