Commit Graph

19844 Commits

Author SHA1 Message Date
Michael Tremer
5b5facc3ca make.sh: Build some dependencies for glib earlier
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
b1ff8adbf0 network: Silence any output during the QMI setup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
580c249a5b network: Assign "static" MAC addresses to QMI interfaces
This is really badly hacky, but I do not know a better way to solve this
with our existing "setup" program which would be a nightmare to extend.

So we are using the device number to generate a static MAC address which
can then be used as usual. I doubt many people will have more than one
device.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
8d09028b69 network: Force dhcpcd to ask for an IP address
So since all this static nonsense wasn't feeling right, I opened a
ticket upstream and got a lead how to actually get some proper DHCP
working.

  https://github.com/NetworkConfiguration/dhcpcd/issues/129

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
86ba5ce316 dhcpcd.exe: Add a safety net to make sure we always have a route
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
ece96c6f56 dhcpcd.exe: Ignore some events
We don't want any log messages printed.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
e3da491238 dhcpcd.exe: Reformat the reason dispatcher
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
1f568cc0ed network: dhcpcd fails to check link state for QMI interfaces
When acquiring an IP address, dhcpcd seems to think that the interface
is down or does not work properly for some reason. It will
subsequentially decide to exit which is not what we want here.

Therefore this patch tells dhcpcd to ignore the link state and keep
happily running.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
cb4b6f433e dhcpcd.exe: Fix typo in configuring DNS server
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
c2e2c2824a dhcpcd.exe: Run everything no matter how RED is configured
This could potentially create problems when we abuse these functions to
launch the DHCP client on IPTV interfaces. This would have to be tested
and confirmed or potentially we would need some more changes to keep
supporting that use-case, too.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
7a67f77f10 dhcpcd.exe: Only touch /var/ipfire/red/active once
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
4ffd18a774 dhcpcd.exe: Do not overwrite the default gateway when empty
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
ccf36e9e8c dhcpcd.exe: Use DNS servers from QMI
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
261727435d dhcpcd.exe: Store the default gateway when in QMI mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
36914cce70 dhcpcd.exe: Only set gateway when we have received one
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
11f6226f65 dhcpcd.exe: Actually use the received MTU
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
a22e3c8ec7 dhcpcd.exe: Flush any configured IP addresses on shutdown
This allows us to start with a fresh interface every time dhcpcd is
being restarted.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
effe5c7339 dhcpcd: Only try to obtain an IP address for IPv4
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
f28d5fa8cc network: Remove --debug switch for dhcpcd in QMI mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
7c3369a623 pppsetup.cgi: Move authentication above MTU
I feel that authentication is more important.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
80989cc935 pppsetup.cgi: Add support for QMI profiles
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
38f02ae3a1 pppsetup.cgi: Add support for QMI profiles
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
a0918657c9 network: Drop any traces of ISDN
This has been removed a long time ago and we should probably spend a
little bit more time on keeping the networking code tidy :)

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
957863f754 network: Add support for QMI modems
QMI is a proprietary interface from Qualcomm which are absolute pioneers
when it comes to interfacing with modems. I don't think there would be
any way to make this any more complicated and bloated.

So, bascially we will put the modem into a raw IP mode which changes the
interface into Point-to-Point mode.

We then configure the provider settings using qmicli. After that, the
modem will try to connect to the provider and obtain an IP address.

We will then start a DHCP client which does not do any DHCP-ing because
implementing that would be too complicated. Instead we do something even
*more* complicated where we would launch a custom script which asks the
modem for the allocated IP address and will configure it into the
device. The DHCP client then reads that IP address from the device and
pretends it came up with it by itself. Such an easy way to do this.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:45 +00:00
Michael Tremer
c6551e73c2 network: Allow passing custom options to dhcpcd
This is useful for debugging.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:45 +00:00
Michael Tremer
33d2aa6d02 dhcpcd.exe: Allow using the DHCP setup scripts when RED is not configured as DHCP
This is useful for dial-up methods that use DHCP, but when RED_TYPE is
configured as PPP.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:45 +00:00
Michael Tremer
177ec16705 dhcpcd: Log any unhandled client events
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:45 +00:00
Michael Tremer
1d66c3509f libqmi: New package
This library implements the QMI modem protocol.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:45 +00:00
Michael Tremer
47a57621b0 libgudev: New package
This is required for libqmi.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:45 +00:00
Peter Müller
a8dcce1aad Start Core Update 173
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-17 17:19:13 +00:00
Peter Müller
9ea8de7c39 Revert "lsof: Update to version 4.96.4"
This reverts commit 80274cc875.

See: #13015
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-17 14:48:00 +00:00
Peter Müller
bbbb0b9e01 backup(.pl): Replace OpenVPN DH parameter with ffdhe4096
This ensures restoring a backup won't silently bring back an insecure
Diffie-Hellman parameter (which could also not be inspected through the
web interface anymore).

