]> git.ipfire.org Git - people/ms/ipfire-2.x.git/log
people/ms/ipfire-2.x.git
8 months agoovpnmain.cgi: Remove client-to-client
Michael Tremer [Tue, 9 Apr 2024 17:04:58 +0000 (19:04 +0200)] 
ovpnmain.cgi: Remove client-to-client

This is a potential security issue. See #13636.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Hard-code keepalive packets
Michael Tremer [Tue, 9 Apr 2024 17:02:22 +0000 (19:02 +0200)] 
ovpnmain.cgi: Hard-code keepalive packets

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Hard-code "verb 3"
Michael Tremer [Tue, 9 Apr 2024 16:58:51 +0000 (18:58 +0200)] 
ovpnmain.cgi: Hard-code "verb 3"

There is no reason why users will need to change this.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Improve wording for RW settings
Michael Tremer [Tue, 9 Apr 2024 16:54:30 +0000 (18:54 +0200)] 
ovpnmain.cgi: Improve wording for RW settings

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoinitscripts: Manually load the tun module for OpenVPN
Michael Tremer [Tue, 9 Apr 2024 16:38:26 +0000 (18:38 +0200)] 
initscripts: Manually load the tun module for OpenVPN

The server cannot load the module itself.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove manual start/stop actions
Michael Tremer [Tue, 9 Apr 2024 16:36:56 +0000 (18:36 +0200)] 
ovpnmain.cgi: Remove manual start/stop actions

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Redesign the roadwarrior section
Michael Tremer [Tue, 9 Apr 2024 16:25:47 +0000 (18:25 +0200)] 
ovpnmain.cgi: Redesign the roadwarrior section

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoCSS: Make text/number inputs 100% wide, too
Michael Tremer [Tue, 9 Apr 2024 16:25:11 +0000 (18:25 +0200)] 
CSS: Make text/number inputs 100% wide, too

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Only allow removing X.509 when the server is not enabled
Michael Tremer [Tue, 9 Apr 2024 16:09:37 +0000 (18:09 +0200)] 
ovpnmain.cgi: Only allow removing X.509 when the server is not enabled

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove left-over code
Michael Tremer [Tue, 9 Apr 2024 16:08:33 +0000 (18:08 +0200)] 
ovpnmain.cgi: Remove left-over code

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Move destination port to advanced settings
Michael Tremer [Tue, 9 Apr 2024 16:08:06 +0000 (18:08 +0200)] 
ovpnmain.cgi: Move destination port to advanced settings

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Move MTU setting to advanced settings
Michael Tremer [Tue, 9 Apr 2024 16:00:48 +0000 (18:00 +0200)] 
ovpnmain.cgi: Move MTU setting to advanced settings

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Move protocol setting to advanced settings
Michael Tremer [Tue, 9 Apr 2024 15:52:37 +0000 (17:52 +0200)] 
ovpnmain.cgi: Move protocol setting to advanced settings

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove the old status indicator
Michael Tremer [Tue, 9 Apr 2024 15:45:46 +0000 (17:45 +0200)] 
ovpnmain.cgi: Remove the old status indicator

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agovulnerabilities.cgi: Use section
Michael Tremer [Sat, 23 Mar 2024 19:09:34 +0000 (20:09 +0100)] 
vulnerabilities.cgi: Use section

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agovulnerabilities.cgi: Use CSS to colour the table
Michael Tremer [Sat, 23 Mar 2024 18:57:49 +0000 (19:57 +0100)] 
vulnerabilities.cgi: Use CSS to colour the table

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoweb: Explain memory consumption
Michael Tremer [Sat, 23 Mar 2024 18:12:26 +0000 (19:12 +0100)] 
web: Explain memory consumption

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agotor.cgi: Use new service function
Michael Tremer [Sat, 23 Mar 2024 18:06:31 +0000 (19:06 +0100)] 
tor.cgi: Use new service function

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoCSS: Automatically stripe all tables
Michael Tremer [Sat, 23 Mar 2024 18:00:49 +0000 (19:00 +0100)] 
CSS: Automatically stripe all tables

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoweb: Create a function to show the service status
Michael Tremer [Sat, 23 Mar 2024 17:42:13 +0000 (18:42 +0100)] 
web: Create a function to show the service status

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Use global ethernet settings
Michael Tremer [Sat, 23 Mar 2024 16:01:14 +0000 (17:01 +0100)] 
ovpnmain.cgi: Use global ethernet settings

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoOpenVPN: Rename "Global Settings" to "Roadwarrior Settings"
Michael Tremer [Sat, 23 Mar 2024 14:33:55 +0000 (15:33 +0100)] 
OpenVPN: Rename "Global Settings" to "Roadwarrior Settings"

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agomake.sh: Update language files
Michael Tremer [Sat, 23 Mar 2024 14:32:36 +0000 (15:32 +0100)] 
make.sh: Update language files

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoinitscripts: Silence error messages when testing if a process is running
Michael Tremer [Sat, 23 Mar 2024 14:29:27 +0000 (15:29 +0100)] 
initscripts: Silence error messages when testing if a process is running

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoopenvpnctrl: Rewrite the entire thing
Michael Tremer [Sat, 23 Mar 2024 14:03:36 +0000 (15:03 +0100)] 
openvpnctrl: Rewrite the entire thing

