Commit graph

9955 commits

Author SHA1 Message Date
Stan Grishin
10a28215e3
Merge pull request #20108 from stangri/master-pbr
pbr: update to 1.0.1-1
2022-12-19 14:10:02 -07:00
Stan Grishin
5bec4a2541 pbr: update to 1.0.1-1
* add more error/warning messages
* better return statements from ips/nftset functions
* better error/warning handling when inserting policies
* comment out unnecessary nft set/ipst clean ups
* shellchecked status functions

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-12-19 19:07:10 +00:00
Toke Høiland-Jørgensen
ac892bb6f1
Merge pull request #20099 from tohojo/fix-flent-pkg
flent: fixup flent package
2022-12-19 15:27:42 +01:00
Florian Eckert
0434407428 mwan3: make mwan3.user executable
This is a fix for the the following change:
3d824ea288

Before the change, it was only possible to execute a shell script. To
remove this restriction, a binary or other script language can now also
be used for 'mwan3.user'. Unfortunately, the old shell script was not
executable for older mwan3 version. During a sysupgrade with config transfer,
this 'mwan3.user' script could not be executed for newer mwan3 versions.
To fix this, the calling script checks whether the 'mwan3.user' is executable,
and if not, this executable bit is now set.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2022-12-19 08:34:54 +01:00
Rui Salvaterra
3fd37a234c tor: bump to 0.4.7.12 stable
Quoting the changelog:

Changes in version 0.4.7.12 - 2022-12-06
  This version contains a major change that is a new key for moria1. Also, new
  metrics are exported on the MetricsPort for the congestion control
  subsystem.

  o Directory authority changes (moria1):
    - Rotate the relay identity key and v3 identity key for moria1. They
      have been online for more than a decade and refreshing keys
      periodically is good practice. Advertise new ports too, to avoid
      confusion. Closes ticket 40722.

  o Minor feature (Congestion control metrics):
    - Add additional metricsport relay metrics for congestion control.
      Closes ticket 40724.

  o Minor features (fallbackdir):
    - Regenerate fallback directories generated on December 06, 2022.

  o Minor features (geoip data):
    - Update the geoip files to match the IPFire Location Database, as
      retrieved on 2022/12/06.

  o Minor bugfixes (cpuworker, relay):
    - Fix an off by one overload calculation on the number of CPUs being
      used by our thread pool. Fixes bug 40719; bugfix on 0.3.5.1-alpha.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-12-19 07:43:35 +08:00
Rui Salvaterra
9136ff1532 tor: bump to 0.4.7.11 stable
Quoting the changelog:

