summaryrefslogtreecommitdiffstats
path: root/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/slxlog
diff options
context:
space:
mode:
Diffstat (limited to 'remote/rootfs/rootfs-stage32/data/opt/openslx/bin/slxlog')
-rwxr-xr-xremote/rootfs/rootfs-stage32/data/opt/openslx/bin/slxlog58
1 files changed, 43 insertions, 15 deletions
diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/slxlog b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/slxlog
index 52320c1a..09cb9b79 100755
--- a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/slxlog
+++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/slxlog
@@ -13,13 +13,29 @@ export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/o
. /opt/openslx/config
[ -z "$SLX_REMOTE_LOG" ] && exit 3
-LOGCHECK="/tmp/remote_log_check"
+USER=$(whoami)
+LOGCHECK="/tmp/remote_log_check-$USER"
NOW=$(date +%s)
+DELFILE=
+SYNC=
-if [ "x$1" = "x-e" -o "x$1" = "x--echo" ]; then
+while [ $# -gt 0 ]; do
+ case "$1" in
+ -e|--echo)
+ echo "$@"
+ ;;
+ -d|--delete)
+ DELFILE=yes
+ ;;
+ -s|--sync)
+ SYNC=yes
+ ;;
+ *)
+ break
+ ;;
+ esac
shift
- echo "$@"
-fi
+done
[ $# -eq 0 ] && exit 0
@@ -42,14 +58,13 @@ if [ -r "$LOGCHECK" ]; then
fi
fi
echo "$NOW $TYPE" >> "$LOGCHECK"
-chmod 0666 "$LOGCHECK" 2>/dev/null
+chmod 0600 "$LOGCHECK" 2>/dev/null
if [ $# -lt 2 ]; then
MSG="Missing text for $@"
else
MSG="$2"
fi
-USER=$(whoami)
MSG="[$USER] $MSG"
if [ $# -gt 2 ]; then
@@ -62,15 +77,28 @@ else
CURLLOG="/dev/null"
fi
-if [ -n "$EXTRA" ] && [ -r "$EXTRA" -a -s "$EXTRA" ] && [ "$(stat -c %s "$EXTRA")" -lt "10000" ]; then # valid file attachment
- curl --data-urlencode "type=$TYPE" --data-urlencode "description=$MSG" --data-urlencode "longdesc@$EXTRA" "$SLX_REMOTE_LOG" >> "$CURLLOG" 2>&1 &
-elif [ -z "$EXTRA" ]; then # no attachment
- curl --data-urlencode "type=$TYPE" --data-urlencode "description=$MSG" "$SLX_REMOTE_LOG" >> "$CURLLOG" 2>&1 &
-elif [ -s "$EXTRA" ]; then # empty attachment file (or missing)
- curl --data-urlencode "type=$TYPE" --data-urlencode "description=$MSG" --data-urlencode "longdesc=Attachment too large: $EXTRA" "$SLX_REMOTE_LOG" >> "$CURLLOG" 2>&1 &
-else # attachment file to big (more than 10k)
- curl --data-urlencode "type=$TYPE" --data-urlencode "description=$MSG" --data-urlencode "longdesc=Attachment missing/empty: $EXTRA" "$SLX_REMOTE_LOG" >> "$CURLLOG" 2>&1 &
+UUID=
+if [ -s /run/system-uuid ]; then
+ UUID=$(cat /run/system-uuid)
+fi
+
+submitlog () {
+ if [ -n "$EXTRA" ] && [ -r "$EXTRA" -a -s "$EXTRA" ] && [ "$(stat -c %s "$EXTRA")" -lt "10000" ]; then # valid file attachment
+ curl --data-urlencode "uuid=$UUID" --data-urlencode "type=$TYPE" --data-urlencode "description=$MSG" --data-urlencode "longdesc@$EXTRA" "$SLX_REMOTE_LOG" >> "$CURLLOG" 2>&1
+ elif [ -z "$EXTRA" ]; then # no attachment
+ curl --data-urlencode "uuid=$UUID" --data-urlencode "type=$TYPE" --data-urlencode "description=$MSG" "$SLX_REMOTE_LOG" >> "$CURLLOG" 2>&1
+ elif [ -s "$EXTRA" ]; then # attachment file to big (more than 10k)
+ curl --data-urlencode "uuid=$UUID" --data-urlencode "type=$TYPE" --data-urlencode "description=$MSG" --data-urlencode "longdesc=Attachment too large: $EXTRA" "$SLX_REMOTE_LOG" >> "$CURLLOG" 2>&1
+ else # empty attachment file (or missing)
+ curl --data-urlencode "uuid=$UUID" --data-urlencode "type=$TYPE" --data-urlencode "description=$MSG" --data-urlencode "longdesc=Attachment missing/empty: $EXTRA" "$SLX_REMOTE_LOG" >> "$CURLLOG" 2>&1
+ fi
+ [ -n "$DELFILE" ] && [ -n "$EXTRA" ] && rm -f -- "$EXTRA"
+}
+
+if [ -z "$SYNC" ]; then
+ submitlog &
+ exit 0
fi
-exit 0
+submitlog