Bug 1056 - ifconfig from alt2 can\'t diaplay vlan aliases.
: ifconfig from alt2 can\'t diaplay vlan aliases.
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/net-tools)
: unstable
: all Linux
: P4 major
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2002-07-07 15:46 by
Modified: 2003-08-25 15:18 (History)


Attachments
0001056-net-tools-1.60-beautify.patch.gz (deleted)
2002-07-07 18:25, Dmitry Lebkov
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2002-07-07 15:46:07
В системе есть интерфейс vlan0029 и на нем три alias\'а :1 :2 :3.
ifconfig -a ничего не выдает и висит в бесконечном цикле в районе
nstrcmp.c:54-61. Функция nstrcmp вызывается с параметрами
(a=0x805e6b0 \"vlan0029:1\", b=0x805e5c0 \"vlan0029:2\").

---

---
Зацикливание стабильно воспроизводится в том случае, если на один
интерфейс повешено более одного алиаса.
------- Comment #1 From 2002-07-07 15:48:49 -------
Да, это касается всех интерфейсов, а не только 802.1q VLANs.
------- Comment #2 From 2002-07-07 15:48:49 -------
Да, это касается всех интерфейсов, а не только 802.1q VLANs.
------- Comment #3 From 2002-07-07 17:54:45 -------
Патч для alt2, решающий описанную проблему (если я правильно понял логику
nstrcmp.c).

Да, наверное это feature-request, но имеет смысл сделать вывод имен интерфейсов
полностью (IFNAMSIZ=16), а не ограничивать их 9 символами (см.
lib/interface.c:673).
Я со своими \'vlanXXXX:N\' получаю только \'vlanXXXX:\'. Один нюанс - возможно,
что
какой-либо скрипт в системе жестко (с точностью до кол-ва пробелов) завязан на
формат вывода ifconfig (но скорее всего - врядли). 

-=-=-=-=-nctrcmp.c.patch-=-=-=-=-
--- nstrcmp.c   2002-07-08 00:41:32 +1100
+++ nstrcmp.c.my        2002-07-08 00:38:03 +1100
@@ -57,8 +57,11 @@

                if (*one == *two)
                {
-                       if (!isalnum1)
-                               continue;
+                       if (!isalnum1) {
+                           one++;
+                           two++;
+                           continue;
+                       }
                } else
                {
                        if (!(isalnum1 && isalnum2))
-=-=-=-=-nctrcmp.c.patch-=-=-=-=-
------- Comment #4 From 2002-07-07 17:54:45 -------
Патч для alt2, решающий описанную проблему (если я правильно понял логику
nstrcmp.c).

Да, наверное это feature-request, но имеет смысл сделать вывод имен интерфейсов
полностью (IFNAMSIZ=16), а не ограничивать их 9 символами (см.
lib/interface.c:673).
Я со своими \'vlanXXXX:N\' получаю только \'vlanXXXX:\'. Один нюанс - возможно,
что
какой-либо скрипт в системе жестко (с точностью до кол-ва пробелов) завязан на
формат вывода ifconfig (но скорее всего - врядли). 

-=-=-=-=-nctrcmp.c.patch-=-=-=-=-
--- nstrcmp.c   2002-07-08 00:41:32 +1100
+++ nstrcmp.c.my        2002-07-08 00:38:03 +1100
@@ -57,8 +57,11 @@

                if (*one == *two)
                {
-                       if (!isalnum1)
-                               continue;
+                       if (!isalnum1) {
+                           one++;
+                           two++;
+                           continue;
+                       }
                } else
                {
                        if (!(isalnum1 && isalnum2))
-=-=-=-=-nctrcmp.c.patch-=-=-=-=-
------- Comment #5 From 2002-07-15 17:50:22 -------
Thanks, applied in 1.60-alt3.
------- Comment #6 From 2002-07-15 17:50:22 -------
Thanks, applied in 1.60-alt3.