This binary because a major headache as it has been changed so many
times by so many people neglegting the code quality. Therefore, the
logic has now been moved into initscripts and the binary changed so that
it only serves as a SUID wrapper to call the initscripts.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoinitscripts: Call the initscript to create firewall rules
Michael Tremer [Sat, 23 Mar 2024 14:00:18 +0000 (15:00 +0100)] 
initscripts: Call the initscript to create firewall rules

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoinitscripts: No longer restart OpenVPN when RED comes up/goes down
Michael Tremer [Sat, 23 Mar 2024 13:57:19 +0000 (14:57 +0100)] 
initscripts: No longer restart OpenVPN when RED comes up/goes down

This is probably a relic from when dial-up connections where on trend
and systems were offline for long times of the day. Now, we should
always be on and there is no need to restart all those services on a
reconnect.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoopenvpn-n2n: Implement deleting RRD databases
Michael Tremer [Sat, 23 Mar 2024 13:43:46 +0000 (14:43 +0100)] 
openvpn-n2n: Implement deleting RRD databases

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoopenvpn: Add an initscript for N2N connections
Michael Tremer [Sat, 23 Mar 2024 13:39:30 +0000 (14:39 +0100)] 
openvpn: Add an initscript for N2N connections

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoopenvpnctrl: Remove the stuff we no longer need
Michael Tremer [Thu, 21 Mar 2024 17:08:31 +0000 (18:08 +0100)] 
openvpnctrl: Remove the stuff we no longer need

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoinitscripts: Start the OpenVPN Authenticator, too
Michael Tremer [Thu, 21 Mar 2024 17:05:51 +0000 (18:05 +0100)] 
initscripts: Start the OpenVPN Authenticator, too

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoinitscripts: Add an initscript for OpenVPN RW
Michael Tremer [Thu, 21 Mar 2024 16:58:46 +0000 (17:58 +0100)] 
initscripts: Add an initscript for OpenVPN RW

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agofirewall: Split OpenVPN INPUT chains for RW & N2N
Michael Tremer [Thu, 21 Mar 2024 15:51:39 +0000 (16:51 +0100)] 
firewall: Split OpenVPN INPUT chains for RW & N2N

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove option to enable on ORANGE/BLUE
Michael Tremer [Thu, 21 Mar 2024 15:47:21 +0000 (16:47 +0100)] 
ovpnmain.cgi: Remove option to enable on ORANGE/BLUE

There is no point in not making this service available to any local
networks when it always has to be reachable from the Internet.

This still has to be reflected in the initscripts

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Migrate to subnet topology
Michael Tremer [Wed, 20 Mar 2024 19:38:52 +0000 (20:38 +0100)] 
ovpnmain.cgi: Migrate to subnet topology

For dynamic pools, this change is easy and does not require any extra
steps. For CCD clients however, we need to update the configuration to
replace the server IP address with the subnet mask.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Create functions to read CCD client/server routes
Michael Tremer [Wed, 20 Mar 2024 16:34:00 +0000 (17:34 +0100)] 
ovpnmain.cgi: Create functions to read CCD client/server routes

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove comment that a restart is required
Michael Tremer [Wed, 20 Mar 2024 16:33:14 +0000 (17:33 +0100)] 
ovpnmain.cgi: Remove comment that a restart is required

This is incorrect as we can change CCD data without restarting the
server.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Refactor writing CCD files
Michael Tremer [Wed, 20 Mar 2024 16:20:16 +0000 (17:20 +0100)] 
ovpnmain.cgi: Refactor writing CCD files

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Drop validdotmask()
Michael Tremer [Wed, 20 Mar 2024 13:56:20 +0000 (14:56 +0100)] 
ovpnmain.cgi: Drop validdotmask()

This is a totally braindead function that prevented some basic usability
by using the more modern prefix notation. It simply checks if there is a
freaking dot. Great!

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Drop hostsinnet
Michael Tremer [Wed, 20 Mar 2024 13:45:14 +0000 (14:45 +0100)] 
ovpnmain.cgi: Drop hostsinnet

This is no longer needed as we can use the function that lists all
addresses that are in use and count them.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Refactor listing CCD addresses
Michael Tremer [Wed, 20 Mar 2024 13:42:27 +0000 (14:42 +0100)] 
ovpnmain.cgi: Refactor listing CCD addresses

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Refactor ccdmaxclients()
Michael Tremer [Wed, 20 Mar 2024 11:32:22 +0000 (12:32 +0100)] 
ovpnmain.cgi: Refactor ccdmaxclients()

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Refactor modccnet()
Michael Tremer [Wed, 20 Mar 2024 11:25:58 +0000 (12:25 +0100)] 
ovpnmain.cgi: Refactor modccnet()

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Refactor addccdnet()
Michael Tremer [Wed, 20 Mar 2024 11:12:00 +0000 (12:12 +0100)] 
ovpnmain.cgi: Refactor addccdnet()

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Move function to check CCD names here
Michael Tremer [Wed, 20 Mar 2024 10:36:23 +0000 (11:36 +0100)] 
ovpnmain.cgi: Move function to check CCD names here

This was in general-functions.pl for some reason.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Refactor function to remove a static pool
Michael Tremer [Wed, 20 Mar 2024 10:33:16 +0000 (11:33 +0100)] 
ovpnmain.cgi: Refactor function to remove a static pool

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove enabled marker files
Michael Tremer [Wed, 20 Mar 2024 10:21:58 +0000 (11:21 +0100)] 
ovpnmain.cgi: Remove enabled marker files

