aboutsummaryrefslogtreecommitdiff
path: root/whitelist.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'whitelist.zsh')
-rwxr-xr-xwhitelist.zsh149
1 files changed, 0 insertions, 149 deletions
diff --git a/whitelist.zsh b/whitelist.zsh
deleted file mode 100755
index e418765..0000000
--- a/whitelist.zsh
+++ /dev/null
@@ -1,149 +0,0 @@
-#!/usr/bin/env zsh
-#
-# Copyright (C) 2024-2026 Maria Lisina
-# Copyright (C) 2024-2026 Danil Lisin
-# SPDX-License-Identifier: Apache-2.0
-
-if [[ "${__whitelist_env}" != "0" ]]
-then
- env -i PATH="${PATH}" __whitelist_env=0 "${0}" ${@}
- exit ${?}
-fi
-
-exec 2> /dev/null
-
-set -e
-umask 77
-
-dir="${0%/*}"
-files="${dir}/files"
-list="${files}/whitelist.txt"
-
-if [[ -n "${1}" ]]
-then
- action="${1}"
-
- case "${action}" in
- (help)
- help=0
- ;;
- (list | add | del | reset)
- ;;
- (*)
- echo "Unrecognized action ${action}" \
- "\nSee '${0} help'"
- exit 1
- ;;
- esac
-
- shift
-else
- help=0
-fi
-
-if [[ -n "${help}" ]]
-then
- echo "Whitelist Manager" \
- "\n\nUsage: ${0} [action] [ID]" \
- "\n\nActions:" \
- "\n help\t\tShow help information" \
- "\n list\t\tList whitelist entries" \
- "\n add\t\tAdd user ID to whitelist" \
- "\n del\t\tRemove user ID from whitelist" \
- "\n reset\t\tRemove all whitelist entries"
- exit 0
-fi
-
-for module in zsh/files
-do
- if ! zmodload ${module}
- then
- failed="${failed} ${module}"
- fi
-done
-
-if [[ -n "${failed}" ]]
-then
- echo "Failed to load Z Shell modules:${failed}" \
- "\nUpdate your Z Shell or get a version with all required modules"
- exit 1
-fi
-
-for required in busybox
-do
- if ! command -v ${required} > /dev/null
- then
- missing="${missing} ${required}"
- fi
-done
-
-if [[ -n "${missing}" ]]
-then
- echo "Missing dependencies:${missing}" \
- "\nFor more information follow: https://command-not-found.com/"
- exit 1
-fi
-
-for function in grep sed
-do
- if busybox ${function} --help > /dev/null
- then
- alias ${function}="busybox ${function}"
- else
- missing="${missing} ${function}"
- fi
-done
-
-if [[ -n "${missing}" ]]
-then
- echo "Missing BusyBox functions:${missing}" \
- "\nUpdate your BusyBox or get a version with all required functions"
- exit 1
-fi
-
-case "${action}" in
- (add | del)
- if [[ -n "${1}" ]]
- then
- user_id="${1}"
-
- if ! test ${user_id} -gt 0
- then
- echo "Illegal user ID ${user_id}"
- exit 1
- fi
-
- shift
- else
- echo "You must specify user ID" \
- "\nSee '${0} help'"
- exit 1
- fi
- ;;
-esac
-
-if ! [[ -f "${list}" ]]
-then
- < "${list}.default" > "${list}"
-fi
-
-case "${action}" in
- (list)
- < "${list}"
- ;;
- (add)
- if grep -qx "${user_id}" "${list}"
- then
- echo "User ID ${user_id} is already in whitelist"
- exit 1
- fi
-
- printf "%s\n" "${user_id}" >> "${list}"
- ;;
- (del)
- sed -i "/^${user_id}$/d" "${list}"
- ;;
- (reset)
- < "${list}.default" > "${list}"
- ;;
-esac