moglia
2010-05-16 bef47735b2cc8d484a9533a726f1c7a6c42b3f6c
server/plugins-available/getmail_plugin.inc.php
@@ -144,6 +144,11 @@
   function delete($event_name,$data) {
      global $app, $conf;
      
      // load the server specific configuration options for getmail
      $app->uses("getconf");
      $getmail_config = $app->getconf->get_server_config($conf["server_id"], 'getmail');
      $this->getmail_config_dir = $getmail_config["getmail_config_dir"];
      $config_file_path = escapeshellcmd($this->getmail_config_dir.'/'.$data["old"]["source_server"].'_'.$data["old"]["source_username"].'.conf');
      if(stristr($config_file_path,"..") || stristr($config_file_path,"|") || stristr($config_file_path,";") || stristr($config_file_path,'$')) {
         $app->log("Possibly faked path for getmail config file: '$config_file_path'. File is not written.",LOGLEVEL_ERROR);