Nothing is using these any more.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove any left-over traces of DH replacement
Michael Tremer [Wed, 20 Mar 2024 10:15:18 +0000 (11:15 +0100)] 
ovpnmain.cgi: Remove any left-over traces of DH replacement

Since there is no way for the user to manipulate this any more, there is
no point in checking and showing the DH parameters.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove excess whitespace
Michael Tremer [Wed, 20 Mar 2024 10:12:37 +0000 (11:12 +0100)] 
ovpnmain.cgi: Remove excess whitespace

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove more dead code
Michael Tremer [Wed, 20 Mar 2024 10:09:39 +0000 (11:09 +0100)] 
ovpnmain.cgi: Remove more dead code

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Force NCP on clients
Michael Tremer [Tue, 19 Mar 2024 19:44:18 +0000 (20:44 +0100)] 
ovpnmain.cgi: Force NCP on clients

This change requires that all clients support NCP if they are set up
with a new connection. Existing clients remain supported using the
fallback cipher option.

This will result that connections with OpenVPN <= 2.3 cannot be set up
any more which is totally fine since that version is EOL.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoopenvpn: Update to 2.6.9
Michael Tremer [Tue, 19 Mar 2024 19:14:26 +0000 (19:14 +0000)] 
openvpn: Update to 2.6.9

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Completely remove compression for RW clients
Michael Tremer [Tue, 19 Mar 2024 19:11:31 +0000 (20:11 +0100)] 
ovpnmain.cgi: Completely remove compression for RW clients

We will use the "compress migrate" option which disables compression by
default. If a client has been found that wants to use compression, the
server will push "stub-v2" to disable it. If that does not work, the
server might fall back to compression.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Implement cipher negotiation for RW clients
Michael Tremer [Tue, 19 Mar 2024 18:32:50 +0000 (19:32 +0100)] 
ovpnmain.cgi: Implement cipher negotiation for RW clients

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove presetting removed options
Michael Tremer [Tue, 19 Mar 2024 17:38:34 +0000 (18:38 +0100)] 
ovpnmain.cgi: Remove presetting removed options

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove dead code
Michael Tremer [Tue, 19 Mar 2024 17:37:45 +0000 (18:37 +0100)] 
ovpnmain.cgi: Remove dead code

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Use SHA512 for hashing by default
Michael Tremer [Tue, 19 Mar 2024 17:37:24 +0000 (18:37 +0100)] 
ovpnmain.cgi: Use SHA512 for hashing by default

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Keep the fallback cipher disabled by default
Michael Tremer [Tue, 19 Mar 2024 17:36:42 +0000 (18:36 +0100)] 
ovpnmain.cgi: Keep the fallback cipher disabled by default

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Allow to disable the fallback cipher
Michael Tremer [Tue, 19 Mar 2024 17:32:25 +0000 (18:32 +0100)] 
ovpnmain.cgi: Allow to disable the fallback cipher

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Rename cipher selection to fallback cipher
Michael Tremer [Tue, 19 Mar 2024 17:26:27 +0000 (18:26 +0100)] 
ovpnmain.cgi: Rename cipher selection to fallback cipher

This is to keep ancient clients and clients that have NCP disabled
happy.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agolang: Update because of OpenVPN changes
Michael Tremer [Tue, 19 Mar 2024 17:04:20 +0000 (18:04 +0100)] 
lang: Update because of OpenVPN changes

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoCSS: Make all <select> and <textarea> use all available space
Michael Tremer [Tue, 19 Mar 2024 17:02:17 +0000 (18:02 +0100)] 
CSS: Make all <select> and <textarea> use all available space

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Fix the completely fucked table layout
Michael Tremer [Tue, 19 Mar 2024 16:57:39 +0000 (17:57 +0100)] 
ovpnmain.cgi: Fix the completely fucked table layout

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Move the cryptographic options to the advanced page
Michael Tremer [Tue, 19 Mar 2024 16:49:59 +0000 (17:49 +0100)] 
ovpnmain.cgi: Move the cryptographic options to the advanced page

Since we don't want people play too much with these, we move them to the
advanced settings page.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Fix resetting compression setting
Michael Tremer [Tue, 19 Mar 2024 16:14:03 +0000 (17:14 +0100)] 
ovpnmain.cgi: Fix resetting compression setting

The compression option was reset (disabled) when the Save button on the
main was being clicked.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove crypto error/warning boxes
Michael Tremer [Tue, 19 Mar 2024 16:11:00 +0000 (17:11 +0100)] 
ovpnmain.cgi: Remove crypto error/warning boxes

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove authorship comments
Michael Tremer [Tue, 19 Mar 2024 15:58:30 +0000 (16:58 +0100)] 
ovpnmain.cgi: Remove authorship comments

