#!/bin/sh /etc/rc.common

# MAC addresses of connected clients are stored in a sqlite database.
# Having the database seems to be necessary for the device to be working properly.
# We intent to have the device store the database in RAM rather than on flash.
# We replace the directory with a memory-backed tmpfs which is as volatile as we can make it.

# We want to run ahead of "gl-tertf" which, currently, has a prioprity of 60.
# We also want to run ahead of "gl_clients" which has 99.
START=9
STOP=99

start() {
    tmpdir="$(mktemp -d)"
    # We mount a tmpfs so that the client database will be stored in memory only
    mount -t tmpfs / "$tmpdir"
    cp -a /etc/oui-tertf/client.db "$tmpdir"
    shred --force --remove  /etc/oui-tertf/client.db ||  rm -f /etc/oui-tertf/client.db
    # If this script runs multiple times, we accumulate mounts; we try to avoid having mounts over mounts, so we unmount any existing tmpfs
    umount -t tmpfs -l /etc/oui-tertf

    mount -t tmpfs / /etc/oui-tertf
    cp -a "$tmpdir/client.db" /etc/oui-tertf/client.db
    umount -t tmpfs -l "$tmpdir"
}

stop() {
	shred /etc/oui-tertf/client.db ||  rm -f /etc/oui-tertf/client.db
}

