From 6dc373759d940181bcb2a742f1f37548a7c1cacc Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 4 Apr 2016 08:15:21 +0200 Subject: Initial commit --- sendmailadvanced/PKGBUILD | 33 +++++++++++++++++++++++ sendmailadvanced/sendmailadvanced | 49 ++++++++++++++++++++++++++++++++++ sendmailadvanced/sendmailadvanced.conf | 38 ++++++++++++++++++++++++++ 3 files changed, 120 insertions(+) create mode 100755 sendmailadvanced/PKGBUILD create mode 100644 sendmailadvanced/sendmailadvanced create mode 100644 sendmailadvanced/sendmailadvanced.conf (limited to 'sendmailadvanced') diff --git a/sendmailadvanced/PKGBUILD b/sendmailadvanced/PKGBUILD new file mode 100755 index 00000000..7d331cf7 --- /dev/null +++ b/sendmailadvanced/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Erich Eckner +pkgname=sendmailadvanced +pkgver=1.0.1 +pkgrel=3 +pkgdesc="Wrapper for sendmail, which generates stamps and encrypts." +arch=('any') +url="" +license=('GPL') +groups=() +depends=('gnupg' 'hashcash') +makedepends=() +checkdepends=() +optdepends=() +provides=() +conflicts=() +replaces=() +backup=('etc/sendmailadvanced.conf') +options=() +source=( + "${pkgname}-${pkgver}.tar.gz::http://opensources.eckner.net/dl.php?dl=${pkgname}-${pkgver}" +) +sha256sums=( + "9215b3c04ad4cab091cb7f62e8b565ced4d2f18904a0257cf1d012517db62334" +) + +package() { + + cd ${pkgname}-${pkgver} + + install -D -t $pkgdir/usr/bin/ sendmailadvanced + install -D -t $pkgdir/etc/ sendmailadvanced.conf + +} diff --git a/sendmailadvanced/sendmailadvanced b/sendmailadvanced/sendmailadvanced new file mode 100644 index 00000000..7b5e7fe5 --- /dev/null +++ b/sendmailadvanced/sendmailadvanced @@ -0,0 +1,49 @@ +#!/bin/bash + +MAILER="cantfind" + +for executable in sendmail msmtp +do + for prefix in /usr/bin /usr/sbin /bin /sbin + do + [ "${MAILER}" == "cantfind" ] && [ -x ${prefix}/${executable} ] && MAILER="${prefix}/${executable}" + done +done + +if [ "${MAILER}" == "cantfind" ] +then + >&2 echo "ERROR: Can't find suitable mailer." + exit 1 +fi + +( + . /etc/sendmailadvanced.conf + + tos="" + while read s + do + echo "${s}" + if [ "${s:0:3}" == "To:" ] || [ "${s:0:3}" == "Cc:" ] + then + tos="${tos} ${s:4}" + fi + if [ "${s:0:8}" == "Subject:" ] + then + break + fi + done + hashcash -b ${hashcash_bits} -Xm ${tos} + while read s + do + echo "${s}" + if [ "${s}" == "" ] + then + break + fi + done + ( + body_header_hook $@ + cat + body_footer_hook $@ + ) | gpg -e -a -s -r ${gpg_recipient} +) | ${MAILER} -t diff --git a/sendmailadvanced/sendmailadvanced.conf b/sendmailadvanced/sendmailadvanced.conf new file mode 100644 index 00000000..7b37bfcd --- /dev/null +++ b/sendmailadvanced/sendmailadvanced.conf @@ -0,0 +1,38 @@ +#!/bin/bash + +# configuration for sendmailadvanced + +# default recipient to encrypt to +gpg_recipient="me@example.com" + +# stamp value +hashcash_bits=22 + +# things to put into head of (body of) email +body_header_hook() +{ + true +} + +# things to put into foot of email +body_footer_hook() +{ + while [ $# -gt 0 ] + do + if [ "$1" == "-t" ] + then + true + elif [ "$(whoami)" == "root" ] && [ "$1" == "-wb" ] + then + echo "----------------------- Last Backups Begin -------------------------" + echo + lastBackups + echo + echo "------------------------ Last Backups End --------------------------" + echo + else + echo "Unknown option: '$1'" + fi + shift + done +} -- cgit v1.2.3-54-g00ecf