Merge branch 'collectd-5.6' into collectd-5.7
[collectd.git] / contrib / SpamAssassin / Collectd.pm
index c76c44d..b53cf95 100644 (file)
@@ -18,7 +18,7 @@ add a loadplugin call into your init.pre file.
 
 =over 4
 
-=item collectd_socket [ socket path ]      (default: /tmp/.collectd-email)
+=item collectd_socket [ socket path ]      (default: /var/run/collectd-email)
 
 Where the collectd socket is
 
@@ -116,7 +116,7 @@ sub set_config {
 
     push (@cmds, {
            setting => 'collectd_socket', 
-           default => '/tmp/.collectd-email',
+           default => '/var/run/collectd-email',
            type => $Mail::SpamAssassin::Conf::CONF_TYPE_STRING,
     });
 
@@ -152,8 +152,8 @@ sub check_end {
                #try at least $self->{main}->{conf}->{collectd_retries} to get a
                #connection
                for (my $i = 0; $i < $self->{main}->{conf}->{collectd_retries} ; ++$i) {
-                       last if $sock = new IO::Socket::UNIX
-                               ($self->{main}->{conf}->{collectd_socket});
+                       my ($socket_path) = $self->{main}->{conf}->{collectd_socket} =~ /(.*)/; # Untaint path, which can contain any characters.
+                       last if $sock = new IO::Socket::UNIX $socket_path;
                        #sleep a random value between 0 and 50 microsecs to try for a new
                        #thread
                        usleep(int(rand(50)));