These are not very useful.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Don't mess with the OpenVPN status file
Michael Tremer [Tue, 19 Mar 2024 15:51:29 +0000 (16:51 +0100)] 
ovpnmain.cgi: Don't mess with the OpenVPN status file

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Move things that belong together together
Michael Tremer [Tue, 19 Mar 2024 15:44:02 +0000 (16:44 +0100)] 
ovpnmain.cgi: Move things that belong together together

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Don't create CCD configuration files on every call
Michael Tremer [Tue, 19 Mar 2024 15:41:53 +0000 (16:41 +0100)] 
ovpnmain.cgi: Don't create CCD configuration files on every call

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Reorganise loading external modules
Michael Tremer [Tue, 19 Mar 2024 15:39:21 +0000 (16:39 +0100)] 
ovpnmain.cgi: Reorganise loading external modules

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Don't include lang.pl again when its already loaded in header.pl
Michael Tremer [Tue, 19 Mar 2024 15:38:54 +0000 (16:38 +0100)] 
ovpnmain.cgi: Don't include lang.pl again when its already loaded in header.pl

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Don't load colours when they are already loaded in header.pl
Michael Tremer [Tue, 19 Mar 2024 15:38:19 +0000 (16:38 +0100)] 
ovpnmain.cgi: Don't load colours when they are already loaded in header.pl

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove unused variable hack
Michael Tremer [Tue, 19 Mar 2024 15:34:51 +0000 (16:34 +0100)] 
ovpnmain.cgi: Remove unused variable hack

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Drop newcleanssldatabase()
Michael Tremer [Tue, 19 Mar 2024 15:32:33 +0000 (16:32 +0100)] 
ovpnmain.cgi: Drop newcleanssldatabase()

I have no idea why this was added when there is a function that does the
same already. The remove function also had typos in the path which
probably resulted in it not working very well.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Use the formatting function we already have
Michael Tremer [Tue, 19 Mar 2024 15:29:30 +0000 (16:29 +0100)] 
ovpnmain.cgi: Use the formatting function we already have

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Drop unused refresh code
Michael Tremer [Tue, 19 Mar 2024 15:19:37 +0000 (16:19 +0100)] 
ovpnmain.cgi: Drop unused refresh code

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Tidy up starting/restarting the RW server
Michael Tremer [Tue, 19 Mar 2024 15:18:44 +0000 (16:18 +0100)] 
ovpnmain.cgi: Tidy up starting/restarting the RW server

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Use default functions to check what subnets exist
Michael Tremer [Tue, 19 Mar 2024 15:10:40 +0000 (16:10 +0100)] 
ovpnmain.cgi: Use default functions to check what subnets exist

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Remove certificate warnings
Michael Tremer [Tue, 19 Mar 2024 15:02:34 +0000 (16:02 +0100)] 
ovpnmain.cgi: Remove certificate warnings

I believe that these don't really work and are always shown.
Please see #13634.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Fix some whitespace issues
Michael Tremer [Tue, 19 Mar 2024 14:54:07 +0000 (15:54 +0100)] 
ovpnmain.cgi: Fix some whitespace issues

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Enable debugging
Michael Tremer [Tue, 19 Mar 2024 14:53:46 +0000 (15:53 +0100)] 
ovpnmain.cgi: Enable debugging

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agocore190: Ship Apache configuration and updated initscript
Michael Tremer [Sun, 22 Sep 2024 14:44:40 +0000 (14:44 +0000)] 
core190: Ship Apache configuration and updated initscript

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agobackup: No longer save RSA keys
Peter Müller [Fri, 20 Sep 2024 14:20:22 +0000 (14:20 +0000)] 
backup: No longer save RSA keys

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoDrop RSA key and certificate from HTTPS configuration
Peter Müller [Fri, 20 Sep 2024 14:20:21 +0000 (14:20 +0000)] 
Drop RSA key and certificate from HTTPS configuration

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoapache: Drop RSA key and certificate generation
Peter Müller [Fri, 20 Sep 2024 14:20:19 +0000 (14:20 +0000)] 
apache: Drop RSA key and certificate generation

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agosshd: Do not generate new RSA host key on first boot
Peter Müller [Fri, 20 Sep 2024 14:20:18 +0000 (14:20 +0000)] 
sshd: Do not generate new RSA host key on first boot

This patch will also ensure the maximum supported key length
is used for ECDSA. Existing installations will remain unaffected.

Note that the key size for ED25519 is fixed, and explicitly
setting it to 521 bytes will not have any impact.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agosamba: Update to version 4.21.0
Adolf Belka [Sat, 21 Sep 2024 11:06:46 +0000 (13:06 +0200)] 
samba: Update to version 4.21.0

- Update from 4.20.4 to 4.21.0
- Update of rootfile for x86_64, aarch64 & riscv64
- Changelog
    4.21.0
Hardening of "valid users", "invalid users", "read list" and "write list"
 In previous versions of Samba, if a user or group name in either of the
  mentioned options could not be resolved to a valid SID, the user (or group)
  would be skipped without any notification. This could result in unexpected and
  insecure behaviour. Starting with this version of Samba, if any user or group
  name in any of the options cannot be resolved due to a communication error with
  a domain controller, Samba will log an error and the tree connect will fail.
 Non existing users (or groups) are ignored.
LDAP TLS/SASL channel binding support
 The ldap server supports SASL binds with
  kerberos or NTLMSSP over TLS connections
  now (either ldaps or starttls).
 Setups where 'ldap server require strong auth = allow_sasl_over_tls'
  was required before, can now most likely move to the
  default of 'ldap server require strong auth = yes'.
 If SASL binds without correct tls channel bindings are required
  'ldap server require strong auth = allow_sasl_without_tls_channel_bindings'
  should be used now, as 'allow_sasl_over_tls' will generate a
  warning in every start of 'samba', as well as '[samba-tool ]testparm'.
 This is similar to LdapEnforceChannelBinding under
  HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
  on Windows.
 All client tools using ldaps also include the correct
  channel bindings now.
