Projet

Général

Profil

Tâche #34620

Scénario #34550: Traitement express MEN (36-38)

L'interface ERA crashe lorsque l'on souhaite utiliser certains services

Ajouté par Joël Cuissinat il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
21/09/2022
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Description

Découvert par hasard en 2.9 lors de la conteneurisation mais le problème est reproductible en 2.8.1 (NB : les services en cause ont été ajoutés à partir de cette version #30773).

Pour reproduire :
  • era -f /usr/share/era/modeles/3zones-dmz.xml
  • case rouge exterieur → bastion
  • Ajouter (une directive)
  • Faire glisser le service addc ou addc_tcp dans la zone service...

Révisions associées

Révision 3a3bb327 (diff)
Ajouté par Joël Cuissinat il y a plus d'un an

Correction crash ERA avec les services addc ou addc_tcp

Ref: #34620

Historique

#1 Mis à jour par Joël Cuissinat il y a plus d'un an

Le plantage se produit lors de l'initialisation du label du bouton dans /usr/share/era/ihm/directive.py, ligne 21.
On peut facilement contourner en limitant la taille de ce qu'on veut afficher (de toute façon ça tient pas), exemple :

button.set_label(str(self.selected_object)[:100])

Étrangement les services tcp et udp ne plantent pas alors que la chaîne qui les représente est 4 fois plus longue (sortie obtenue à l'aide de "print" maison) :

service : tcp  
taille chaîne : 447680
taille liste  : 65536
service : udp
taille chaîne : 447680
taille liste  : 65536
service : addc
taille chaîne : 114727
taille liste  : 16384
service : addc-tcp
taille chaîne : 114731
taille liste  : 16384

#2 Mis à jour par Joël Cuissinat il y a plus d'un an

En appliquant mon contournement, cela semble fonctionnel, en plus iptables n'a même pas besoin de la liste intégrale des ports !
(test inspiré de https://dev-eole.ac-dijon.fr/squash/executions/13718)

root@amon:~# bastion regen
                                                                                                                                                                                                            [ OK ]
 * Regénération des règles de pare-feu (modèle "4zones")                                                                                                                                                    [ OK ]
 * Mise en cache des règles de pare-feu                                                                                                                                                                     [ OK ] 
 * Restauration des règles de pare-feu en cache                                                                                                                                                             [ OK ] 
root@amon:~# iptables -L | grep 49152
ACCEPT     udp  --  anywhere             amon.etb1.lan        state NEW udp dpts:49152:65535

#3 Mis à jour par Joël Cuissinat il y a plus d'un an

  • Tracker changé de Demande à Tâche
  • Statut changé de Nouveau à En cours
  • Assigné à mis à Joël Cuissinat
  • Tâche parente mis à #34550

#4 Mis à jour par Joël Cuissinat il y a plus d'un an

Paquets recompilés :
  • era 2.8.1-25
  • era 2.9.0-16

+ nouvelle image docker https://gitlab.mim-libre.fr/EOLE/eole-2/era/-/pipelines/19863

#5 Mis à jour par Joël Cuissinat il y a plus d'un an

  • Statut changé de En cours à Résolu
  • % réalisé changé de 0 à 100

#6 Mis à jour par Daniel Dehennin il y a plus d'un an

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) mis à 0.0
  • Testé en 2.8.1 et 2.9.0a5

Formats disponibles : Atom PDF