Project

General

Profile

Tâche #34620

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

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

Added by Joël Cuissinat 6 months ago. Updated 5 months ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
09/21/2022
Due date:
% Done:

100%

Remaining (hours):
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...

Associated revisions

Revision 3a3bb327 (diff)
Added by Joël Cuissinat 6 months ago

Correction crash ERA avec les services addc ou addc_tcp

Ref: #34620

History

#1 Updated by Joël Cuissinat 6 months ago

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 Updated by Joël Cuissinat 6 months ago

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 Updated by Joël Cuissinat 6 months ago

  • Tracker changed from Demande to Tâche
  • Status changed from Nouveau to En cours
  • Assigned To set to Joël Cuissinat
  • Parent task set to #34550

#4 Updated by Joël Cuissinat 6 months ago

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 Updated by Joël Cuissinat 6 months ago

  • Status changed from En cours to Résolu
  • % Done changed from 0 to 100

#6 Updated by Daniel Dehennin 5 months ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) set to 0.0
  • Testé en 2.8.1 et 2.9.0a5

Also available in: Atom PDF