NEW FEATURES/CHANGES
LDB no longer a standalone tarball
 LDB, Samba's LDAP-like local database and the power behind the Samba
  AD DC, is no longer available to build as a distinct tarball, but is
  instead provided as an optional public library.
 If you need ldb as a public library, say to build sssd, then use
   ./configure --private-libraries='!ldb'
 This re-integration allows LDB tests to use the Samba's full selftest
  system, including our knownfail infrastructure, and decreases the work
  required during security releases as a coordinated release of the ldb
  tarball is not also required.
 This approach has been demonstrated already in Debian, which is already
  building Samba and LDB is this way.
 As part of this work, the pyldb-util public library, not known to be
  used by any other software, is made private to Samba.
LDB Module API Python bindings removed
 The LDB Modules API, which we do not promise a stable ABI or API for,
  was wrapped in python in early LDB development.  However that wrapping
  never took into account later changes, and so has not worked for a
  number of years.  Samba 4.21 and LDB 2.10 removes this unused and
  broken feature.
Changes in LDB handling of Unicode
 Developers using LDB up to version 2.9 could call ldb_set_utf8_fns()
  to determine how LDB handled casefolding. This is used internally by
  string comparison functions. In LDB 2.10 this function is deprecated,
  and ldb_set_utf8_functions() is preferred. The new function allows a
  direct comparison function to be set as well as a casefold function.
 This improves performance and allows for more robust handling of
  degenerate cases. The function should be called just after ldb_init(),
  with the following arguments:
     ldb_set_utf8_functions(ldb, /* the struct ldb_ctx LDB object */
                            context_variable /* possibly NULL */
                            casefold_function,
                            case_insensitive_comparison_function);
 The default behaviour of LDB remains to perform ASCII casefolding
  only, as if in the "C" locale. Recent versions have become
  increasingly consistent in this.
Some Samba public libraries made private by default
 The following Samba C libraries are currently made public due to their
  use by OpenChange or for historical reasons that are no longer clear.
    dcerpc-samr, samba-policy, tevent-util, dcerpc, samba-hostconfig,
    samba-credentials, dcerpc_server, samdb
 The libraries used by the OpenChange client now private, but can be
  made public (like ldb above) with:
   ./configure --private-libraries='!dcerpc,!samba-hostconfig,!samba-credentials,!ldb'
 The C libraries without any known user or used only for the OpenChange
  server (a dead project) may be made private entirely in a future Samba
  version.
 If you use a Samba library in this list, please be in touch with the
  samba-technical mailing list.
Using ldaps from 'winbindd' and 'net ads'
 Beginning with Samba 3.0.22 the 'ldap ssl = start tls' option also
  impacted LDAP connections to active directory domain controllers.
 Using the STARTTLS operation on LDAP port 389 connections. Starting
  with Samba 3.5.0 'ldap ssl ads = yes' was required in addition in
  order let to 'ldap ssl = start tls' have any effect on those
  connections.
 'ldap ssl ads' was deprecated with Samba 4.8.0 and removed together
  with the whole functionality in Samba 4.14.0, because it didn't support
  tls channel bindings required for the sasl authentication.
 The functionality is now re-added using the correct channel bindings
  based on the gnutls based tls implementation we already have, instead
  of using the tls layer provided by openldap. This makes it available
  and consistent with all LDAP client libraries we use and implement on
  our own.
 The 'client ldap sasl wrapping' option gained the two new possible values:
  'starttls' (using STARTTLS on tcp port 389)
  and
  'ldaps' (using TLS directly on tcp port 636).
 If you had 'ldap ssl = start tls' and 'ldap ssl ads = yes'
  before, you can now use 'client ldap sasl wrapping = starttls'
  in order to get STARTTLS on tcp port 389.
 As we no longer use the openldap tls layer it is required to configure the
  correct certificate trusts with at least one of the following options:
  'tls trust system cas', 'tls ca directories' or 'tls cafile'.
 While 'tls verify peer' and 'tls crlfile' are also relevant,
  see 'man smb.conf' for further details.
New DNS hostname config option
 To get `net ads dns register` working correctly running manually or during a
  domain join a special entry in /etc/hosts was required. This not really
  documented and thus the DNS registration mostly didn't work. With the new option
  the default is [netbios name].[realm] which should be correct in the majority of
  use cases.
 We will also use the value to create service principal names during a Kerberos
  authentication and DNS functions.
 This is not supported in samba-tool yet.
Samba AD will rotate expired passwords on smartcard-required accounts
 Traditionally in AD, accounts set to be "smart card require for logon"
  will have a password for NTLM fallback and local profile encryption
  (Windows DPAPI). This password previously would not expire.
 Matching Windows behaviour, when the DC in a FL 2016 domain and the
  msDS-ExpirePasswordsOnSmartCardOnlyAccounts attribute on the domain
  root is set to TRUE, Samba will now expire these passwords and rotate
  them shortly before they expire.
 Note that the password expiry time must be set to twice the TGT lifetime for
  smooth operation, e.g. daily expiry given a default 10 hour TGT
  lifetime, as the password is only rotated in the second half of its
  life.  Again, this matches the Windows behaviour.
 Provided the default 2016 schema is used, new Samba domains
  provisioned with Samba 4.21 will have this enabled once the domain
  functional level is set to 2016.
 NOTE: Domains upgraded from older Samba versions will not have this
  set, even after the functional level preparation, matching the
  behaviour of upgraded Windows AD domains.
