Add Android Support Jars to maven repository

  1. Open the sdk folder
  2. Then open the folder extras/android/m2repository
  3. Then open com/android/support/support-v4/21.0.2/support-v4-21.0.2.aar and extract classes.jar
  4. Then open com/android/support/appcompat-v7/21.0.2/appcompat-v7-21.0.2.aar and extract classes.jar
  5. Open the console
    1. mvn install:install-file -Dfile="./com/android/support/support-v4/21.0.2/classes.jar"/ -DpomFile="./com/android/support/support-v4/21.0.2/support-v4-21.0.2.pom"/ -Dpackaging="jar"
    2.  mvn install:install-file -Dfile="./com/android/support/appcompat-v7/21.0.2/classes.jar"/ -DpomFile="./com/android/support/appcompat-v7/21.0.2/appcompat-v7-21.0.2.pom"/ -Dpackaging="jar"
    3. mvn install:install-file -Dfile="./com/android/support/appcompat-v7/21.0.2/appcompat-v7-21.0.2.aar"/ -DpomFile="./com/android/support/appcompat-v7/21.0.2/appcompat-v7-21.0.2.pom"/ -Dpackaging="akplib"

Now you can add the maven dependencies:

		<dependency>
			<groupId>com.android.support</groupId>
			<artifactId>appcompat-v7</artifactId>
			<version>21.0.2</version>
			<type>jar</type>
		</dependency>

		<dependency>
			<groupId>com.android.support</groupId>
			<artifactId>support-v4</artifactId>
			<version>21.0.2</version>
		</dependency>

and use the support library in your maven project.

2014 – Zeit einmal Pause zu machen

Liebe Leser und Leserinnen,

der Blog existiert nun seit mehr als Sieben Jahren und hat inzwischen eine Reihe von Themen gesammelt. Diese verteilen sich auf viele Beiträge. Aus persönlichen Gründen und um mehr Zeit für einige private Projekte zu haben werde ich mit dem Schreiben von Beiträgen im Jahr 2014 eine Pause einlegen.

Ich bedanke mich bei allen Lesern des Blogs und wünsche ein frohes Jahr 2014.

Über meinen Google Plus Account werde ich aber in der Zwischenzeit immer mal wieder kurze Beiträge zum Thema Programmieren und Werkzeuge schreiben oder teilen. Wer möchte kann mir dort auch gerne Folgen:

https://plus.google.com/109821356422652494180/posts

Gruß
Tobi

Maven – Prüfen ob neue Versionen der dependencies verfügbar sind

Hallo, mit dem Plugin “versions-maven-plugin” kann man z.B. bei mvn install anzeigen lassen, ob die dependencies noch aktuell sind:

<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>versions-maven-plugin</artifactId>
				<version>2.1</version>
				<executions>
					<execution>
						<phase>install</phase>
						<goals>
							<goal>display-dependency-updates</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

Wenn man das ganze um folgendes erweitert Continue reading

Sicherheit von Passwörtern in Java Anwendungen

Es geht um die Sicherheit, dass das Passwort für dritte nicht einfach einsehbar ist. Aber reicht es das Passwort nicht als Klartext sondern verschlüsselt in der Datenbank abzuspeichern?

Nein, den mit Hilfe von Raibow Tabllen kann der Angreifer möglicherweise das richtige Passwort des Hashes erfahren. Um dies zu verhindern gibt es verschiedene Gegenmaßnahmen:

  • Salt Werte verwenden beim erstellen der verschlüsselten Passwörter
  • Passwörter Encrypten bevor sie gespeichert werden
  • Honeyword Passwörter erstellen

Das Passwort Security Modul http://lightszentip.github.io/password-security/ ermöglicht alle drei Maßnahmen.

Bei Honeyword geht es darum falsche Passwörter zu generieren um den Angreifer die Wahl zu geben, welches Passwort er für das richtige hält und z.B. nach einem Angriff zu merken wenn Continue reading

Graylog2 Server start script

Das folgende Start Script startet einen Graylog2 Server unter ubunut:

/etc/init.d/graylog2-server

#!/bin/sh
#

### BEGIN INIT INFO
# Provides:          graylog2-server
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     $remote_fs $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start graylog2-server at boot time
# Description:       Controls the graylog2-server.
### END INIT INFO

JAVA_CMD=java
PID_FILE=/tmp/graylog2.pid
GRAYLOG2_SERVER_HOME=/opt/graylog2-server

start() {
    echo "Starting graylog2-server ..."
	$JAVA_CMD -jar $GRAYLOG2_SERVER_HOME/graylog2-server.jar > /var/log/graylog2.log 2>&1 &
echo " startet ('cat "$PID_FILE"')."
}

stop() {
        PID=`cat $PID_FILE`
    echo "Stopping graylog2-server ($PID) ..."
        kill $PID
	echo "stopped."
}

restart() {
    echo "Restarting graylog2-server ..."
        stop
sleep 0.5
        start
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    *)
        echo "Usage $0 {start|stop|restart}" >&2
        exit 1
esac
exit 0

Graylog2 Web Interface start script

Das folgende Script startet das web-interface von Graylog2.

/etc/init.d/graylog2-web-interface:

#!/bin/bash
 #
 # graylog2-web-interface: graylog2 web interface
 #
 # chkconfig: - 98 02
 # description: Starts graylog2-web-interface using passenger-standalone. \
### BEGIN INIT INFO
 # Provides: graylog2-web-interface
 # Required-Start: $remote_fs $syslog $network
 # Required-Stop: $remote_fs $syslog $network
 # Default-Start: 2 3 4 5
 # Default-Stop: 0 1 6
 # Short-Description: Start graylog2-web-interface at boot time
 # Description: Controls the graylog2-web-interface.
 ### END INIT INFO
# config
 APP_DIR=/opt/graylog2-web-interface/
 ADDR=127.0.0.1
 PORT=3000
 LOG_FILE=/var/log/graylog2-web-interface.log
 ENVIRONMENT=production
 SU=/bin/su
. /lib/lsb/init-functions
 case "$1" in
 start)
 echo "Starting graylog2-web-interface"
 $SU -l --shell=/bin/bash -c "cd $APP_DIR && passenger start -a $ADDR -p $PORT -e $ENVIRONMENT >> $LOG_FILE" &
 ;;
 stop)
 echo "Stopping graylog2-web-interface"
 cd $APP_DIR && passenger stop -p $PORT
 ;;
 status)
 cd $APP_DIR && passenger status -p $PORT
 ;;
 *)
 echo "Usage: $0 start|stop|status" >&2
 exit 3
 ;;
 esac
 exit 0