Changes in version 0.4.7.11 - 2022-11-10
  This version contains several major fixes aimed at helping defend against
  network denial of service. It is also extending drastically the MetricsPort
  for relays to help us gather more internal data to investigate performance
  and attacks.

  We strongly recommend to upgrade to this version especially for Exit relays
  in order to help the network defend against this ongoing DDoS.

  o Directory authority changes (dizum, Faravahar):
    - Change dizum IP address. Closes ticket 40687.
    - Remove Faravahar until its operator, Sina, set it back up online
      outside of Team Cymru network. Closes ticket 40688.

  o Major bugfixes (geoip data):
    - IPFire informed us on August 12th that databases generated after
      (including) August 10th did not have proper ARIN network
      allocations. We are updating the database to use the one generated
      on August 9th, 2022. Fixes bug 40658; bugfix on 0.4.5.13.

  o Major bugfixes (onion service):
    - Set a much higher circuit build timeout for opened client rendezvous
      circuit. Before this, tor would time them out very quickly leading to
      unnecessary retries meaning more load on the network. Fixes bug 40694;
      bugfix on 0.3.5.1-alpha.

  o Major bugfixes (OSX):
    - Fix coarse-time computation on Apple platforms (like Mac M1) where
      the Mach absolute time ticks do not correspond directly to
      nanoseconds. Previously, we computed our shift value wrong, which
      led us to give incorrect timing results. Fixes bug 40684; bugfix
      on 0.3.3.1-alpha.

  o Major bugfixes (relay):
    - Improve security of our DNS cache by randomly clipping the TTL
      value. TROVE-2021-009. Fixes bug 40674; bugfix on 0.3.5.1-alpha.

  o Minor feature (Mac and iOS build):
    - Change how combine_libs works on Darwin like platforms to make
      sure we don't include any `__.SYMDEF` and `__.SYMDEF SORTED`
      symbols on the archive before we repack and run ${RANLIB} on the
      archive. This fixes a build issue with recent Xcode versions on
      Mac Silicon and iOS. Closes ticket 40683.

  o Minor feature (metrics):
    - Add various congestion control counters to the MetricsPort. Closes
      ticket 40708.

  o Minor feature (performance):
    - Bump the maximum amount of CPU that can be used from 16 to 128. Note
      that NumCPUs torrc option overrides this hardcoded maximum. Fixes bug
      40703; bugfix on 0.3.5.1-alpha.

  o Minor feature (relay):
    - Make an hardcoded value for the maximum of per CPU tasks into a
      consensus parameter.
    - Two new consensus parameters are added to control the wait time in
      queue of the onionskins. One of them is the torrc
      MaxOnionQueueDelay options which supersedes the consensus
      parameter. Closes ticket 40704.

  o Minor feature (relay, DoS):
    - Apply circuit creation anti-DoS defenses if the outbound circuit
      max cell queue size is reached too many times. This introduces two
      new consensus parameters to control the queue size limit and
      number of times allowed to go over that limit. Closes ticket 40680.

  o Minor feature (relay, metrics):
    - Add DoS defenses counter to MetricsPort.
    - Add congestion control RTT reset counter to MetricsPort.
    - Add counters to the MetricsPort how many connections, per type,
      are currently opened and how many were created.
    - Add relay flags from the consensus to the MetricsPort.
    - Add total number of opened circuits to MetricsPort.
    - Add total number of streams seen by an Exit to the MetricsPort.
    - Add traffic stats as in number of read/written bytes in total.
    - Related to ticket 40194.

  o Minor features (fallbackdir):
    - Regenerate fallback directories generated on November 10, 2022.

  o Minor features (geoip data):
    - Update the geoip files to match the IPFire Location Database, as
      retrieved on 2022/11/10.

  o Minor bugfixes (authorities, sandbox):
    - Allow to write file my-consensus-<flavor-name> to disk when
      sandbox is activated. Fixes bug 40663; bugfix on 0.3.5.1-alpha.

  o Minor bugfixes (dirauth):
    - Directory authorities stop voting a consensus "Measured" weight
      for relays with the Authority flag. Now these relays will be
      considered unmeasured, which should reserve their bandwidth for
      their dir auth role and minimize distractions from other roles. In
      place of the "Measured" weight, they now include a
      "MeasuredButAuthority" weight (not used by anything) so the
      bandwidth authority's opinion on this relay can be recorded for
      posterity. Lastly, remove the AuthDirDontVoteOnDirAuthBandwidth
      torrc option which never worked right. Fixes bugs 40698 and 40700;
      bugfix on 0.4.7.2-alpha.

  o Minor bugfixes (onion service client):
    - A collapsing onion service circuit should be seen as an
      "unreachable" error so it can be retried. Fixes bug 40692; bugfix
      on 0.3.5.1-alpha.

  o Minor bugfixes (onion service):
    - Make the service retry a rendezvous if the circuit is being
      repurposed for measurements. Fixes bug 40696; bugfix
      on 0.3.5.1-alpha.

  o Minor bugfixes (relay overload statistics):
    - Count total create cells vs dropped create cells properly, when
      assessing if our fraction of dropped cells is too high. We only
      count non-client circuits in the denominator, but we would include
      client circuits in the numerator, leading to surprising log lines
      claiming that we had dropped more than 100% of incoming create
      cells. Fixes bug 40673; bugfix on 0.4.7.1-alpha.

  o Code simplification and refactoring (bridges):
    - Remove unused code related to ExtPort connection ID. Fixes bug
      40648; bugfix on 0.3.5.1-alpha.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-12-19 07:43:35 +08:00
