Commit Graph

1501 Commits

Author SHA1 Message Date
Michael Tremer
b95afd6aca wsdd: Reindent initscript
No spaces. Just tabs.

Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
2024-01-11 16:05:29 +01:00
Michael Tremer
5cf3bc3507 wsdd: Simplify starting/stopping and checking wsdd
Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
2024-01-11 16:02:29 +01:00
Adolf Belka
605217e96f wsdd: Install wsdd - fixes bug13445
- lfs and toorfile created for wsdd
- wsdd added to make.sh script
- created install/update/uninstall scripts for wsdd that create an unpriveleged user and
   group.
- initscript created for wsdd. As wsdd is a python3 script, when it is run as a daemon the
   pidof command does not find any pid for wsdd. So a directory/file for a pid file was
   created. This is then passed to the loadproc and killproc commands. After the loadproc
   command has been created the pid is extracted from the ps aux command and put into the
   pid file. This then works when running the killproc command for it to know what to go
   and stop. The statusproc command does not have the ability to feed in the pid from a
   pid file and so it fails to find a running wsdd as it uses the pidof command. Code was
   added to the status section of the initscript to check if the pid file exists and if so
   to print the same command as used with the statusproc command, and also the same
   wording if the pid file does not exist because wsdd is not running.
- info from the ethernet/settings file is used to identify if only green0 is available or
   if blue0 is also used and based on this the appropriate interface commands are added to
   the wsdd command.
- wsdd is also set up to run in a chroot
- Has been tested on my vm testbed, initially by editing the files on the vm clone. After
   everything confiremd to be working, the build was successfully carried out and the
   .ipfire package was copied to a new vm clone installed and shown to perform as expected.
   This test only confirms that wsdd is correctly installed and started. Shutsdown and
   restarts on reboot successfully. Confirmed from the ps aux info that wsdd has been
   started with the correct options. Thge testing can not evaluate if wsdd enables windows
   systems newer than version 7 top be able to detect the samba shares as I have no
   windows systems.

Fixes: Bug13445
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2024-01-11 16:00:58 +01:00
Michael Tremer
c3019331df initscripts: Implement storing PIDs in loadproc
Some programs do not write their own PID files any more, but since our
initscripts heavily rely on those, this extension allows to store it
easily.

Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
2024-01-11 15:59:34 +01:00
Michael Tremer
dd8ef8cc10 initscripts: Fix wrong variable check for $PIDFILE in getpids
getpids() checked whether it needed to pass a pid file to pidofproc, but
the check was inverted.

Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
2024-01-11 15:57:50 +01:00
Arne Fitzenreiter
cb58d049e0 alsa: don't report failed module loads
this will stop pakfire if the kernel was updated before the alsa update.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-12-19 11:35:53 +01:00
Michael Tremer
ece94c7edf apache2: Properly re-execute Apache on restart
Previously, we sent Apache a signal to relaunch itself which caused
Apache to kill all child processes, and re-execute them.

However, when updating glibc, any newly compiled modules could not be
loaded as Apache was running with the previous version of glibc until
the next reboot.

This change will now properly stop Apache and restart it which solves
this problem.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-11-27 11:26:00 +00:00
Jonatan Schlag
6361fa73c6 network startup: Always cleanup before red gets started
There is no sense in doing this only in /etc/init.d/network
and not in /etc/init.d/networking/red

This files should be always deleted before a startup

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-09-05 15:15:53 +00:00
Jonatan Schlag
f2e90a6e0e network scripts: remove check for AUTOCONNECT
This setting is also old (2007) and cannot be set via the webinterface
anymore. So why checking for something, which can only be true.

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-09-05 15:15:53 +00:00
Jonatan Schlag
100cd24a17 network initscripts: Remove code for old zone scheme
A long time ago (2007) there were more config types possible then 1, 2, 3
and 4. As our installer currently only accepts config type out of the set
1, 2, 3 and 4 we do not need to check if our CONFIG_TYPE is in this set.

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-09-05 15:15:53 +00:00
Jonatan Schlag
8ae238a588 Use bash as shebang in network initscripts
/bin/sh is a symlink to /bin/bash on ipfire systems. Using /bin/sh in
the scripts as shebang hurts in two ways:

1. We use features which do not work with sh as shell. This is not
   really a problem but if we rely on features of a real bash we can
   state this clearly.
2. The syntay highlighting in vim does not work without a correct
   shebang. As I want and need correct syntax highlighting I propose to
   change the shebang.

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-09-05 15:15:53 +00:00
Michael Tremer
d4a8484eb1 mountfs: Remove excessive sync-ing before umount
The system should perform all write operations when sync is called and
only return when the write queues are empty.

There is no additional benefit for calling sync again as the buffers
should be empty. If data is still being lost, then that is a bug in
either the storage device or driver.

