The system wizard is IPv4 only but doesn't use the correct
function. It's debatable if we need to restrict DNS servers
but if all of this is only IPv4 we should stick to it in a
consistsent way.
This initial commit focusses on structuring the event flow around user and client registration, moving events to our new ovpn_event.py handler.
By supporting both deferred and direct authentication in user_pass_verify.php, we should be able to start with a cleanup patch for OpenVPN 2.5.x and work our way up to
a smaller fix for 2.6.x.
In preperation for 2.6, this commit also moves --cipher to --data-ciphers-fallback as suggested by the warning "DEPRECATED OPTION: --cipher set to '' but missing in --data-ciphers". Rename the option in the gui while there and add a note in the help text.
This allows us to remove all DH handling remnants. If people
want to use a separate content they will have to let us know,
but it seems unlikely. The only impact seems to be a security
bump from 2k to 4k default.
Learned this the hard way on macOS Catalina behaviour. Since this
is a new policy enforced since 2019 it's safe to increase the defaults
(which were 10 years before) as well. Likely makes a few users
happy that had VPN certificates run out over the years.
Unfortunately, <name/> generates the name from a label
into the form name= and id= attributes, which can utterly
break if the name is changed when there is custom code.
This conforms to current recommendations and best practices for a
128-bit security margin.
2048 is still the minimum recommended, but 2048-bit RSA only aligns to a
112-bit security margin, roughly analogous to 3DES. AES-128, the
minimum recommended cipher, requires a 3072-bit RSA key and a 256-bit digest
(SHA256) to provide an equivalent security level in all cryptographic
components.
Mostly prompted by the problem that mistyping the admin password
makes the form go boom. We cannot rely on the browser. While here
reformat and add copyright as various improvements have been made
here ever since 2015.
We are forcing a change through the installer, which is where
the majority starts from. We don't want to enforce a change
twice.
We can't really see if we installed or went through a factory
reset, so this is (was) the best of both worlds in conjunction
with the new installer feature.
While here, annotate that it is possible to leave it "empty".
This reverts commit 5eb2c986ca7233f0f94f372968433b145b4b3249.