Alexey Smirnov
91f18c0613 smcroute: update to 2.5.6
Signed-off-by: Alexey Smirnov <s.alexey@gmail.com>
2022-12-19 07:38:44 +08:00
Toke Høiland-Jørgensen
d51c948c1f flent: Integrate flent-tools into the flent package
Now that we're packaging flent itself, there's no reason to have a
completely separate flent-tools package. So integrate the flent-tools
package specification into the main flent package so it's always kept in
sync.

Also add a dependency from flent itself on flent-tools, as the shell
versions of those utilities that Flent uses when running tests doesn't work
on the busybox shell included with openwrt.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2022-12-17 23:43:05 +01:00
Toke Høiland-Jørgensen
6818f1e521 flent: Rename and update package
Update the Flent package and move it to net/, renaming it to just 'flent'
instead of python3-flent (it's not a library, having the python3- prefix
makes no sense). Also add python3-defusedxml as a dependency to protect
against XML bombs if using the one of the backends that use XML-RPC, and
trim the dependencies to those used directly by Flent.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2022-12-17 23:42:51 +01:00
Oli Ze
44e1c2115e igmpproxy: update to version 0.4.0
Signed-off-by: Oli Ze <olze@trustserv.de>
2022-12-16 20:50:31 -08:00
YiZhen Choo
60ae1e5637 AdGuardHome: update to v0.107.21
Signed-off-by: YiZhen Choo <yizhen.c02@gmail.com>
2022-12-16 07:17:19 +01:00
John Audia
2d4e7d5fd3 OpenAppID: add new package
Traditionally, Snort rules are based upon packet analysis.  OpenAppID
enables detection of applications/cloud applications on the network.

This package provides OpenAppID and signature files used by OpenAppID to detect
network traffic from certain applications can be used to identify rogue
application use, detect malicious applications and implement various
application policies, such as application blacklisting, limiting application
usage, and enforcing conditional controls.

To use, for example, edit /etc/snort/local.lua and add the following section
at a minimum:

appid = {
  app_detector_dir = '/usr/lib/openappid',
  log_stats = true,
  app_stats_period = 60,
}

Signed-off-by: John Audia <therealgraysky@proton.me>
2022-12-16 03:55:34 +08:00
Peter van Dijk
6e8e2d571e pdns-recursor: update to 4.8.0
Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
2022-12-15 08:59:24 +08:00
Toke Høiland-Jørgensen
17691a5a52 acme-acmesh: Provide a 'combined' certificate bundle as well
The haproxy hotplug script creates a 'combined' certificate bundle that
contains both the certificate chain and the private key. However, having a
daemon hotplug script write into CERT_DIR is not great; so let's provide
the bundle as part of the main acme framework, keeping it in $domain_dir
and just linking it into CERT_DIR. That way we can keep CERT_DIR as just a
collection of links for everything, that no consumers should need to write
into.

Also make sure to set the umask correctly so the combined file is not
world-readable (since it contains the private key).

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2022-12-14 16:43:45 +01:00
Toke Høiland-Jørgensen
152a26da57 acme-acmesh: Don't hard-code certificate directory
The acme-acmesh package hardcoded the certificate path in its hook script.
Now that we export it as a variable we can avoid hard-coding and use the
variable version instead. Also factor out the linking of certificates into
a function so it's not repeated.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2022-12-14 15:31:00 +01:00
Toke Høiland-Jørgensen
e3d6422dc5 acme-common: Export canonical paths for storing certificates and challenges
The contract between the acme-common framework and consumers and hook
scripts is that certificates can be consumed from /etc/ssl/acme and that
web challenges are stored in /var/run/acme/challenge. Make this explicit by
exporting $CERT_DIR and $CHALLENGE_DIR as environment variables as well,
instead of having knowledge of those paths depend on out-of-band
information. We already exported $challenge_dir, but let's change it to
upper-case to make it clear that it's not a user configuration variable.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2022-12-14 15:28:23 +01:00
Toke Høiland-Jørgensen
82558996c9
Merge pull request #20059 from hgl/acme
acme: deprecate state_dir
2022-12-14 15:00:48 +01:00
Glen Huang
c40d7c09b9 acme-acmesh: use $challenge_dir
Signed-off-by: Glen Huang <i@glenhuang.com>
2022-12-14 21:16:57 +08:00
Glen Huang
b907223d57 acme: deprecate state_dir
state_dir is actually a hardcoded value in conffiles. Allowing users to
customize it could result in losing certificates after upgrading if they
don't also specify the dir as being preserved. We shouldn't default to
this dangerous behavior.

