Bugs in ddns-scripts

Hi guys,

it seems that the current ddns-scripts doesn't play nice with pppoe links, when ip is installed (be it busybox, ip-tiny or ip-full). ifconfig works fine, but some things (openvpn-openssl for one) require ip...

I was able to fix it as follows:

[code]mircea@arch-vm linux64 ~/lede/feeds/packages (master)
$ git diff
diff --git a/net/ddns-scripts/files/dynamic_dns_functions.sh b/net/ddns-scripts/files/dynamic_dns_functions.sh
index 001dfa4..0de3a52 100755
--- a/net/ddns-scripts/files/dynamic_dns_functions.sh
+++ b/net/ddns-scripts/files/dynamic_dns_functions.sh
@@ -915,9 +915,9 @@ get_local_ip () {
# 5: eth1 inet6 fd43:5368:6f6d:6500:a00:27ff:fed0:1032/64 scope global dynamic \ valid_lft 14352sec preferred_lft 14352sec
# 5: eth1 inet6 2002:b0c7:f326::a00:27ff:fed0:1032/64 scope global dynamic \ valid_lft 14352sec preferred_lft 14352sec

  •                                   #        remove         remove     remove      replace          remove                  remove
    
  •                                   #       BROADCAST     inet6 fxxx    sec      forever=>-1    between / and pref..      linestart to inet
    
  •                                   sed -i "/BROADCAST/d; /inet6 f/d; s/sec//g; s/forever/-1/g; s/\/.*preferred_lft//g; s/^.*$ip_interface *//g" $DATFILE
    
  •                                   #        remove                    remove     remove      replace          remove                     remove                 remove
    
  •                                   #       BROADCAST                inet6 fxxx    sec      forever=>-1    between / and pref..      linestart to inet       peer (for PPPoE)
    
  •                                   sed -i "/BROADCAST|MULTICAST/d; /inet6 f/d; s/sec//g; s/forever/-1/g; s/\/.*preferred_lft//g; s/^.*$ip_interface *//g; s,peer [0-9\./]* ,,g" $DATFILE
    
                                      local __TIME4=0;  local __TIME6=0
                                      local __TYP __ADR __TIME[/code]
    

On an unrelated topic, in the same package, it seems that the first entry for afraid.org is broken in both services and services_ipv6:

[code]diff --git a/net/ddns-scripts/files/services b/net/ddns-scripts/files/services
index fd70b07..a535774 100644
--- a/net/ddns-scripts/files/services
+++ b/net/ddns-scripts/files/services
@@ -42,8 +42,9 @@

"able.or.kr" "http://able.or.kr/ddns/src/update.php?hostname=[DOMAIN]&myip=[IP]&ddnsuser=[USERNAME]&pwd=[PASSWORD]"

-"afraid.org-basicauth" "http://[USERNAME]:[PASSWORD]@freedns.afraid.org/nic/update?hostname=[DOMAIN]&myip=[IP]
+"afraid.org-basicauth" "http://[USERNAME]:[PASSWORD]@freedns.afraid.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
"afraid.org-keyauth" "http://freedns.afraid.org/dynamic/update.php?[PASSWORD]&address=[IP]"

"all-inkl.com" "http://[USERNAME]:[PASSWORD]@dyndns.kasserver.com/?myip=[IP]"

diff --git a/net/ddns-scripts/files/services_ipv6 b/net/ddns-scripts/files/services_ipv6
index f2409d6..62aaea0 100644
--- a/net/ddns-scripts/files/services_ipv6
+++ b/net/ddns-scripts/files/services_ipv6
@@ -38,8 +38,9 @@
#.godaddy.com-v1 !!! Please install additional package "ddns-scripts_godaddy.com-v1"
#.no-ip.com / noip.com !!! Please install additional package "ddns-scripts_no-ip_com"

-"afraid.org-basicauth" "http://[USERNAME]:[PASSWORD]@freedns.afraid.org/nic/update?hostname=[DOMAIN]&myip=[IP]
+"afraid.org-basicauth" "http://[USERNAME]:[PASSWORD]@freedns.afraid.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
"afraid.org-keyauth" "http://freedns.afraid.org/dynamic/update.php?[PASSWORD]&address=[IP]"

"all-inkl.com" "http://[USERNAME]:[PASSWORD]@dyndns.kasserver.com/?myip=[IP]"[/code]

Btw, this is how the ip -o addr output looks like on such a system:

root@router:~# ip -o addr show dev pppoe-wan scope global 10: pppoe-wan: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UNKNOWN qlen 3\ link/ppp 10: pppoe-wan inet 86.125.248.7 peer 10.0.0.1/32 scope global pppoe-wan\ valid_lft forever preferred_lft forever 10: pppoe-wan inet6 2a02:2f09:306f:ffff::567d:f807/128 scope global \ valid_lft forever preferred_lft forever

Best place to report this is by filing a bug against the package on Github, so the maintainer can take care of it.