Per-user and group "veto files" and "hide files"
 "veto files" and "hide files" can optionally be restricted to certain users and
  groups. To apply a veto or hide directive to a filename for a specific user or
  group, a parametric option like this can be used:
   hide files : USERNAME = /somefile.txt/
   veto files : GROUPNAME = /otherfile.txt/
  For details consult the updated smb.conf manpage.
Automatic keytab update after machine password change
 When machine account password is updated, either by winbind doing regular
  updates or manually (e.g. net ads changetrustpw), now winbind will also support
  update of keytab entries in case you use newly added option
  'sync machine password to keytab'.
  The new parameter allows you to describe what keytabs and how should be updated.
  From smb.conf(5) manpage - each keytab can have exactly one of these four forms:
                 account_name
                 sync_spns
                 spn_prefixes=value1[,value2[...]]
                 spns=value1[,value2[...]]
 The functionaity provided by the removed commands "net ads keytab
  add/delete/add_update_ads" can be achieved via the 'sync machine password to
  keytab' as in these examples:
  "net ads keytab add  wurst/brot@REALM"
    - this command is not adding <principal> to AD, so the best fit can be specifier
      "spns"
    - add to smb.conf:
      sync machine password to keytab = /path/to/keytab1:spns=wurst/brot@REALM:machine_password
    - run:
      "net ads keytab create"
  "net ads keytab delete wurst/brot@REALM"
    - remove the principal (or the whole keytab line if there was just one)
    - run:
      "net ads keytab create"
  "net ads keytab add_update_ads wurst/brot@REALM"
    - this command was adding the principal to AD, so for this case use a keytab
      with specifier sync_spns
    - add to smb.conf:
      sync machine password to keytab = /path/to/keytab2:sync_spns:machine_password
    - run:
      "net ads setspn add  wurst/brot@REALM"  # this adds the principal to AD
      "net ads keytab create"  # this sync it from AD to local keytab
 A new parameter 'sync machine password script' allows to specify external script
  that will be triggered after the automatic keytab update. If keytabs should be
  generated in clustered environments it is recommended to update them on all
  nodes.  Check in smb.conf(5) the scripts winbind_ctdb_updatekeytab.sh and
  46.update-keytabs.script in section 'sync machine password script' for details.
 For detailed information check the smb.conf(5) and net(8) manpages.
New cephfs VFS module
 Introduce new vfs-to-cephfs bridge which uses libcephfs low-level APIs (instead
  of path-based operations in the existing module). It allows users to pass
  explicit user-credentials per call (including supplementary groups), as well as
  faster operations using inode and file-handle caching on the Samba side.
  Configuration is identical to existing module, but using 'ceph_new' instead of
  'ceph' for the relevant smb.conf entries. This new module is expected to
  deprecate and replace the old one in next major release.
Group Managed Service Accounts
 Samba 4.21 adds support for gMSAs (Group Managed Service Accounts),
  completing support for Functional Level 2012.
 The purpose of a gMSA is to allow a single host, or a cluster of
  hosts, to share access to an automatically rotating password, avoiding
  the weak static service passwords that are often the entrypoint of
  attackers to AD domains. Each server has a strong and regularly
  rotated password, which is used to access the gMSA account of (e.g.)
  the database server.
 Samba provides management and client tools, allowing services on Unix
  hosts to access the current and next gMSA passwords, as well as obtain
  a credentials cache.
 Samba 4.20 announced the client-side tools for this feature. To avoid
  duplication and provide consistency, the existing commands for
  password viewing have been extended, so these commands operate both on
  a gMSA (with credentials, over LDAP, specify -H) and locally for
  accounts that have a compatible password (e.g. plaintext via GPG,
  compatible hash)
    samba-tool user getpassword
    samba-tool user get-kerberos-ticket
    samba-tool domain exportkeytab
 An example command, which gets the NT hash for use with NTLM, is
   samba-tool user getpassword -H ldap://server --machine-pass  \
       TestUser1 --attributes=unicodePwd
 Kerberos is a better choice (gMSA accounts should not use LDAP simple
  binds, for reasons of both security and compatibility). Use
   samba-tool user get-kerberos-ticket -H ldap://server --machine-pass \
       TestUser1 --output-krb5-ccache=/srv/service/krb5_ccache
 gMSAs disclose a current and previous password. To access the previous
  NT hash, use:
   samba-tool user getpassword -H ldap://server --machine-pass TestUser1 \
      --attrs=unicodePwd;previous=1
 To access the previous password as UTF8, use:
   samba-tool user getpassword -H ldap://server --machine-pass TestUser1 \
       --attributes=pwdLastSet,virtualClearTextUTF8;previous=1
 However, Windows tools for dealing with gMSAs tend to use Active
  Directory Web Services (ADWS) from Powershell for setting up the
  accounts, and this separate protocol is not supported by Samba 4.21.
 Samba-tool commands for handling gMSA (KDS) root keys
   Group managed service accounts rotate passwords based on root keys,
    which can be managed using samba-tool, with commands such as
      samba-tool domain kds root_key create
      samba-tool domain kds root_key list
 Samba will create a new root key for new domains at provision time,
  but users of gMSA accounts on upgraded domains will need to first
  create a root key.