With the new ACME package, certificates live in the standard location
/etc/ssl/acme, users who need to do certificate customizations should
look for them in that dir instead.

Signed-off-by: Glen Huang <i@glenhuang.com>
2022-12-14 21:15:52 +08:00
Stan Grishin
582fc64a94
Merge pull request #20062 from stangri/master-pbr
pbr: detect missing iptables
2022-12-12 20:21:12 -07:00
Sibren Vasse
ba8cb7c16c openssh: update to 9.1p1
Signed-off-by: Sibren Vasse <github@sibrenvasse.nl>
2022-12-13 10:04:27 +08:00
Stan Grishin
fff884e67f simple-adblock: bugfix: add dnsmasq.nftset to uci_load_validate
* fixes https://github.com/openwrt/openwrt/issues/11481 thanks to:
* https://github.com/mistepien for reporting
* https://github.com/dave14305 for diagnosing

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-12-12 21:43:09 +00:00
Tianling Shen
f7b73bf000
Merge pull request #19982 from golddranks/master
ddns-scripts: update_gandi_net: improve logging & add timeout
2022-12-13 03:59:46 +08:00
Jan Hák
c933a15ceb knot: update to version 3.2.4
Signed-off-by: Jan Hák <jan.hak@nic.cz>
2022-12-13 03:46:46 +08:00
Stan Grishin
a86985879f pbr: detect missing iptables
Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-12-12 02:52:59 +00:00
Peter van Dijk
f558461895 pdns: update to 4.7.3
Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
2022-12-12 05:17:37 +08:00
Hannu Nyman
fd7da3333e wget: apply upstream fix to avoid nettle linking in nossl
Replace my own patch with the upstream solution, which they issued
in response to my bug report.
(Two patches as they overlooked something on the first try.
Reference to https://savannah.gnu.org/bugs/index.php?63431 )

The nettle lib evaluation is now conditional to not having "--disable-ntlm".

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2022-12-11 16:36:30 +02:00
Stan Grishin
75ac50ca89 https-dns-proxy: fix restart
Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-12-10 05:32:20 +00:00
Stan Grishin
39ddb15038
Merge pull request #20040 from stangri/master-https-dns-proxy
https-dns-proxy: add mdns service records
2022-12-09 22:02:49 -07:00
Stan Grishin
3950f0ce99 simple-adblock: support new OISD dnsmasq config
* OISD dnsmasq config files switched from using address= to server=

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-12-10 01:57:37 +00:00
Pyry Kontio
cefe85250c
ddns-scripts: update_gandi_net: improve logging & add timeout
- Improved logging
  - Log the executed curl command to be able to rerun and test it manually
  - Log the curl exit status
- Added 30 second timeout timeout for clear-cut detection of flaky connections.

Signed-off-by: Pyry Kontio <pyry.kontio@drasa.eu>
2022-12-10 03:37:19 +09:00
Chris Barrick
cbdc67bd10 ddns-scripts: add support for Google Cloud DNS
The implementation uses a GCP service account. The user is expected to
create and secure a service account and generate a private key. The
"password" field can contain the key inline or be a file path pointing
to the key file on the router.

The GCP project name and Cloud DNS ManagedZone must also be provided.
These are taken as form-urlencoded key-value pairs in param_enc. The TTL
can optionally be supplied in param_opt.

Signed-off-by: Chris Barrick <chrisbarrick@google.com>
2022-12-08 22:04:33 -05:00
Carlo Alberto Ferraris
02e154d3e5 tailscale: preserve tailscaled state file
Fixes #19774 

Signed-off-by: Carlo Alberto Ferraris <cafxx@strayorange.com>
2022-12-09 07:21:33 +08:00
Kuan-Yi Li
cec29e9105 modemmanager: bump to 1.20.2
Drop deprecated AUTORELEASE.

Disable unused tests as its compilation is optional in 1.20.

Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
2022-12-09 06:32:32 +08:00
Alois Klink
6703d76230 privoxy: fix preinst/postinst script indentation
Fix the indentation of the preinst/postinst scripts for the privoxy
package.

Because these scripts didn't start with `#!/bin/sh`
(they instead started with the TAB character), `/bin/sh` was not used
to start them.

On x86_64 and i386_pentium-mmx, this seems to be fine, but on
arm_cortex-a15_neon-vfpv4 and aarch64_cortex-a53, running these
scripts fails with a:

```
Installing privoxy (3.0.33-3) to root...
Collected errors:
 * pkg_run_script: package "privoxy" preinst script returned status 1.
 * preinst_configure: Aborting installation of privoxy.
 * opkg_install_cmd: Cannot install package privoxy.
```

Reported-by: Marius Dinu <m95d+git@psihoexpert.ro>
Signed-off-by: Alois Klink <alois@aloisklink.com>
2022-12-08 10:54:55 +01:00
Stijn Tintel
fbe0e832e1
Merge pull request #19933 from stintel/vallumd
vallumd: updates
2022-12-08 00:02:18 +02:00
Stan Grishin
ee37d0ec86 https-dns-proxy: add mdns service records
* add mdns records for started instances
* Makefile: use $(PKG_VERSION) as a value for PKG_SOURCE_DATE instead of
  hard-coding it

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-12-07 21:00:08 +00:00
John Audia
d6b712cde6 snort3: unified configs: local.lua and homenet.lua
This commit adds /etc/snort/local.lua and /etc/snort/homenet.lua for user
defined config options which is more simplistic than modifying upstream
files directly. That can be tedious and decisive to maintain in sync with
upstream changes.  The init script has been adjusted accordingly.

Acknowledgment to amish who maintains the Arch Linux snort-nfqueue package[1]
for these ideas and initial code.

Another modification is dropping the following args in the call to
/usr/bin/snort by the init system as these options are provided in
/etc/snort/local.lua:

 * --daq-dir /usr/lib/daq/
 * -A "$alert_module"

Instructions to configure snort3:
1. Edit /etc/snort/homenet.lua and redefine HOME_NET and EXTERNAL_NET, for example:

   HOME_NET = [[ 10.9.8.0/24 192.168.1.0/24 ]]
   EXTERNAL_NET = "!$HOME_NET"

2. Edit /etc/snort/local.lua to setup options unique to your use case of snort.
   The default ones I included should be sane for the role of IDS (alert only),
   but users may easily uncomment some options therein to use IPS (drop) mode.

3. Install or symlink rules to /etc/snort/rules/snort.rules and optionally
   edit /etc/snort/local.lua to define extra rules files if not using a unified
   'snort.rules'

References:
1. https://aur.archlinux.org/packages/snort-nfqueue

Signed-off-by: John Audia <therealgraysky@proton.me>
2022-12-08 04:47:38 +08:00
Tianling Shen
5c17cd1c81
Merge pull request #20036 from ysc3839/natmap-fix
natmap: merge "ipv4" and "ipv6" options into single "family" option
2022-12-07 22:28:29 +08:00
Linus Lüssing
f22370b1b7 bpfcountd: remove incomplete/broken namespace feature
The original idea of the extra namespace variable was to set up
bpfcountd from other daemons etc. independent of what a user configured
in /etc/config/bpfcountd for instance. Like:

 $ UCI_CONFIG_DIR=/var/run/bpfcountd/gluon-config \
   /etc/init.d/bpfcountd start "" gluon

However there are still issues with this approach:

1) Instance specific stop calls like:

 $ /etc/init.d/bpfcountd stop <instance-name> <namespace>"

