X-Git-Url: http://gitweb.pimeys.fr/?p=scripts-20-100.git;a=blobdiff_plain;f=import_caff_sigs.sh;h=83891a46e05ec70291841c710c36c43aa6c4299c;hp=20286683e7819fe85d512843b95b0f5bb298e893;hb=HEAD;hpb=b9f7aecc81d9483c3db2ba49559cdb441ae81e6b diff --git a/import_caff_sigs.sh b/import_caff_sigs.sh index 2028668..83891a4 100755 --- a/import_caff_sigs.sh +++ b/import_caff_sigs.sh @@ -17,20 +17,27 @@ agentpid=$(echo $GPG_AGENT_INFO | cut -d: -f 2) where=`mktemp -d` cadre "Storing mails copied in ${where}" -scp zamok:~/Mail/.Signatures/cur/*:2,a ${where} +# On récupère la liste des fichiers qui n'ont pas de S (\Seen) dans leurs flags +# (on vire le \x0 qui est à la fin, et on prie pour qu'il n'y ait jamais d'espaces dans les noms de mails) +MAILS=$(ssh zamok find "~/Mail/.Signatures/cur/" -type f -regex "'[^:]+:2,[^S]*'" -print0 | sed "s/\x0/ /g;s/ $//") +# On parsème de virgules et de backslash là où il faut et on les rappatrie +echo $MAILS | sed 's/,/\\\\,/g;s/ /,/g' | xargs -I % scp zamok:{%} ${where} # On traite les mails un par un cadre "Decrypting and importing signatures" for mail in ${where}/*; do - gpg2 --decrypt ${mail} | gpg2 --import; + gpg2 --no-auto-check-trustdb --decrypt ${mail} | gpg2 --no-auto-check-trustdb --import; done # On marque (peut-être) les mails distants comme lus cadre "Cleaning up" echo -n "Mark distant e-mails as read ? [Y/n]" read -r ans -[[ "${ans}" = "n" ]] || [[ "${ans}" = "N" ]] || ssh zamok rename 's/2,a$/2,Sa/' Mail/.Signatures/cur/*:2,a +# On ajoute le flag S (\Seen) aux mails concernés là où il faut dans l'ordre alphabétique +# en ne touchant pas au reste de leur nom +# Attention au "''" et aux \$ parce que ssh needs moar escapingz +[[ "${ans}" = "n" ]] || [[ "${ans}" = "N" ]] || ssh zamok rename -v "'s/^([^:]+):2,([A-R]*)([^S]*)$/\$1:2,\$2S\$3/'" $MAILS # On fait le ménage echo -n "Remove local tempfolder ? [Y/n]" @@ -40,4 +47,4 @@ read -r ans cadre "Sending freshly-signed key to servers" echo -n "Sure ? [Y/n]" read -r ans -[[ "${ans}" = "n" ]] || [[ "${ans}" = "N" ]] || gpg --send-keys A94025B0 +[[ "${ans}" = "n" ]] || [[ "${ans}" = "N" ]] || gpg --send-keys D5759143B14B45B6