#!/bin/sh
#
# Extract passwords from the teamspeak log 
# and save them to /etc/teamspeak-server/passwords

LOG=$1
OUT=/etc/teamspeak-server/passwords


# Check for passwords in the log and fill /etc/teamspeak-server/passwords
date=`cat $LOG | grep "admin account info: username: admin" | tail -n 1 | sed "s/^\([0-9]\+-[0-9]\+-[0-9]\+ [0-9]\+:[0-9]\+:[0-9]\+\).*$/\1/"`
spass=`cat $LOG | grep "superadmin account info: username: superadmin" | tail -n 1 | sed "s/^.*username: superadmin password: \([a-z0-9]\+\).*$/\1/"`
pass=`cat $LOG | grep "admin account info: username: admin" | tail -n 1 | sed "s/^.*username: admin password: \([a-z0-9]\+\).*$/\1/"`

if ! [ -z "$date" -o -z "$pass" -o -z "$spass" ]; then
  touch $OUT
  chown root:root $OUT
  chmod 0600 $OUT
  echo "DO NOT EDIT THIS FILE BY HAND!" > $OUT
  echo "CHANGING PASSWORD FROM HERE IS USELESS AND IT WILL MAKE THE ADMIN PASSWORD LOST!" >> $OUT
  echo "" >> $OUT
  echo "Following passwords were generated on $date" >> $OUT
  echo "superadmin = \"$spass\"" >> $OUT
  echo "admin      = \"$pass\"" >> $OUT
fi
