| From: Ruben Laban <[email protected]>

...

| diff --git a/programs/_stackmanager/_stackmanager.in
| b/programs/_stackmanager/_stackmanager.in
| index 6c2a98f..0ad1066 100644
| --- a/programs/_stackmanager/_stackmanager.in
| +++ b/programs/_stackmanager/_stackmanager.in
| @@ -367,7 +367,6 @@ startklips() {
|                 if ($1 == "inet")
|                     sub(" [^ ]+:[^ ]+"," ",$0)
|                     sub("/.*","",$2)
| -                   sub("dynamic","",$7)
|                     for (i = 2; i < NF; i++) {
|                         if ($i == "brd" || $i == "peer" || $i == "secondary")
|                             i++
| 

...

| Second hunk: the sub() makes it that NF becomes 7, breaking the for() loop
| after it. Another option is to replace that line with sub("dynamic","",$0).


        sub("dynamic","",$0)

can be written more simply as

        sub("dynamic","")

| I don't think it's needed at all, as the first line of the awk stuff already
| excludes dynamic IP addresses.

No, it excludes dynamic in the "inet6" case.  But we're may be in the
"inet" case.  (The indentation of the awk script is misleading.)

I don't really know what is the expected output of
        ip addr show def ${phys}
so I don't really understand this awk script.

Here it is, properly indented (I think):
            ip addr show dev ${phys} | \
                awk '$1 == "inet" || ($1 == "inet6" && !/ dynamic/) {
                    cmd = "ip addr add"
                    if ($1 == "inet")
                        sub(" [^ ]+:[^ ]+"," ")
                    sub("/.*","",$2)
                    sub("dynamic","")
                    for (i = 2; i < NF; i++) {
                        if ($i == "brd" || $i == "peer" || $i == "secondary")
                            i++
                        else
                            cmd = cmd " " $i
                    }
                    if ($NF != phys)
                        cmd = cmd " " $NF
                    cmd = cmd " dev " virt ">/dev/null 2>/dev/null"
                    system(cmd)
                }' phys=${phys} virt=${virt}

Indentation got mucked up in d5a917623ce2fb58ca254dd9013c7c7a5532aa70.

I've checked this into my git tree.
_______________________________________________
Swan-dev mailing list
[email protected]
https://lists.libreswan.org/mailman/listinfo/swan-dev

Reply via email to