Bug 1056 - ifconfig from alt2 can\'t diaplay vlan aliases.
Summary: ifconfig from alt2 can\'t diaplay vlan aliases.
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: net-tools (show other bugs)
Version: unstable
Hardware: all Linux
: P4 major
Assignee: placeholder@altlinux.org
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-07-07 15:46 MSD by Dmitry Lebkov
Modified: 2003-08-25 15:18 MSD (History)
3 users (show)

See Also:


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

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Lebkov 2002-07-07 15:46:07 MSD
В системе есть интерфейс vlan0029 и на нем три alias\'а :1 :2 :3.
ifconfig -a ничего не выдает и висит в бесконечном цикле в районе
nstrcmp.c:54-61. Функция nstrcmp вызывается с параметрами
(a=0x805e6b0 \"vlan0029:1\", b=0x805e5c0 \"vlan0029:2\").

---

---
Зацикливание стабильно воспроизводится в том случае, если на один
интерфейс повешено более одного алиаса.
Comment 1 Dmitry Lebkov 2002-07-07 15:48:49 MSD
Да, это касается всех интерфейсов, а не только 802.1q VLANs.
Comment 2 Dmitry Lebkov 2002-07-07 15:48:49 MSD
Да, это касается всех интерфейсов, а не только 802.1q VLANs.
Comment 3 Dmitry Lebkov 2002-07-07 17:54:45 MSD
Патч для 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 Dmitry Lebkov 2002-07-07 17:54:45 MSD
Патч для 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 Dmitry V. Levin 2002-07-15 17:50:22 MSD
Thanks, applied in 1.60-alt3.
Comment 6 Dmitry V. Levin 2002-07-15 17:50:22 MSD
Thanks, applied in 1.60-alt3.