From 6a83598c6437b3c6a96043f043bff5d8b0972827 Mon Sep 17 00:00:00 2001 From: Ramon Novoa Date: Thu, 11 May 2017 15:54:29 +0200 Subject: [PATCH] Calculate md5 checksums byte by byte, not char by char! (cherry picked from commit dc4d144de8bcce8cc654515aefa0295ecb5065be) --- pandora_server/lib/PandoraFMS/Core.pm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pandora_server/lib/PandoraFMS/Core.pm b/pandora_server/lib/PandoraFMS/Core.pm index 241243cdc1..f15f09ca3f 100644 --- a/pandora_server/lib/PandoraFMS/Core.pm +++ b/pandora_server/lib/PandoraFMS/Core.pm @@ -2681,7 +2681,7 @@ sub pandora_delete_module ($$;$) { my $agent_name = get_agent_name($dbh, $module->{'id_agente'}); - if ((defined($conf)) && (-e $conf->{incomingdir}.'/conf/'.md5($agent_name).'.conf')) { + if ((defined($conf)) && (-e $conf->{incomingdir}.'/conf/'.md5(encode_utf8(safe_output($agent_name))).'.conf')) { enterprise_hook('pandora_delete_module_from_conf', [$conf,$agent_name,$module->{'nombre'}]); } @@ -2979,12 +2979,11 @@ sub pandora_delete_agent ($$;$) { if (defined $conf) { # Delete the conf files - if (-e $conf->{incomingdir}.'/conf/'.md5($agent_name).'.conf') { - unlink($conf->{incomingdir}.'/conf/'.md5($agent_name).'.conf'); - } - if (-e $conf->{incomingdir}.'/md5/'.md5($agent_name).'.md5') { - unlink($conf->{incomingdir}.'/md5/'.md5($agent_name).'.md5'); - } + my $conf_fname = $conf->{incomingdir}.'/conf/'.md5(encode_utf8(safe_output($agent_name))).'.conf'; + unlink($conf_fname) if (-f $conf_fname); + + my $md5_fname = $conf->{incomingdir}.'/md5/'.md5(encode_utf8(safe_output($agent_name))).'.md5'; + unlink($md5_fname) if (-f $md5_fname); } foreach my $module (@modules) {