will not  stop the according namespaced instance, as the stop() in
/etc/rc.common will call procd_kill() without the namespace prefix.
And we can't overwrite that behaviour. And asking a user to use
"... start <in> <ns>" and "... stop <ns>.<in>" is confusing.
(and currently "... stop <ns>.<in>" would not remove the correct
unix socket).

2) A stop call without an instance/config name would always stop all
instances. So the namespace variable would be ignored.
While start without an instance "works", but:

3) It would stop any process that is not in the currently selected
UCI_CONFIG_DIR.

As all this is not easily fixable without changing OpenWrt internals,
just remove the whole namespace idea for now.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2022-12-07 17:43:03 +08:00
Richard Yu
190e04caf6
natmap: merge "ipv4" and "ipv6" options into single "family" option
Signed-off-by: Richard Yu <yurichard3839@gmail.com>
2022-12-07 15:18:09 +08:00
Tianling Shen
88d33fef91
dnsproxy: Update to 0.46.4
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-12-07 06:58:42 +08:00
Tianling Shen
a1a14c1103
cloudflared: Update to 2022.11.1
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-12-07 06:58:35 +08:00
Josef Schlehofer
ec2f58a2e5
Merge pull request #19613 from wormi4ok/tailscale-version-bump
tailscale: update to v1.32.0
2022-12-05 23:08:33 +01:00
John Audia
eb251c50bb snort3: update to 3.1.48.0-1
Had to add a patch to allow builds of targets containing '+' in their dir name

