view mod_alias/mod_alias_postfixadmin.sh @ 3099:c88f91626e07

mod_pastebin: Off-by-one, the hardest problem known to man The threshold set to 4 allowed 4 lines and pastebinned 5. 040eaa3844f4 unintentionally changed this so that 4 lines were pastebinned. This commit restores the previous behavior.
author Kim Alvefur <zash@zash.se>
date Sun, 03 Jun 2018 14:09:30 +0200
parents 0c3ba5ff7a3b
children
line wrap: on
line source

#!/bin/sh
# Copyright (C) 2015 Travis Burtrum
# This file is MIT/X11 licensed.

# run like ./mod_alias_postfixadmin.sh "mysql -N -upostfixadmin -ppostfixadmin postfixadmin" > /etc/prosody/aliases.cfg.lua
# then put:
# Include "aliases.cfg.lua"
# in prosody.cfg.lua

mysql="$1"

echo "-- alias plugin, generated by mod_alias_postfixadmin.sh"
echo "aliases = {"

echo "SELECT concat('["'"'"', address, '"'"'"] = "'"'"', goto, '"'"'";') FROM alias WHERE address != goto;
SELECT concat('["'"'"', address, '"'"'"] = "'"'"', goto, '"'"'";') FROM (
	select replace(address, concat('@', target_domain), concat('@', alias_domain)) as address, goto FROM alias JOIN alias_domain ON alias_domain.target_domain = SUBSTRING(alias.address, locate('@',alias.address) + 1, length(alias.address))
) a WHERE a.address != a.goto;" | $mysql | sort | uniq

echo "}"