Reported-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-17 14:46:32 +00:00
Peter Müller
ee7944fe32 Core Updatr 172: Properly replace DH parameter in /var/ipfire/ovpn/n2nconf/*/*.conf
https://lists.ipfire.org/pipermail/development/2022-December/015001.html

Reported-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-17 14:44:49 +00:00
Peter Müller
6619aed611 Revert "openvpn-authenticator: Avoid infinite loop when losing socket connection"
This reverts commit 92a9ce54bc.
2022-12-13 15:27:30 +00:00
Peter Müller
6d4110d214 Revert "openvpn-authenticator: Break read loop when daemon goes away"
This reverts commit 7ec3664c32.
2022-12-13 15:26:45 +00:00
Peter Müller
4acb701b84 Tor: Update to 0.4.7.12
Full 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: Peter Müller <peter.mueller@ipfire.org>
2022-12-11 11:57:34 +00:00
Michael Tremer
7ec3664c32 openvpn-authenticator: Break read loop when daemon goes away
Fixes: #12963
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
2022-12-11 11:53:12 +00:00
Michael Tremer
d7618ccba8 openvpn-authenticator: Drop some dead code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
2022-12-11 11:53:12 +00:00
Michael Tremer
92a9ce54bc openvpn-authenticator: Avoid infinite loop when losing socket connection
This patch will gracefully terminate the daemon when it loses its
connection to the OpenVPN daemon.

Fixes: #12963
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
2022-12-11 11:53:12 +00:00
Adolf Belka
9e7d4102b8 Language files update:
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2022-12-11 11:52:38 +00:00
Adolf Belka
19a417c2a1 ovpnmain.cgi: Fix for bug in WUI menu on CU172 Testing
- On CU172 Testing Build: master/eb9e29f9 when selecting the OpenVPN menu it showed the
   Diffie-Hellman info and pressing back took you to the same DH page.
- Tested patch suggestion from Erik on vm testbed and confirmed that it worked.

Suggested-by: Erik Kapfer <erik.kapfer@ipfire.org>
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2022-12-11 11:52:38 +00:00
Michael Tremer
e9062718d1 Revert "Core Update 172: Remove powertop add-on, if installed"
This reverts commit d3a4fcc709.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-06 10:07:19 +00:00
Michael Tremer
7a22b050fa Revert "Drop powertop"
This reverts commit f7b0247e02.

https://community.ipfire.org/t/will-the-powertop-add-on-be-available-in-future-updates/9012

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-06 10:05:47 +00:00
Peter Müller
eb9e29f9a7 Core Update 172: Extract files before removing any
Note to self: Also do this in further Core Updates.

Suggested-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-03 11:57:18 +01:00
Peter Müller
41dfd30c9a Core Update 172: Do not delete liblzma.so.5.2.5
Again, xz currently present on an IPFire machine is linked
against this. Thus, deleting this file causes the unpack
routine to fail, which is why we should have never deleted
it in the first place.

Reported-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-03 11:39:25 +01:00
Peter Müller
ebcb8d53c4 Core Update 172: Ship packages that miss dependencies
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-03 11:38:58 +01:00
Peter Müller
dc9f7554c1 Core Update 172: Zut alors, keep libhistory.so.8.1 around as well
My fault, again. :-/

Reported-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-02 17:43:04 +01:00
Peter Müller
a3e3e6c3d1 Core Update 172: Do not delete libreadline.so.8.1
Doing so causes the shell in which the update script is currently
executed to crash before extracting files, which results in a
completely broken system.

See also: https://community.ipfire.org/t/core-172-testing-fails/9002/1

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-02 09:57:53 +01:00
Peter Müller
509bde09ae Core Update 172: Ship ca-certificates
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-01 18:01:28 +01:00
Peter Müller
8d1f604b4a ca-certificates: Remove TrustCor Systems root CAs
On November 30, 2022, Mozilla decided to take the following
actions as a response to the concerns raised about the merits
of this root CA operator (excerpt taken from
https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/oxX69KFvsm4/m/yLohoVqtCgAJ):

> 1. Set "Distrust for TLS After Date" and "Distrust for S/MIME
>    After Date" to November 30, 2022, for the 3 TrustCor root
>    certificates (TrustCor RootCert CA-1, TrustCor ECA-1,
>    TrustCor RootCert CA-2) that are currently included in
>    Mozilla's root store.
>
> 2. Remove those root certificates from Mozilla's root store
>    after the existing end-entity TLS certificates have expired.

As far as the latter is concerned, the offending certificates
have these expiry dates set:
- TrustCor RootCert CA-1: Mon, 31 Dec 2029 17:23:16 GMT
- TrustCor RootCert CA-2: Sun, 31 Dec 2034 17:26:39 GMT
- TrustCor ECA-1:         Mon, 31 Dec 2029 17:28:07 GMT

The way IPFire 2 currently processes Mozilla's trust store
does not feature a way of incorporate a "Distrust for XYZ After
Date" attribute. This means that despite TrustCor Systems root
CAs are no longer trusted by browsers using Mozilla's trust
store, IPFire would still accept certificates directly or
indirectly issued by this CA until December 2029 or December 2034.

To protect IPFire users, this patch therefore suggests to
patch our copy of Mozilla's trust store in order to remove
TrustCor Systems' root CAs: The vast majority of HTTPS connections
established from an IPFire machine take place in a non-interactive
context, so there is no security benefit from a "Distrust After
Date" information. Instead, if we do not want IPFire installations
to trust this CA, we have no other option other than remove it
unilaterally from our copy of Mozilla's trust store.

See also: https://lists.ipfire.org/pipermail/development/2022-November/014681.html

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-01 18:01:08 +01:00