#!/bin/sh
#
# Univention License
#  Import Univention License file
#
# SPDX-FileCopyrightText: 2004-2026 Univention GmbH
# SPDX-License-Identifier: AGPL-3.0-only

PATH="/usr/sbin:/usr/bin:/sbin:/bin"

display_help() {
	display_header
	echo "Syntax:"
	echo "  univention-license-import <license file>"
	echo "  univention-license-import [--help] [--version]"
	echo ""
	echo "Options:"
	echo "  '-h | --help | -?:           print this usage message"
	echo "  '--version:                  print version information"
	echo ""
	echo "Description:"
	echo "  univention-license-import is a tool for importing license keys"
	echo "  for UCS from file."
}

display_header() {
	echo "univention-license-import: import license key for UCS"
	echo "copyright (c) 2001-2026 Univention GmbH, Germany"
	echo ""
}

display_version() {
	echo "univention-license-import 4.0"
}

#if [ "`id -u`" != "0" ]; then
#	echo "You need to be root to install a new license." >&2
#	exit 1
if [ -z "$1" ]; then
	display_help
	exit 1
else
	case $1 in
		--version)
			display_version
			exit 0
			;;
		-h|--help|-\?)
			display_help
			exit 0
			;;
		*)
			if ! [ -f "$1" ]; then
				echo "E: '$1' is not a valid file" >&2
				exit 1
			fi
			;;
	esac
fi

orgfile="$1"
file=$(mktemp) || exit 1
trap 'rm -f -- "$file"' EXIT

fromdos < "$orgfile" > "$file" || exit 1

# check if license is valid!
# use tempfile to prevent TOCTOU attacks!
python3 -m univention.admin.license_import license-import --ldif "$file" || exit $?