As the (re-)boot process is already so slow, I would like to get rid of
any unnecessary delays.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-08-15 09:48:35 +00:00
Michael Tremer
21d8c56c8a mountfs: Mount ExtraHD filesystems
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-08-15 09:47:25 +00:00
Arne Fitzenreiter
cd78363404 Merge remote-tracking branch 'origin/master' into next
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-08-12 16:48:54 +02:00
Arne Fitzenreiter
41e3393152 initskript: smt: restore IPFire banner
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-08-12 09:58:56 +02:00
Arne Fitzenreiter
f41a54a2ea initskript: smt: disable smt on vulnerable cpu
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-08-12 09:11:52 +02:00
Adolf Belka
0803c50f76 red: Fixes bug#13164 adjust pppoe plugin name in red initscript
- This patch goes together with the patch for the ppp update to 2.5.0
- The rp-pppoe.so option is no longer available. There is only the pppoe.so available now

Fixes: Bug#13164
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-08-07 14:12:55 +00:00
Michael Tremer
91443f9234 udev: Drop hwrng rules
This is another fragment of rngd - the gift that keeps giving.

The udev rules file contains a lot of stuff for a prototype which never
went into production. So, that can be dropped.

It would have been left with one rule that starts rngd whenever a HWRNG
is being found. That is however no longer needed as rngd is being
started in the init process. We no longer need to initialize it as early
as possible to seed the kernel's PRNG.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-07-31 13:47:31 +00:00
Arne Fitzenreiter
0bb82a95dd initskripts: remove buggy remount at halt and reboot
mount -f does nothing and also the sync calls should do nothing
on a already ro mounted filesystem.

fixes: #13195

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-07-28 16:06:54 +00:00
Arne Fitzenreiter
f24ce4558a partresize: enable journal on ssd's and vm's
the flashimage is build without journal to not destroy
usb thumbdrives or sd cards. On real ssd's and virtual
machines it should enabled for higher data security.

So this patch add the journal is drive support smart.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-06-15 09:25:59 +00:00
Arne Fitzenreiter
36a19f2b39 partresize: remove buggy code
DRV is not defined so this code is useless.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-06-15 09:25:59 +00:00
Peter Müller
3486440720 Housekeeping: Only mark files as executable if they have to be
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2023-05-11 20:19:20 +00:00
Adolf Belka
0921556c85 initscripts: removal of lvmetad initscript
- With the last update of lvm2 lvmetad was removed from lvm2. I did not recognise that
   lvmetad had been setup as an automatic initscript, so it no longer works as the
   binary is no longer provided.
- This patch removes the lvmetad initscript, the reference to lvmetad in the initscript
   lfs file and the lvmetad initscript entries in the rootfile for each architecture.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2023-05-11 20:08:07 +00:00
Arne Fitzenreiter
946a27a28c initskripts: add OrangePi R1 Plus LTS
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-05-02 19:33:43 +00:00
Michael Tremer
aac0baea15 firewall: Drop legacy rules for PPPoE/PPTP
These rules where created to permit any local traffic to the firewall
when using a PPP connection that utilised Ethernet as transport.

This is however nonsensical and a security issue for any other
connection methods that call the RED interface "red0" and use PPP (e.g.
QMI).

Since PPPoE packets do not flow through iptables, these rules can be
dropped safely. We do not know whether PPTP works at all these days.

Fixes: #13088 - firewall: INPUT accepts all packets when using QMI for dial-in
Tested-by: Stefan Schantl <stefan.schantl@ipfire.org>
Tested-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-04-24 18:44:39 +00:00
Adolf Belka
f4b849cb3f rng-tools: Move from core package to addon - fixes bug 12900
- This patch is to move the rng-tools package from a core package to an addon. With the
   kernel changes from 5.6 rngd is no longer needed to create the required kernel entropy.
- The results from HRNG's via rngd are used with an XOR after the entropy is
   collected by the kernel. So the HWRNG output is used to dilute the kernel random number
   data, which is already merged from several sources.
- Based on the above and @Paul's request in the bug report to have rng-tools kept as an
   addon this patch set is submitted for consideration to keep rng-tools but as an addon.
- move rng-tools rootfile from common to packages
- Modify rng-tools lfs from core package to addon package
- Create rng-tools pak to install and uninstall - creating rc.d links for start & stop.
- Move rngd initscript from system to packages directory.
- Installed into my vm testbed and confirmed that it works. No rngd daemon installed
   from iso install. After addon install rngd is present and running. Added various files
   to be able to test the services wui page. rngd shows up and can be turned off and on

Fixes: Bug#12900
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Bernhard Bitsch <bbitsch@ipfire.org>
2023-03-04 13:55:31 +00:00
Michael Tremer
763686527e Merge branch 'master' into next 2023-02-21 10:15:04 +00:00
Stefan Schantl
caef75c529 QMI: Disable raw_ip mode before assigning the new MAC.
To assign a MAC address, the device must not be in
the raw_ip mode.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-02-20 12:29:21 +00:00
Michael Tremer
39f94ee8eb Drop support for armv6l (and armv7hl)
This removes support for building IPFire for 32 bit ARM architectures.

This has been decided in August 2022 with six months notice as there are
not very many users and hardware is generally not available any more.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-02-10 09:26:37 +00:00
Stefan Schantl
883ec31e3c QMI: Update red/iface file when using QMI.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-12-17 17:25:35 +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
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
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