Commit b071b235 authored by Ondřej Surý's avatar Ondřej Surý
Browse files

Fix get_ports.sh script

There were two errors:

1. get_random() function was returning random number with leading zeros
   that could lead the shell to interpret the number as octal value
   instead of decimal.  The surrounding whitespace was also causing
   problems.

2. The calculation of the port was off, it was adding the whole range
   and not just the min port to the base.
parent b1df5842
......@@ -18,9 +18,10 @@ statefile=get_ports.state
port_min=5001
port_max=32767
get_random() {
dd if=/dev/urandom bs=1 count=2 2>/dev/null | od -tu2 -An
}
get_random() (
# shellcheck disable=SC2005,SC2046
echo $(dd if=/dev/urandom bs=1 count=2 2>/dev/null | od -tu2 -An) | sed -e 's/^0*//'
)
get_port() {
tries=10
......@@ -36,7 +37,8 @@ get_port() {
port="$1"
else
port_range=$((port_max-port_min))
port=$(($(get_random)%port_range+port_range))
port_random=$(get_random)
port=$((port_random%port_range+port_min))
fi
fi
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment