diff --git a/handlers/rsync.in b/handlers/rsync.in index 68ab392d4c3197e78455d5f2d2713c982460ac05..31449c2c759a9fd78893cf3723030fa8ea3e1c00 100644 --- a/handlers/rsync.in +++ b/handlers/rsync.in @@ -421,6 +421,11 @@ function rotate_long { else created=0 fi + # Validate created date + if [ -z "$created" ] || echo $created | grep -v -q -e '^[0-9]*$'; then + warning "Invalid metatada $created. Skipping rotation." + break + fi cutoff_time=$(( now - (seconds*(i-1)) )) if [ ! $created -gt $cutoff_time ]; then next=$(( i + 1 )) @@ -539,6 +544,11 @@ function rotate_long_remote { else created=0 fi + # Validate created date + if [ -z "\$created" ] || echo \$created | grep -v -q -e '^[0-9]*$'; then + echo "Warning: Invalid metatada \$created. Skipping rotation." + break + fi cutoff_time=\$(( now - (seconds*(i-1)) )) if [ ! \$created -gt \$cutoff_time ]; then next=\$(( i + 1 ))