From 9ed1b1452daab54a0eab0d3a66e95d31609b2952 Mon Sep 17 00:00:00 2001 From: Alexander Traud <pabstraud@compuserve.com> Date: Wed, 26 Aug 2020 17:43:13 +0200 Subject: [PATCH] sip_nat_settings: Update script for latest Linux. With the latest Linux, 'ifconfig' is not installed on default anymore. Furthermore, the output of the current net-tools 'ifconfig' changed. Therefore, parsing failed. This update uses 'ip addr show' instead. Finally, the service for the external IP changed. Change-Id: I9b1a7c3f457e3553b50a3e9a55524e40d70245a0 --- contrib/scripts/sip_nat_settings | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/contrib/scripts/sip_nat_settings b/contrib/scripts/sip_nat_settings index 2a4fc07ea6..444fb67c3e 100755 --- a/contrib/scripts/sip_nat_settings +++ b/contrib/scripts/sip_nat_settings @@ -31,16 +31,8 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -WGET=`which wget` -FETCH=`which fetch` -if [ -x ${WGET} ]; then - externip=`${WGET} -q -O- http://www.whatismyip.org` -elif [ -x ${FETCH} ]; then - externip=`${FETCH} -q -o - http://www.whatismyip.org` -else - echo "no binary found to contact http://www.whatismyip.org" - exit 1 -fi +# see http://unix.stackexchange.com/q/22615 +externip=`dig @resolver1.opendns.com -4 myip.opendns.com A +short` # optional parameter: network interface to use. By default: none. IFACE="$1" @@ -49,8 +41,11 @@ OS=`uname -s` case "$OS" in Linux) echo "externip = $externip" - /sbin/ifconfig $IFACE | grep 'inet addr:' | grep Bcast \ - | sed -e 's/^.*Bcast:\([0-9.]*\)\s*Mask:\([0-9.]*\)\s*$/localnet = \1\/\2/' + if [ -x "${IFACE}" ]; then + ip --brief -family inet address show scope global up dev $IFACE | awk '{print "localnet = " $3}' + else + ip --brief -family inet address show scope global up | awk '{print "localnet = " $3}' + fi ;; OpenBSD|FreeBSD) if [ "${OS}" = "FreeBSD" ]; then -- GitLab