Bienvenue sur le système de suivi des tâches du projet SLIS
FS#345 - il est possible de saisir un masque de sous-réseau erroné
Concerne le projet:
SLIS
Ouverte par luc milland (luc) - jeudi, 01 avril 2010, 14:33 GMT+2
Dernière édition par Philippe Le Brouster (plb) - mardi, 29 juin 2010, 14:04 GMT+2
Ouverte par luc milland (luc) - jeudi, 01 avril 2010, 14:33 GMT+2
Dernière édition par Philippe Le Brouster (plb) - mardi, 29 juin 2010, 14:04 GMT+2
|
DétailsLe validateur de champs laisse passer des masques erronés de type 255.255.255.135 (masque "troué") qui ne sont pas traductibles en "/xx".
Or cela plante slis subnet avec une erreur : "Can't call method "network" on an undefined value at /usr/share/perl5/Slis/Common/Subnets.pm line 125." Apparemment, cette portion de code appelle la lib NetAddr::IP pour extraire l'adresse du sous-réseau. Comme le masque est non standard, ça échoue. |
Cette tâche dépend de
De mon point de vue, ce n'est pas le masque qui est erroné, c'est sa prise en compte qui ne fonctionne pas.
172.16.0.0/255.255.0.128
- ce n'est pas comme ça que semble fonctionner la lib perl NetAddr::IP non plus
- utiliser des masques de sous-réseaux "troués" équivaut à chercher les embrouilles...
Donc, même si ce type de masque n'est pas erroné dans l'absolu (oui, mathématiquement, ça marche), il se trouve que ça ne marche pas dans le cadre du slis, et qu'il faut soit corriger la lib perl, soit les validateurs de champs du Slis.
Je pense que corriger le validateur est :
- à notre porté ;
- assez simple ;
- respectueux des bonnes pratiques (rfc1878).
iptables -A OUTPUT -d 193.194.117.18/255.255.0.128 -j ACCEPT est parfaitement accepté et géré par iptables.
Ce serait dommage de se priver de cette fonctionnalité.
Ceci dit, il est effectivement plus facile de mettre un validateur que de corriger le reste. Le plus facile ou le plus fonctionnel ?
Plus d'information ici : http://en.wikipedia.org/wiki/Subnetwork