#!/bin/bash
### Copyright 1999-2015. Parallels IP Holdings GmbH. All Rights Reserved.
#

#
# Plesk script
#


### Copyright 1999-2015. Parallels IP Holdings GmbH. All Rights Reserved.

### Copyright 1999-2015. Parallels IP Holdings GmbH. All Rights Reserved.
# vim:syntax=sh

generate_encryption_key()
{
	local key_file="/etc/psa/private/secret_key"
	local key_dir="`dirname $key_file`"
	local rc=0

	[ -d "$key_dir" ] || mkdir -p "$key_dir"

	if [ ! -e "$key_file" ]; then
		dd if=/dev/urandom of="$key_file" bs=16 count=1 2>/dev/null
	else
		rc=1
	fi
	fix_key_permissions
	return $rc
}

fix_key_permissions()
{
	local key_file="/etc/psa/private/secret_key"
	local key_dir="`dirname $key_file`"

	if [ -e "$key_file" ]; then
		chown psaadm:0 "$key_file"
		chmod 0600 "$key_file"
	fi

	if [ -d "$key_dir" ]; then
		chown psaadm:0 "$key_dir"
		chmod 0700 "$key_dir"
	fi
}

#!/bin/sh
### Copyright 1999-2015. Parallels IP Holdings GmbH. All Rights Reserved.

key_file="/etc/psa/private/secret_key"
if [ -e "$key_file" ]; then
	echo "Unable to generate new key - key file exists"
	fix_key_permissions
	exit 1
else
	generate_encryption_key
fi
