#! /bin/sh
### BEGIN INIT INFO
# Provides:             early-configuration
# Required-Start:
# Required-Stop:
# Default-Start:        2 3 4 5
# Default-Stop:         1
# Short-Description:    Hytem system early configuration
### END INIT INFO
#

if [ "$1" != "start" ]; then exit 0; fi

if grep -i 'Banana\|Raspberry' /sys/firmware/devicetree/base/model >/dev/null 2>&1
then
	if grep Serial_number /data/config/devices.config >/dev/null 2>&1
	then
		MAC_ADDRESS="02:$(sed -ne 's/^Serial[[:blank:]].*\(..\)\(..\)$/\1:\2/p' < /proc/cpuinfo)"
		MAC_ADDRESS="${MAC_ADDRESS}:$(sed -ne 's/^Serial_number.*\(..\)\.\(..\)\..\(..\)/\1:\2:\3/p' < /data/config/devices.config)"
	else
		MAC_ADDRESS="02:$(sed -ne 's/^Serial[[:blank:]].*\(..\)\(..\)\(..\)\(..\)\(..\)$/\1:\2:\3:\4:\5/p' < /proc/cpuinfo)"
	fi
	ip link set dev eth0 address ${MAC_ADDRESS}
fi

NETWORK_INTERFACES_DIR=/data/system
NETWORK_INTERFACES_FILE="${NETWORK_INTERFACES_DIR}/network-interfaces"

if ! [ -f "${NETWORK_INTERFACES_FILE}" ]
then

	mkdir -p "${NETWORK_INTERFACES_DIR}"

	cat > "${NETWORK_INTERFACES_FILE}" <<- EOF

		auto lo
		iface lo inet loopback

		auto eth0
		iface eth0 inet dhcp

		iface usb0 inet static
		  address 192.168.7.2
		  netmask 255.255.255.0
		  network 192.168.7.0
		  gateway 192.168.7.1
	EOF
fi

## Create certificate and key for https

if ! [ -f /data/system/hytem.crt ]
then
	rw
	yes "" | openssl req -new  -x509 -days 36500 -nodes -out /data/system/hytem.crt -keyout /data/system/hytem.key
	ro
fi


USE_HTTPS=$(sed -ne  's/^[[:blank:]]*Use_https[[:blank:]]*=[[:blank:]]*\(.\).*$/\1/p'  /data/config/devices.config)

if ! [ -f /data/system/httpd-https.conf ]
then
	mkdir -p /data/system/
	cp /etc/apache2/httpd-https.conf /data/system/
	cp /etc/apache2/httpd-no-https.conf /data/system/
fi

if [ "${USE_HTTPS}" = "1" ]
then
	cp /data/system/httpd-https.conf /data/system/httpd.conf
else
	cp /data/system/httpd-no-https.conf /data/system/httpd.conf
fi