RFC 8070 PKINIT "Freshness extension" supported in the Heimdal KDC
 The Heimdal KDC will recognise when a client provides proof that they
  hold the hardware token used for smart-card authentication 'now' and
  has not used a saved future-dated reply. Samba 4.21 now matches
  Windows and will assign an extra SID to the user in this case,
  allowing sensitive resources to be additionally protected.
 Only Windows clients are known to support the client side of this
  feature at this time.
New samba-tool Authentication Policy management command structure
 As foreshadowed in the Samba 4.20 release notes, the "samba-tool
  domain auth policy" commands have been reworked to be more intuitive
  based on user feedback and reflection.
Support for key features of AD Domain/Forest Functional Level 2012R2
 Combined with other changes in recent versions (such as claims support
  in 4.20), Samba can now claim Functional Level 2012R2 support.
Build system
 In previous versions of Samba, packagers of Samba would set their
  package-specific version strings using a patch to the
  SAMBA_VERSION_VENDOR_SUFFIX line in the ./VERSION file. Now that is
  achieved by using --vendor-suffix (at configure time), allowing this
  to be more easily scripted. Vendors are encouraged to include their
  name and full package version to assist with upstream debugging.
More deterministic builds
 Samba builds are now more reproducible, providing better assurance
  that the Samba binaries you run are the same as what is expected from
  the source code. If locale settings are not changed, the same objects
  will be produced from each compilation run. If Samba is built in a
  different path, the object code will remain the same, but DWARF
  debugging sections will change (while remaining functionally
  equivalent).
Improved command-line redaction
 There are several options that can be used with Samba tools for
  specifying secrets. Although this is best avoided, when these options
  are used, Samba will redact the secrets in /proc, so that they won't
  be seen in ps or top. This is now carried out more thoroughly,
  redacting more options. There is a race inherent in this, and the
  passwords will be visible for a short time. The secrets are also not
  removed from .bash_history and similar files.
REMOVED FEATURES
Following commands are removed:
net ads keytab add <principal>
net ads keytab delete <principal>
net ads keytab add_update_ads
Changes
smb.conf changes
  Parameter Name                          Description     Default
  --------------                          -----------     -------
  client ldap sasl wrapping               new values
  client use spnego principal             removed
  ldap server require strong auth         new values
  tls trust system cas                    new
  tls ca directories                      new
  dns hostname                            client dns name [netbios name].[realm]
  valid users                             Hardening
  invalid users                           Hardening
  read list                               Hardening
  write list                              Hardening
  veto files                              Added per-user and per-group vetos
  hide files                              Added per-user and per-group hides
  sync machine password to keytab         keytabs
  sync machine password script            script
CHANGES SINCE 4.21.0rc4
   * BUG 15699: Incorrect FSCTL_QUERY_ALLOCATED_RANGES response when truncated.
   * BUG 15702: Bad variable definition for ParseTuple causing test failure for
     Smb3UnixTests.test_create_context_reparse.
   * BUG 15686: Add new vfs_ceph module (based on low level API).
CHANGES SINCE 4.21.0rc3
   * BUG 15698: samba-tool can not load the default configuration file.
   * BUG 15700: Crash when readlinkat fails.
CHANGES SINCE 4.21.0rc2
   * BUG 15689: Can't add/delete special keys to keytab for nfs, cifs, http etc.
   * BUG 15696: Compound SMB2 requests don't return
     NT_STATUS_NETWORK_SESSION_EXPIRED for all requests, confuses
     MacOSX clients.
   * BUG 15689: Can't add/delete special keys to keytab for nfs, cifs, http etc.
CHANGES SINCE 4.21.0rc1
   * BUG 15673: --version-* options are still not ergonomic, and they reject
     tilde characters.
   * BUG 15686: Add new vfs_ceph module (based on low level API)
   * BUG 15673: --version-* options are still not ergonomic, and they reject
     tilde characters.
   * BUG 15690: ldb_version.h is missing from ldb public library
   * BUG 15689: Can not add/delete special keys to keytab for nfs, cifs, http etc
   * BUG 15686: Add new vfs_ceph module (based on low level API)
   * BUG 15673: --version-* options are still not ergonomic, and they reject
     tilde characters.
   * BUG 15687: undefined reference to winbind_lookup_name_ex
   * BUG 15688: per user veto and hide file syntax is to complex
   * BUG 15689: Can not add/delete special keys to keytab for nfs, cifs, http etc
   * BUG 15688: per user veto and hide file syntax is to complex

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agocore190: Ship OpenSSH
Michael Tremer [Sun, 22 Sep 2024 14:40:39 +0000 (14:40 +0000)] 
core190: Ship OpenSSH

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoOpenSSH: Order symmetric ciphers by strength
Peter Müller [Sat, 21 Sep 2024 15:30:00 +0000 (15:30 +0000)] 
OpenSSH: Order symmetric ciphers by strength

We also wish to prefer AES over Chacha/Poly, given the
prevalence of hardware accelaration for the former.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoOpenSSH: Add alias name for sntrup761x25519-sha512 key exchange
Peter Müller [Sat, 21 Sep 2024 15:29:59 +0000 (15:29 +0000)] 
OpenSSH: Add alias name for sntrup761x25519-sha512 key exchange

