[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