* refactor(core): allow any subnet and netmask
* fix(scripts): prevent adding more clients than the subnet allows
* fix(scripts): correctly remove leading zeros from ipv6 quartets
* refactor(core): new probabilistic subnet generation with fallback to other RFC1918 subnets
This fix prevents "pivpn -off" from failing to disable a client when another client is already disabled and the disabled client name starts with the client name you're trying to disable.
e.g. "user-1" wasn't able to be disabled if "user" was already disabled.
scripts/wireguard/removeCONF.sh
* SC1090: ShellCheck can't follow non-constant source. Use a directive to specify location.
* Disabled warning
* SC2207: Prefer mapfile or read -a to split command output (or quote to avoid splitting).
* Replaced LIST=($(...)) with mapfile
* SC2086: Double quote to prevent globbing and word splitting.
* Added double quotes
* SC2154: <VarName> is referenced but not assigned.
* Disabled warning
scripts/wireguard/pivpnDEBUG.sh
* SC1090: ShellCheck can't follow non-constant source. Use a directive to specify location.
* Disabled warning
* SC2154: <VarName> is referenced but not assigned.
* Disabled warning
* SC2086: Double quote to prevent globbing and word splitting.
* Added double quotes
scripts/wireguard/makeCONF.sh
* SC1090: ShellCheck can't follow non-constant source. Use a directive to specify location.
* Disabled warning
* SC2154: <VariableName> is referenced but not assigned.
* Disabled warning
* SC2086: Double quote to prevent globbing and word splitting.
* Added double quotes
scripts/wireguard/disableCONF.sh
* Mapfile instead of double quoted LIST=("$(...)")
scripts/wireguard/enableCONF.sh
* SC1090: ShellCheck can't follow non-constant source. Use a directive to specify location.
* Disabled warning
* SC2207: Prefer mapfile or read -a to split command output (or quote to avoid splitting).
* Changed to mapfile
* SC2086: Double quote to prevent globbing and word splitting.
* Added double quotes
- When NOT providing a custom MTU, 1420 is used for both clients and server.
Using such value for clients can break WireGuard connections on some networks,
so iOS and Android clients have logic in place to select a proper MTU value
when not specified. Now "pivpnMTU" with only be used to set the MTU value for
the PiVPN installation but not for profile creation.
fixes for Issue #1306, qrcode now defaults to ansiutf8,
added flag -a256 or --ansi256 if their fonts are having trouble
Shellcheck compliance #1233 for qrcodeCONF.sh,
LIST array is now created with mapfile instead
quoted multiple variables.
fixes for Issue #1307, User creation won't allow user creation with name
starting with "-", qrcodeCONF.sh won't accept wrong options or users starting with "-"
and exit with error code 1