[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Firewall "générique"



Wed, 06 Oct 2004 20:31:04 +0200, Jean Baptiste FAVRE a écrit :
>[...]
> Forcément, ça marche mieux qu' "include" ;-)
> Je vais regarder cela demain (c'est pour le boulot).
> Par hasard, juste en passant, on pourrait pas inverser (c-a-d définir
> les variables et faire un "source" ou équivalent du script iptables ?).

Ben si, ça marche aussi. « source » (ou « . » dans certains shells,
notamment bash) correspond à un « include ». On notera donc que, génie
lociellement parlant, ce qui est « includé » est ce qui est réutilisable
(en général fonctions et autres définitions).
On peut donc, en gros, voir trois parties dans un logiciel :
 - les paramètres (configuration) ;
 - les définitions réutilisables (fonctions, structures, etc.) ;
 - le corps (non réutilisable).

Dans ton cas, tu peux faire :
{{
  toto="coucou"
  source <le script générique qui utilise $toto>
}}
ce qui fait que tu dois modifier le script pour changer les paramètres,

ou :
{{
  source <fonctions qui utilisent $1, $2...>
  ma_fonction "toto" "tutu"
}}
idem mais point de vue inversé et plus langage de programmation (les
fonctions sont plus génériques : elles ne sont pas liées à des variables
globales),

ou, plus modulaire :
{{
  source <fonctions qui utilisent $1, $2...>
  source <paramètres>
  ma_fonction $toto $tutu
}}
ce qui fait que les fonctions et le script principal ne sont pas modifiés,
seul le fichier de paramètres est à modifier (plus propre à mon avis :
on peut placer les paramètres dans /etc et les scripts dans des
répertoires en read-only (genre /usr/local/sbin)).

Bon courage,
-- 
Sylvain Sauvage



Reply to: