Tâche #25885
Scénario #25625: Traitement express MEN (47-49)
Amon 2.6.2 : Un nom machine supérieur à 15 caractères empêches l'intégration au domaine Kerberos
100%
Description
Cas d'utilisation¶
La variable nom_machine avait une valeur supérieur à 15 caractères.
L'authentification NTLM/Kerberos est activé sur le proxy.
Il est impossible d'intégrer un domaine Windows 20xx
Proposition¶
Ajouter une contrainte qui vérifie la taille de nom_machine en cas d'activation de l'authentification NTLM/Kerberos.
Problème découvert avec Rennes Métropole
Demandes liées
Révisions associées
Deduce AD workgroup from REALM for KERBEROS auth proxy
Ref: #25885
Serveur name should have less than 15 characters for Kerberos proxy authentication
Ref: #25885
hidden='True' should always work in param
Ref: #25885
Add "valid_krb_name" new eosfunc
Ref: #25885
Update creole french translations
Ref: #25885
Update translations Ref: #25885
aca.proxy 2.7.1 : nom_domaine_windows est calculé
Ref: #25885
Historique
#1 Mis à jour par Scrum Master il y a plus de 5 ans
- Assigné à mis à Scrum Master
- Tâche parente mis à #25625
#2 Mis à jour par Joël Cuissinat il y a plus de 5 ans
- Projet changé de eole-proxy à Distribution EOLE
- Assigné à changé de Scrum Master à Joël Cuissinat
#3 Mis à jour par Joël Cuissinat il y a plus de 5 ans
- Statut changé de Nouveau à En cours
#4 Mis à jour par Joël Cuissinat il y a plus de 5 ans
Proposition :
- fonction eosfunc :
def valid_krb_name(name, auth): """ Vérifie la longeur du nom de machine en mode Kerberos #25885 """ if auth == u'NTLM/KERBEROS' and len(name) > 15: raise ValueError(_(u"Serveur name should have less than 15 characters for Kerberos proxy authentication")) return True
- dico :
<check name='valid_krb_name' target='nom_machine'> <param type='eole' hidden="False">type_squid_auth</param> </check>
#5 Mis à jour par Emmanuel GARETTE il y a plus de 5 ans
Hidden = False n'est pas pris en compte à cause d'un bug Creole (deuxième version du patch qui est plus conforme à ce qu'on veut) :
diff --git a/creole/annotator.py b/creole/annotator.py index a71ab22a..adffeb01 100644 --- a/creole/annotator.py +++ b/creole/annotator.py @@ -1438,20 +1438,32 @@ class SpaceAnnotator(object): for idx in remove_indexes: del space[idx] - #convert level to "warnings_only" and hidden to "transitive" + #convert level to "warnings_only" and hidden to "transitive" for consistencies for check in space: if check.level == 'warning': check.warnings_only = True else: check.warnings_only = False check.level = None - transitive = True - if hasattr(check, 'param'): - for param in check.param: - if not param.hidden is True: - transitive = False - param.hidden = None - check.transitive = transitive + if check.name == 'valid_differ': + all_param_eole = True + if hasattr(check, 'param'): + for param in check.param: + if param.type != 'eole': + all_param_eole = False + break + if check.name in ['valid_enum', + 'valid_networknetmask', + 'valid_ipnetmask', + 'valid_broadcast', + 'valid_in_network'] or (check.name == 'valid_differ' and all_param_eole): + transitive = True + if hasattr(check, 'param'): + for param in check.param: + if not param.hidden is True: + transitive = False + param.hidden = None + check.transitive = transitive def filter_fill(self, space): # pylint: disable=C0111,R0912 fills = {} diff --git a/tests/flattener_dicos/10check_base/result/00-base.xml b/tests/flattener_dicos/10check_base/result/00-base.xml index fc43e800..173eec0e 100644 --- a/tests/flattener_dicos/10check_base/result/00-base.xml +++ b/tests/flattener_dicos/10check_base/result/00-base.xml @@ -1,9 +1,9 @@ <?xml version='1.0' encoding='UTF-8'?> <creole> <constraints> - <check name="valid_entier" target="creole.general.int" transitive="True" warnings_only="False"> - <param name="mini" type="string">0</param> - <param name="maxi" type="string">100</param> + <check name="valid_entier" target="creole.general.int" warnings_only="False"> + <param hidden="True" name="mini" type="string">0</param> + <param hidden="True" name="maxi" type="string">100</param> </check> </constraints> <family name="containers"> diff --git a/tests/flattener_dicos/10check_option/result/00-base.xml b/tests/flattener_dicos/10check_option/result/00-base.xml index e4ef7c99..da19202a 100644 --- a/tests/flattener_dicos/10check_option/result/00-base.xml +++ b/tests/flattener_dicos/10check_option/result/00-base.xml @@ -1,9 +1,9 @@ <?xml version='1.0' encoding='UTF-8'?> <creole> <constraints> - <check name="valid_entier" target="creole.general.int" transitive="True" warnings_only="False"> - <param name="mini" type="string">0</param> - <param name="maxi" type="eole">creole.general.int2</param> + <check name="valid_entier" target="creole.general.int" warnings_only="False"> + <param hidden="True" name="mini" type="string">0</param> + <param hidden="True" name="maxi" type="eole">creole.general.int2</param> </check> </constraints> <family name="containers">
#6 Mis à jour par Joël Cuissinat il y a plus de 5 ans
- Statut changé de En cours à Résolu
- % réalisé changé de 0 à 100
Demande originale traitée en 2.7.0.
Rétro-portage en 2.6.2 du patch creole uniquement.
#7 Mis à jour par Joël Cuissinat il y a plus de 5 ans
- Copié vers Tâche #26325: Amon 2.7.0 : Suppression d'une variable dans "Proxy authentifié" en mode Kerberos ajouté
#8 Mis à jour par Joël Cuissinat il y a plus de 5 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) mis à 0.0