set -u
MYLOGNAME="`basename "$0"`[$$]"
-RSYNCDIR="/srv/upload.debian.org/UploadQueue/"
+RSYNCDIRS=(/srv/upload.debian.org/UploadQueue/ /srv/security.upload.debian.org/SecurityUploadQueue/)
usage() {
echo "local Usage: $0 <host>"
local allowed_rsyncs
allowed_rsyncs=()
- if [ -d "$RSYNCDIR" ]; then
- allowed_rsyncs+=("--server -vlogDtprxze.iLsf --partial . $RSYNCDIR") # wheezy
- allowed_rsyncs+=("--server -vlogDtprxze.iLsfx --partial . $RSYNCDIR") # jessie
- fi
+ local rsyncdir
+ for rsyncdir in "${RSYNCDIRS[@]}"; do
+ if [ -d "$rsyncdir" ]; then
+ allowed_rsyncs+=("--server -vlogDtprxze.iLsf --partial . $rsyncdir") # wheezy
+ allowed_rsyncs+=("--server -vlogDtprxze.iLsfx --partial . $rsyncdir") # jessie
+ allowed_rsyncs+=("--server -vlogDtprxze.iLsfxC --partial . $rsyncdir") # stretch
+ allowed_rsyncs+=("--server -vtxze.LsfxC --partial . $rsyncdir") # buster
+ fi
+ done
for cmd_idx in ${!allowed_rsyncs[*]}; do
allowed="${allowed_rsyncs[$cmd_idx]}"
if [ "$*" = "$allowed" ]; then
info "Running for host $remote_host: rsync $*"
- exec rsync "$@"
+ exec rsync --chmod=F640 "$@"
croak "Exec failed"
fi
done