This makes sure OpenSSH connections make use of this post-quantum
key exchange whenever possible, even if one peer still running
OpenSSH 9.8 or older.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoOpenSSH: Add ML-KEM x X25519 hybrid key exchange
Peter Müller [Sat, 21 Sep 2024 15:29:58 +0000 (15:29 +0000)] 
OpenSSH: Add ML-KEM x X25519 hybrid key exchange

This was newly introduced in OpenSSH 9.9, hence our custom
configurations for both SSH server and client need to be updated.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoOpenSSH :Update to 9.9p1
Peter Müller [Sat, 21 Sep 2024 15:29:57 +0000 (15:29 +0000)] 
OpenSSH :Update to 9.9p1

Please refer to https://www.openssh.com/releasenotes.html#9.9p1
for the release announcement of this version.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agocore190: Ship apr
Michael Tremer [Sun, 22 Sep 2024 14:38:42 +0000 (14:38 +0000)] 
core190: Ship apr

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoapr: Update to 1.7.5
Peter Müller [Sat, 21 Sep 2024 12:29:30 +0000 (12:29 +0000)] 
apr: Update to 1.7.5

Full changelog of this release:

  *) SECURITY: CVE-2023-49582: Apache Portable Runtime (APR):
     Unexpected lax shared memory permissions (cve.mitre.org)
     Lax permissions set by the Apache Portable Runtime library on
     Unix platforms would allow local users read access to named
     shared memory segments, potentially revealing sensitive
     application data.
     This issue does not affect non-Unix platforms, or builds with
     APR_USE_SHMEM_SHMGET=1 (apr.h)
     Users are recommended to upgrade to APR version 1.7.5, which
     fixes this issue.
     Credits: Thomas Stangner

  *) Unix: Implement apr_shm_perms_set() for the "POSIX shm_open()"
     and "classic mmap" shared memory implementations.  [Joe Orton,
     Ruediger Pluem]

  *) Fix missing ';' for XML/HTML hex entities from apr_escape_entity().
     [Yann Ylavic]

  *) Fix crash in apr_pool_create() with --enable-pool-debug=all|owner.
     [Yann Ylavic]

  *) Improve platform detection by updating config.guess and config.sub.
     [Rainer Jung]

  *) CMake: Add support for CMAKE_WARNING_AS_ERROR. [Ivan Zhakov]

  *) CMake: Enable support for MSVC runtime library selection by abstraction.
     [Ivan Zhakov]

  *) CMake: Export installed targets (libapr-1, apr-1, libaprapp-1, aprapp-1)
     to apr:: namespace. [Ivan Zhakov]

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoovpnmain.cgi: Fix IP address calculation with static pools
Michael Tremer [Sun, 22 Sep 2024 14:33:03 +0000 (14:33 +0000)] 
ovpnmain.cgi: Fix IP address calculation with static pools

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agocore190: Ship vpnmain.cgi
Michael Tremer [Sun, 22 Sep 2024 14:25:12 +0000 (14:25 +0000)] 
core190: Ship vpnmain.cgi

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agovpnmain.cgi: Add coding to differentiate old and base64 encoded PSK's
Adolf Belka [Fri, 5 Jul 2024 17:18:56 +0000 (19:18 +0200)] 
vpnmain.cgi: Add coding to differentiate old and base64 encoded PSK's

- An additional key was defined for a PSK being base64 encoded. All existing PSK's that
   are not base64 encoded will have that key empty. This enables base64 encoded PSK's and
   non base64 encoded PSK'sd to be differentiated.
- If the PSK connection is disabled and then enabled with a non base64 encoded PSK the PSK
   will be left as it is. If the edit page is selected and Save pressed, even if nothing
   has been modified, then the PSK will be converted to a base64 encoded PSK.
- The old style and new style PSK was tested out on my vm system and worked without any
   issue.
- Using an old non base64 encoded PSK the IPSec connection worked without any problems.
   If the PSK was tehn converted to basse64 encoding by saving from the Edit page without
   changing anything, then the client IPSec connection was successfully made without any
   indication of a change. The conversion from non base64 to base64 encoded PSK occurred
   seamlessly without any hiccup.

Fixes: Bug13029
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agoen.pl: Update to explicitly mention single quotation mark being invalid
Adolf Belka [Fri, 5 Jul 2024 17:18:55 +0000 (19:18 +0200)] 
en.pl: Update to explicitly mention single quotation mark being invalid

- As all characters, except for the single quotation mark, are now allowed in the PSK
   with the base64 encoding implemented then the error message in the English Lang file
   has been changed to explicitly mention the single quotation mark rather than characters
   as a generic message.

Fixes: Bug13029
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
8 months agovpnmain.cgi: Fix for bug13029 - add base64 encoding to IPSec cgi page
Adolf Belka [Fri, 5 Jul 2024 17:18:54 +0000 (19:18 +0200)] 
vpnmain.cgi: Fix for bug13029 - add base64 encoding to IPSec cgi page

- This adds the base64 encoded PSK into the config file and when the ipsec.secrets file
   is created the PSK is base64 decoded to write it to the file. The ipsec.secrets file
   surrounds the PSK with single quotation marks so that character is not allowed to be
   used in the PSK but anything else can be.
- Tested out on my vm system and shown to be working. New PSK with various characters
   characters including commas was base64 encoded before putting into the config file
   and therefore was accepted by the code. If a single quotation mark was used in the
   PSK then the error message about invalid characters was shown.

Fixes: Bug13029
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>