Skip to content

Commit ad029ed

Browse files
authored
warn on umask problems (#260)
1 parent a925f28 commit ad029ed

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

dist/activate

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,17 @@ export KCTF_CTF_DIR="$(realpath --no-symlinks "$(dirname "${BASH_SOURCE-$0}")/..
2525
export KCTF_BIN="${KCTF_CTF_DIR}/kctf/bin"
2626
source "${KCTF_BIN}/kctf-log"
2727

28+
function _kctf_check_umask {
29+
if [[ $((8#$(umask) & 8#755)) -ne 0 ]]; then
30+
_kctf_log_err "umask is too prohibitive. Please set it to 022 when using kctf"
31+
return 1
32+
fi
33+
if [[ "$(stat "${KCTF_BIN}/kctf-cluster" --format '%a')" -ne "755" ]]; then
34+
_kctf_log_err "${KCTF_BIN}/kctf-cluster has unexpected permissions. Maybe a umask problem during checkout?"
35+
return 1
36+
fi
37+
}
38+
2839
function _kctf_setup_environment {
2940
KCTF_CONFIG_DIR="$(mktemp -d --tmpdir kctf.XXXXXXXXXX)"
3041
if [[ $? -ne 0 ]]; then
@@ -150,6 +161,7 @@ function _kctf_error_cleanup {
150161
unset -f _kctf_enable_completion
151162
unset -f _kctf_set_active_challenge
152163
unset -f _kctf_setup_environment
164+
unset -f _kctf_check_umask
153165
unset -f _kctf_activate
154166
unset -f _kctf_chal_string
155167
unset -f _kctf_log
@@ -229,6 +241,8 @@ function _kctf_chal_string {
229241
}
230242

231243
function _kctf_activate {
244+
_kctf_check_umask || return 1
245+
232246
if ! _kctf_setup_environment; then
233247
_kctf_log_err 'error setting up the environment'
234248
return 1

0 commit comments

Comments
 (0)