[Wapt] Erreur encodage dans le InstallDate

Daniel Berteaud daniel at firewall-services.com
Wed Mar 25 17:06:14 CET 2020


Bonjour. 
J'utilise WAPT (community) sur une centaine de postes, sans gros soucis. Mais aujourd'hui, j'ai passé pas mal de temps à débuguer un problème sur un de ces postes. Le poste enregistré dans l'inventaire ne remontait plus son état (par exemple, un logiciel que j'ai installé en version 3 manuellement avec wapt-get install apparaissait toujours en version 2 dans l'inventaire). En débugant plus, en fait, toutes les commandes remontaient la même erreur : 

FATAL ERROR : 'ascii' codec can't encode character u'\xe9' in position 4: ordinal not in range(128) : faulty string is 'u'17 d\xe9cembre 2019'' 
Traceback (most recent call last): 
File "<string>", line 1431, in <module> 
File "<string>", line 1213, in main 
File "C:\Program Files (x86)\wapt\common.py", line 5477, in register_computer 
inv = self._get_host_status_data(old_hashes, new_hashes, force=True, include_dmi=True, include_wmi=True) 
File "C:\Program Files (x86)\wapt\common.py", line 5770, in _get_host_status_data 
_add_data_if_updated(inv,'installed_softwares',setuphelpers.installed_softwares(''),old_hashes,new_hashes) 
File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 2961, in installed_softwares 
result.extend(list_fromkey("Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall",noredir=False)) 
File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 2924, in list_fromkey 
date = str(reg_getvalue(appkey,'InstallDate','')).replace('\x00','') 
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 4: ordinal not in range(128) 
Exception at 00442147: UnicodeEncodeError: 
exceptions.UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 4: ordinal not in range(128). 

J'ai fini par trouver le responsable dans la BdR : un des logiciels installé utilisait la chaîne "19 Décembre 2019" dans le InstallDate (alors que tous les autres soft utilisent un format YYYMMJJ). Et en supprimant l'accent, tout est OK. 

Ne faudrait-il pas que WAPT ignore la date, si il n'arrive pas à la parser, plutôt que de s'arrêter brutalement ? C'est peut être rare comme cas, mais on n'a aucun contrôle sur ce que renseignent les logiciels dans ce champs 

++ 

-- 


[ https://www.firewall-services.com/ ] 	
Daniel Berteaud 
FIREWALL-SERVICES SAS, La sécurité des réseaux 
Société de Services en Logiciels Libres 
Tél : +33.5 56 64 15 32 
Matrix: @dani:fws.fr 
[ https://www.firewall-services.com/ | https://www.firewall-services.com ] 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20200325/1597b627/attachment.html>


More information about the WAPT mailing list