64 lines
2.1 KiB
Bash
64 lines
2.1 KiB
Bash
|
#!/bin/bash
|
||
|
# -*- mode: sh; fill-column: 75; tab-width: 8; coding: utf-8-unix -*-
|
||
|
|
||
|
PREFIX=/usr/local
|
||
|
ROLE=proxy
|
||
|
|
||
|
. /usr/local/bin/usr_local_base.bash || exit 2
|
||
|
|
||
|
if [ "$#" -eq 1 -a "$1" = '--version' ] ; then
|
||
|
exec /usr/bin/dirmngr.bin --version
|
||
|
return 0
|
||
|
fi
|
||
|
|
||
|
# echo "DEBUG: $0 GNUPGHOME=$GNUPGHOME $*" >> /tmp/$$.out
|
||
|
PROXY_GPG_KEYSERVER=keys.openpgp.org
|
||
|
|
||
|
[ -f /usr/local/etc/testforge/testforge.bash ] && . /usr/local/etc/testforge/testforge.bash >/dev/null
|
||
|
[ -z "$PROXY_GPG_KEYERVER_URL" ] && PROXY_GPG_KEYERVER_URL=hkps://$PROXY_GPG_KEYSERVER
|
||
|
|
||
|
# ONLY disabling on the command line or
|
||
|
[ -e /proc/sys/net/ipv6/conf/default/disable_ipv6 ] && \
|
||
|
[ `cat /proc/sys/net/ipv6/conf/default/disable_ipv6` -eq 0 ] && \
|
||
|
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
|
||
|
|
||
|
PROXY_WLAN=$( /usr/local/bin/proxy_ping_lib.bash proxy_set_if ) # || return 1$?
|
||
|
if [ -n "$PROXY_WLAN" ] ; then
|
||
|
wlan7=$PROXY_WLAN
|
||
|
|
||
|
[ -e /proc/sys/net/ipv6/conf/$wlan7/disable_ipv6 ] && \
|
||
|
[ `cat /proc/sys/net/ipv6/conf/$wlan7/disable_ipv6` -eq 0 ] && \
|
||
|
echo 1 > /proc/sys/net/ipv6/conf/$wlan7/disable_ipv6
|
||
|
fi
|
||
|
|
||
|
route | grep -q ^default || { ERROR no route ; exit 1; }
|
||
|
[ ! -x /usr/bin/netstat ] || \
|
||
|
netstat -nlp | grep -q 127.0.0.1:53 || { ERROR no nameserver ; exit 4; }
|
||
|
|
||
|
[ -z "$USER" ] && USER=$(id -un )
|
||
|
if [ $USER = root ] ; then
|
||
|
[ -x /usr/bin/dirmngr -a ! -x /usr/bin/dirmngr.bin ] && \
|
||
|
mv /usr/bin/dirmngr /usr/bin/dirmngr.bin
|
||
|
[ -x /usr/bin/dirmngr.bin -a ! -x /usr/bin/dirmngr ] && \
|
||
|
ln -s /usr/local/bin/proxy_dirmngr.bash /usr/bin/dirmngr
|
||
|
fi
|
||
|
|
||
|
[ ! -x /usr/bin/dirmngr -o ! -x /usr/bin/dirmngr.bin ] && exit 2
|
||
|
[ -f /etc/dirmngr/dirmngr.conf ] || exit 3
|
||
|
|
||
|
# This is not enough: --disable-ipv6
|
||
|
# --keyserver hkps://keys.gentoo.org is required
|
||
|
# --http-proxy http://127.0.0.1:3128
|
||
|
# --keyserver $PROXY_GPG_KEYERVER_URL
|
||
|
# --no-use-tor is REQUIRED if you are running tor
|
||
|
# EVEN IF YOU DOT USE use-tor - silent dns failure
|
||
|
|
||
|
exec /usr/bin/dirmngr.bin --server -vvv --debug-all \
|
||
|
--options /etc/dirmngr/dirmngr.conf \
|
||
|
--nameserver 127.0.0.1 \
|
||
|
--disable-ipv6 \
|
||
|
--disable-ldap \
|
||
|
--no-use-tor \
|
||
|
--log-file /var/log/dirmngr.log --debug-level 4 \
|
||
|
"$@"
|