[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mail-Transport per Filetransfer statt pop3?


Hallo Alexander,

der gpg-Aufruf war natuerlich stark vereinfacht, das script tut bisschen
was mehr.

On Sat, Nov 02, 2013 at 09:02:50PM +0100, Alexander Holler wrote:
> Am 02.11.2013 17:46, schrieb Raphael Eiselstein:
> >On Wed, Oct 30, 2013 at 12:30:07AM +0100, Raphael Eiselstein wrote:
> >>"|exec /home/rabe/bin/gpgmailer.sh"
> >>
> >>stehen. Das script gpgmailer.sh ist im Wesentlichen ein Wrapper fuer gpg,
> >>vereinfacht folgender Aufruf:
    ***********
> >>
> >>/usr/local/bin/gpg --armor --recipient "${KEY}" --encrypt
> >>
> >>Das Script bekommt eine(!) E-Mail direkt von sendmail per stdin und
> >>erzeugt daraus dann genau eine verschluesselte Datei. Es landen also
> >>nur die vollstaendig  verschluesselten Mails einzeln auf der Platte.
> 
> Das bezweifle ich. Wenn dein rsync zuschlaegt waehrend gpg die Datei
> schreibt hast du eine klassische race-condition.

Das Script beruecksichtigt das und einiges anderes mehr. In meinem
aktuellen Test-Setup sieht das serverseitige Script aktuell so aus:
.------------------------------------------------------------------------
| #! /bin/sh
| 
| exec >>/tmp/gpgmailer.out
| exec 2>>/tmp/gpgmailer.out
| chmod 600 /tmp/gpgmailer.out
| #set -x
| 
| # set USER and HOME from whoami/passwd
| OIFS="${IFS}"            
| IFS=":"
| set -- $(getent passwd $(whoami))
| IFS="${OIFS}"
| 
| USER="${1}"
| HOME="${6}"
| DIR="${HOME}/.gpgmailer/"
| mkdir -pv "${DIR}" || exit 128
| 
| NOW="$(date "+%Y%m%d%H%M%S")"
| HOST="$(hostname -f)"
| 
| ENC_TMP="$(mktemp "${DIR}/${HOST}_${USER}_${NOW}_XXXXXX")"
| ENC_FILE="${ENC_TMP}.asc"
| 
| test -f "${ENC_TMP}" || 
|       { echo "Cannot create tmpfile ${ENC_TMP}"; exit | 128; }
| 
| # gpg2 wont override existing files, so remove it here
| rm "${ENC_TMP}" || exit 1
| 
| RCPT="0x47110815"
| /usr/local/bin/gpg --no-secmem-warning --armor --recipient "${RCPT}"
| --output "${ENC_TMP}" --encrypt && 
|         mv "${ENC_TMP}" "${ENC_FILE}"
`------------------------------------------------------------------------

Der Empfaenger, dessen Mails durch dieses Script geroutet werden bekommt
derzeit alle 10sec eine automatisch generierte E-Mail. Bisher habe ich
keine nennenswerten Fehler dabei gefunden und habe ausreichend viele
Dateien um auch grenzwertige Situationen zu pruefen.

Gruss
Raphael

-- 
Raphael Eiselstein <rabe@xxxxxxxxx>               http://rabe.uugrn.org/
xmpp:freibyter@xxxxxx  | https://www.xing.com/profile/Raphael_Eiselstein   
PGP (alt):            E7B2 1D66 3AF2 EDC7 9828  6D7A 9CDA 3E7B 10CA 9F2D
PGP (neu):            4E63 5307 6F6A 036D 518D  3C4F 75EE EA14 F625 DB4E
.........|.........|.........|.........|.........|.........|.........|..




-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/