Build system: x86_64
Build-tested: bcm2711/RPi4B
Run-tested: bcm2711/RPi4B

Signed-off-by: John Audia <therealgraysky@proton.me>
2022-12-06 02:22:55 +08:00
Tianling Shen
02aff4aa77
Merge pull request #19998 from ysc3839/natmap
natmap: add new package
2022-12-06 00:28:53 +08:00
Richard Yu
e691a25cb3
natmap: add new package
NATMap is a program for opening port behind full cone NAT (NAT-1),
without the need for using UPnP or another port forward settings.

More details can be found at original repo: https://github.com/heiher/natmap

Signed-off-by: Richard Yu <yurichard3839@gmail.com>
2022-12-05 16:03:51 +08:00
Daniel Golle
f60f11f927
snowflake: update to version 2.4.1
Changes in version v2.4.1 - 2022-12-01
 - Issue 40224: Bug fix in utls roundtripper

Changes in version v2.4.0 - 2022-11-29
 - Fix proxy command line help output
 - Issue 40123: Reduce multicast DNS candidates
 - Add ICE ephemeral ports range setting
 - Reformat using Go 1.19
 - Update CI tests to include latest and minimum Go versions
 - Issue 40184: Use fixed unit for bandwidth logging
 - Update gorilla/websocket to v1.5.0
 - Issue 40175: Server performance improvements
 - Issue 40183: Change snowflake proxy log verbosity
 - Issue 40117: Display proxy NAT type in logs
 - Issue 40198: Add a `orport-srcaddr` server transport option
 - Add gofmt output to CI test
 - Issue 40185:  Change bandwidth type from int to int64 to prevent overflow
 - Add version output support to snowflake
 - Issue 40229: Change regexes for ipv6 addresses to catch url-encoded addresses
 - Issue 40220: Close stale connections in standalone proxy

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-12-05 01:21:12 +00:00
Stan Grishin
13a9f1914b
Merge pull request #19763 from stangri/master-pbr
pbr: initial commit
2022-12-04 10:50:59 -07:00
Stanislav Petrashov
1ffe60bc85
tailscale: Update to version 1.32.3
Signed-off-by: Stanislav Petrashov <s@petrashov.ru>
2022-12-03 19:50:45 +01:00