#!/bin/bash -e

echo "Updating Logstash plugins..."

JAVA_VER=$(java -version 2>&1 | grep -i version | sed 's/.*version ".*\.\(.*\)\..*"/\1/; 1q')

# Update logstash plugins specifically
if [ $JAVA_VER -eq 8 ]; then

	# Update some of the plugins with new versions (we don't use --local because it causes problems)
	(
		cd mods/plugins
		/usr/local/nagioslogserver/logstash/bin/logstash-plugin install --local logstash-input-tcp-4.2.4-java.gem
		/usr/local/nagioslogserver/logstash/bin/logstash-plugin install --local logstash-filter-geoip-4.0.4-java.gem
	)

    # Update tcp input becuase of leaks
    #sed -i 's/gem "logstash-input-tcp".*/gem "logstash-input-tcp", "~>4"/' /usr/local/nagioslogserver/logstash/Gemfile
    #/usr/local/nagioslogserver/logstash/bin/logstash-plugin update logstash-input-tcp || true

    # Update geoip filter for new geoip2 db
    #sed -i 's/gem "logstash-filter-geoip".*/gem "logstash-filter-geoip", "4.0.4"/' /usr/local/nagioslogserver/logstash/Gemfile
    #/usr/local/nagioslogserver/logstash/bin/logstash-plugin update logstash-filter-geoip || true

fi

# Delete log4j jars
rm -f /usr/local/nagioslogserver/logstash/vendor/bundle/jruby/1.9/gems/jruby-kafka-1.5.0-java/lib/log4j/log4j/1.2.17/log4j-1.2.17.jar
rm -f /usr/local/nagioslogserver/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-beats-3.1.14-java/vendor/jar-dependencies/log4j/log4j/1.2.17/log4j-1.2.17.jar
rm -f /usr/local/nagioslogserver/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-log4j-2.0.7-java/vendor/jar-dependencies/runtime-jars/log4j-1.2.17.jar
rm -f /usr/local/nagioslogserver/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch_java-2.1.3/vendor/jar-dependencies/runtime-jars/log4j-1.2.17.jar
rm -f /usr/local/nagioslogserver/logstash/vendor/bundle/jruby/1.9/gems/slyphon-log4j-1.2.15/lib/log4j-1.2.15.jar

# Add drop-in log4j replacement
cp -f mods/log4j/reload4j-*.jar /usr/local/nagioslogserver/logstash/vendor/bundle/jruby/1.9/gems/jruby-kafka-1.5.0-java/lib/log4j/log4j/1.2.17/
cp -f mods/log4j/reload4j-*.jar /usr/local/nagioslogserver/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-beats-3.1.14-java/vendor/jar-dependencies/log4j/log4j/1.2.17/
cp -f mods/log4j/reload4j-*.jar /usr/local/nagioslogserver/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-log4j-2.0.7-java/vendor/jar-dependencies/runtime-jars/
cp -f mods/log4j/reload4j-*.jar /usr/local/nagioslogserver/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch_java-2.1.3/vendor/jar-dependencies/runtime-jars/
cp -f mods/log4j/reload4j-*.jar /usr/local/nagioslogserver/logstash/vendor/bundle/jruby/1.9/gems/slyphon-log4j-1.2.15/lib/

# Delete minitar 0.6.1 (since 0.5.4 is installed/required)
rm -rf /usr/local/nagioslogserver/logstash/vendor/bundle/jruby/1.9/gems/minitar-0.6.1