Bug 21917 - non-autocompleted variables in interface's sysctl.conf don't work
Summary: non-autocompleted variables in interface's sysctl.conf don't work
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: etcnet (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Mikhail Efremov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-12 15:25 MSD by Mike Lykov
Modified: 2010-01-20 20:55 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Lykov 2009-10-12 15:25:34 MSD
подробности такие: захотел я вот устанавливать sysctl параметр accept_redirects в 0 на интерфейсах. этот параметр не обрабатывается вариантом autocompletion в скрипте (его там просто нет), поэтому при попытке написать 

send_redirects = 0
accept_redirects = 0

первый работает как autocompeltion, а второй вызывает такое:

ERROR: /etc/net/scripts/ifup-common: Can't autocomplete sysctl variable name 'ac
cept_redirects' in file '/etc/net/ifaces/ext1kraft/sysctl.conf'. Please fix

это логично. нет так нет, укажем полное имя параметра:

send_redirects = 0
net.ipv4.conf.ext1kraft.accept_redirects = 0

рассчитывая, что если его нет в autocompletion, то он просто возьмет и применится как есть.

ан нет:
        Starting ext1kraft: ..../proc/sys/net/ipv4/conf/ext1kraft/net.ipv4.conf.
ext1kraft.accept_redirects: No such file or directory
...OK

конечно, такого параметра нет в proc. 

выходит - ни так ни так не работает.

можно указать его полностью в /etc/net/sysctl.conf, но там :

 - приходится перечислять имена интерфейсов, которые могут быть потом переименованы
 - не работает с интерфейсами, которые не onboot, например если ppp поднимается позже - на него указание не действует.

почему бы просто не последовать логике

"если нет в autocompletion, то делаем на него sysctl -w <параметр>" ?

(и не пытаемся записывать значение напрямую в proc)
Comment 1 Denis Ovsienko 2009-10-12 17:34:39 MSD
Если записать строки наоборот, то работать будет?

net.ipv4.conf.ext1kraft.accept_redirects = 0
send_redirects = 0
Comment 2 Mike Lykov 2009-10-13 08:54:36 MSD
так работает.
Comment 3 Denis Ovsienko 2009-10-13 10:48:03 MSD
Значит, в цикле используется значение переменной, унаследованное от предыдущей итерации. Это и есть ошибка. После исправления вы увидите, что предлагаемая логика автодополнения работает.
Comment 4 Mike Lykov 2009-10-13 12:59:19 MSD
я не против любой логики, исправляющей поведение ;)
Comment 5 Sergey Bolshakov 2010-01-20 20:55:58 MSK
fixed in 0.9.10-alt2