diff --git a/cdist/conf/type/__acl/explorer/file_exists b/cdist/conf/type/__acl/explorer/file_is
similarity index 81%
rename from cdist/conf/type/__acl/explorer/file_exists
rename to cdist/conf/type/__acl/explorer/file_is
index 998d407c..096cffd1 100755
--- a/cdist/conf/type/__acl/explorer/file_exists
+++ b/cdist/conf/type/__acl/explorer/file_is
@@ -19,6 +19,13 @@
#
if [ -e "/$__object_id" ]
-then echo 1
-else echo 0
+then
+ if [ -d "/$__object_id" ]
+ then echo directory
+ elif [ -f "/$__object_id" ]
+ then echo regular
+ else echo other
+ fi
+else
+ echo missing
fi
diff --git a/cdist/conf/type/__acl/explorer/is_dir b/cdist/conf/type/__acl/explorer/is_dir
deleted file mode 100755
index 7c4e2538..00000000
--- a/cdist/conf/type/__acl/explorer/is_dir
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh -e
-#
-# 2018 Ander Punnar (ander-at-kvlt-dot-ee)
-#
-# This file is part of cdist.
-#
-# cdist is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# cdist is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with cdist. If not, see .
-#
-
-[ ! -e "/$__object_id" ] && exit 0
-
-if [ -d "/$__object_id" ]
-then echo 1
-else echo 0
-fi
diff --git a/cdist/conf/type/__acl/gencode-remote b/cdist/conf/type/__acl/gencode-remote
index 99c0f7f2..5bb19aa8 100755
--- a/cdist/conf/type/__acl/gencode-remote
+++ b/cdist/conf/type/__acl/gencode-remote
@@ -18,17 +18,17 @@
# along with cdist. If not, see .
#
-[ "$( cat "$__object/explorer/file_exists" )" = '0' ] && exit 0
+file_is="$( cat "$__object/explorer/file_is" )"
+
+[ "$file_is" = 'missing' ] && exit 0
os="$( cat "$__global/explorer/os" )"
-is_dir="$( cat "$__object/explorer/is_dir" )"
-
acl_is="$( cat "$__object/explorer/acl_is" )"
acl_path="/$__object_id"
-if [ -f "$__object/parameter/default" ] && [ "$is_dir" = '1' ]
+if [ -f "$__object/parameter/default" ] && [ "$file_is" = 'directory' ]
then
set_default=1
else
@@ -46,7 +46,7 @@ do
do
if echo "$acl" | awk -F: '{ print $NF }' | grep -Fq 'X'
then
- [ "$is_dir" = '1' ] && rep=x || rep=-
+ [ "$file_is" = 'directory' ] && rep=x || rep=-
acl="$( echo "$acl" | sed "s/\(.*\)X/\1$rep/" )"
fi