SLIS

Bienvenue sur le système de suivi des tâches du projet SLIS
| Liste des tâches |

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
Type de tâche Bug
Catégorie SLIS → slis-subnets
Etat Nouvelle
Assignée à Personne
Système d'exploitation All
Sévérité Moyenne
Priorité Normale
Basée sur la version 4.1.1
Due pour la version 4.2
Date d'échéance Non décidé
Pourcentage achevé: 0%
Votes 0
Privée Non

Détails

Le 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

Commentaire de Laurent COOPER (swirly) - mardi, 18 mai 2010, 11:07 GMT+2
En même temps, des masques de ce type sont "légaux". Cela ne correspond pas à des sous réseaux /xx, mais peut correspondre à un sous réseau logique.

De mon point de vue, ce n'est pas le masque qui est erroné, c'est sa prise en compte qui ne fonctionne pas.
Commentaire de Laurent COOPER (swirly) - mardi, 18 mai 2010, 11:21 GMT+2
Un exemple typique : l'utilisation de masques troués pour créer des réseaux transversaux pour les machines des enseignants dans un parc ou les classes C sont les salles :
172.16.0.0/255.255.0.128
Commentaire de luc milland (luc) - mardi, 18 mai 2010, 11:34 GMT+2
- ce n'est pas ce que semble dire la RFC 1878 (http://tools.ietf.org/html/rfc1878).
- 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).
Commentaire de Laurent COOPER (swirly) - mardi, 18 mai 2010, 11:54 GMT+2
La RFC n'interdit pas ce type de sous réseau, et surtout, iptables gère parfaitement ce principe de sous réseau logique avec des masques troués. Par exemple
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 ?
Commentaire de Philippe Le Brouster (plb) - mardi, 18 mai 2010, 16:06 GMT+2
Il est commun de réserver les bits de haut niveau pour définir le (sous-)réseau et les bits de bas-niveau pour adresser la machine sur sous-réseau. Faire autrement aujourd'hui, ne peut amener qu'à des complications.

Plus d'information ici : http://en.wikipedia.org/wiki/Subnetwork

Chargement...