[sisyphus] [feature request] zebra-0.93b is out

Андрей Булава =?iso-8859-1?q?raven_=CE=C1_dgtu=2Edonetsk=2Eua?=
Вт Окт 22 15:08:48 MSD 2002


Добрый день!

У меня практически две просьбы (или даже три ;-).

Одна из них состоит в обновлении версии zebra в Sisyphus (внимание! на
официальной веб-странице об этом нет ничего, хотя zebra-0.93b датирована
13-м сентября этого года и лежит на ftp).

Вторая - о включении в зебру альтовской сборки патча от моего
коллеги, форвард его письма в адрес разработчиков zebra прилагается.

И третья. Боюсь не ошибиться, но мне кажется, что за зеброй в последнее
время некому было смотреть. По роду своей деятельности мне приходится её
использовать и я готов взять на себя её поддержку.

--
С наилучшими пожеланиями,
 Андрей Булава [ AB1002-UANIC ]
Информационный центр ДонНТУ

---------- Forwarded message ----------
Date: Mon, 21 Oct 2002 10:57:19 +0300 (EEST)
From: Денис Овсиенко <pilot на dgtu.donetsk.ua>
To: zebra на zebra.org
Cc: hostmaster на donntu.edu.ua
Subject: bugfix


Hi !
A week ago I spent 1.5 hours, trying to understand, why my router ignores
changes to /etc/zebra/zebra.conf. Then I found a backup copy of zebra.conf
in /root dir. It was read from there.
Here is the patch:

diff -r zebra-0.93b/bgpd/bgp_main.c zebra-0.93b-Pilot/bgpd/bgp_main.c
54c54
< char config_current[] = BGP_DEFAULT_CONFIG;
---
> char config_current[] = SYSCONFDIR BGP_DEFAULT_CONFIG;
diff -r zebra-0.93b/ospf6d/ospf6_main.c
zebra-0.93b-Pilot/ospf6d/ospf6_main.c
60c60
< char config_current[] = OSPF6_DEFAULT_CONFIG;
---
> char config_current[] = SYSCONFDIR OSPF6_DEFAULT_CONFIG;
diff -r zebra-0.93b/ospfd/ospf_main.c zebra-0.93b-Pilot/ospfd/ospf_main.c
51c51
< char config_current[] = OSPF_DEFAULT_CONFIG;
---
> char config_current[] = SYSCONFDIR OSPF_DEFAULT_CONFIG;
diff -r zebra-0.93b/ripd/rip_main.c zebra-0.93b-Pilot/ripd/rip_main.c
51c51
< char config_current[] = RIPD_DEFAULT_CONFIG;
---
> char config_current[] = SYSCONFDIR RIPD_DEFAULT_CONFIG;
diff -r zebra-0.93b/ripngd/ripng_main.c
zebra-0.93b-Pilot/ripngd/ripng_main.c
38c38
< char config_current[] = RIPNG_DEFAULT_CONFIG;
---
> char config_current[] = SYSCONFDIR RIPNG_DEFAULT_CONFIG;
diff -r zebra-0.93b/zebra/main.c zebra-0.93b-Pilot/zebra/main.c
70c70
< char config_current[] = DEFAULT_CONFIG_FILE;
---
> char config_current[] = SYSCONFDIR DEFAULT_CONFIG_FILE;


If zebra daemon receives no "config_file" parameter, config_current
leaves inited to "zebra.conf", which means "./zebra.conf". So if
administrator walks through filesystem (e.g., in year-old backup dir)
and somewhy has to restart any zebra daemon, old configs will be read.
Or it could be a file from user's homedir, corrupted and senseless.
I could not find the code, which saves config, but I guess, that my patch
will decrease the chance to overwrite unrelated file in current dir.

And 1 more suggestion: all daemons have SIGHUP handlers, but only ospf6d,
ripd and bgpd have actual instructions to perform reconfiguration (I
consider ospf6d's execve() unsafe due to half-closed vty connections).
May be, it's worth to introduce "reload" or "copy startup-config running
config" instruction in all daemons ?


    DO4-UANIC





Подробная информация о списке рассылки Sisyphus