[PATCH] base-files: reduce IPv6 ULA prefix generation to a single call
Elliott Mitchell
ehem+openwrt at m5p.com
Tue Apr 2 14:00:20 PDT 2024
On Tue, Apr 02, 2024 at 02:36:36PM +0200, Paul Donald wrote:
> Tested on: 23.05.3
>
> Signed-off-by: Paul Donald <newtwen+github at gmail.com>
> ---
> .../files/etc/uci-defaults/12_network-generate-ula | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/package/base-files/files/etc/uci-defaults/12_network-generate-ula b/package/base-files/files/etc/uci-defaults/12_network-generate-ula
> index 19d7ed7f2e..20b3237ec7 100644
> --- a/package/base-files/files/etc/uci-defaults/12_network-generate-ula
> +++ b/package/base-files/files/etc/uci-defaults/12_network-generate-ula
> @@ -1,11 +1,9 @@
> [ "$(uci -q get network.globals.ula_prefix)" != "auto" ] && exit 0
>
> -r1=$(dd if=/dev/urandom bs=1 count=1 |hexdump -e '1/1 "%02x"')
> -r2=$(dd if=/dev/urandom bs=2 count=1 |hexdump -e '2/1 "%02x"')
> -r3=$(dd if=/dev/urandom bs=2 count=1 |hexdump -e '2/1 "%02x"')
> +r1=$(hexdump -vn 5 -e '5/1 "%02x"' /dev/urandom)
>
> uci -q batch <<-EOF >/dev/null
> - set network.globals.ula_prefix=fd$r1:$r2:$r3::/48
> + set network.globals.ula_prefix=fd${r1:0:2}:${r1:2:4}:${r1:6:4}::/48
> commit network
> EOF
>
> --
First, since you got rid of "r2" and "r3", "r1" now seems a bad name.
I would suggest switching to simply "r".
Second, appears the ${parameter:offset:length} may not be POSIX. I
dislike this, but do not object since OpenWRT's shell is built with this
functionality enabled.
Third, you need a better commit message. Perhaps type something about
how this improves things.
Overall, I like the idea. This isn't a UUOC, but is pretty close.
Cleanup is always valuable. Only #1 and #3 need to be addressed.
--
(\___(\___(\______ --=> 8-) EHM <=-- ______/)___/)___/)
\BS ( | ehem+sigmsg at m5p.com PGP 87145445 | ) /
\_CS\ | _____ -O #include <stddisclaimer.h> O- _____ | / _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445
More information about the openwrt-devel
mailing list