rp

simple email tools
git clone https://git.parazyd.org/rp
Log | Files | Refs | README | LICENSE

commit 87b8daac8c038171cf9fc160f15da8511ea91ff7
parent 9259081843c68978eb11b996db68c1777e4d5b44
Author: parazyd <parazyd@dyne.org>
Date:   Sat,  3 Mar 2018 01:28:17 +0100

pass.sh is boilerplate.

Diffstat:
Mbin/rpinit | 8++++++--
Mbin/rppeek | 5++---
Mbin/rpsend | 1-
Mbin/rpsync | 30++++++++++++++++++------------
Drplib/pass.sh | 25-------------------------
5 files changed, 26 insertions(+), 43 deletions(-)

diff --git a/bin/rpinit b/bin/rpinit @@ -72,7 +72,8 @@ read -r ruser || exit 1 echo einfo "Please enter your remote imap password." -pass insert .rp/$profile/rimap +printf " * remote imap password = " +read -r rpass || exit 1 echo @@ -95,7 +96,8 @@ read -r luser || exit 1 echo einfo "Please enter the password for your local imap server." -pass insert .rp/$profile/limap +printf " * local imap password = " +read -r lpass || exit 1 echo @@ -146,8 +148,10 @@ cat <<EOF > $profile/config defaultfrom: $from rnet: $rnet ruser: $ruser +rpass: $rpass lnet: $lnet luser: $luser +lpass: $lpass EOF setupmutt "$profile" diff --git a/bin/rppeek b/bin/rppeek @@ -2,7 +2,6 @@ profile="${RPPROFILE:-$HOME/.rp/default}" . "$HOME"/.rp/rplib/common.sh -. "$HOME"/.rp/rplib/pass.sh usage() { edie "usage: $(basename $0) [folder]" @@ -21,8 +20,8 @@ for i in $@; do esac done -einfo "asking imap password from pass" -askmuttpass .rp/$(readlink $profile)/limap +printf "set imap_pass = $(rpheaders lpass < "$profile/config")" \ + > "$profile/mutt/muttpass" ( sleep 2; printf "set imap_pass = a\n" > $profile/mutt/muttpass ) & diff --git a/bin/rpsend b/bin/rpsend @@ -2,7 +2,6 @@ profile="${RPPROFILE:-$HOME/.rp/default}" . "$HOME"/.rp/rplib/common.sh -. "$HOME"/.rp/rplib/pass.sh usage() { edie "usage: $(basename $0) [-n] [-l] [-a] < email diff --git a/bin/rpsync b/bin/rpsync @@ -2,7 +2,6 @@ profile="${RPPROFILE:-$HOME/.rp/default}" . "$HOME"/.rp/rplib/common.sh -. "$HOME"/.rp/rplib/pass.sh usage() { edie "usage: $(basename $0) [-n] [-d] @@ -28,18 +27,25 @@ for i in $@; do esac done -rhost="$(rpheaders rnet < $profile/config | cut -d'!' -f2)" -case "$(rpheaders rnet < $profile/config | cut -d'!' -f1)" in - tcps) tls1="--tls1" +rnet="$(rpheaders rnet < "$profile/config")" +case "$rnet" in + tcps*) tls1="--tls1";; esac - -lhost="$(rpheaders lnet < $profile/config | cut -d'!' -f2)" -case "$(rpheaders lnet < $profile/config | cut -d'!' -f1)" in - tcps) tls2="--tls2" +lnet="$(rpheaders lnet < "$profile/config")" +case "$lnet" in + tcps*) tls2="--tls2";; esac -ruser="$(rpheaders ruser < $profile/config | cut -d' ' -f2)" -luser="$(rpheaders luser < $profile/config | cut -d' ' -f2)" +ruser="$(rpheaders ruser < "$profile/config")" +rpass="$(rpheaders rpass < "$profile/config")" +luser="$(rpheaders luser < "$profile/config")" +lpass="$(rpheaders lpass < "$profile/config")" + +echo "$rpass" > "$profile/tmp/rimap" +echo "$lpass" > "$profile/tmp/limap" + +rhost="$(echo $rnet | cut -d'!' -f2)" +lhost="$(echo $lnet | cut -d'!' -f2)" ping -c 1 "$rhost" || edie "$rhost unreachable" @@ -53,10 +59,10 @@ imapsync \ --usecache \ --host1 "$rhost" $tls1 \ --user1 "$ruser" \ - --passfile1 "$(askpass -v .rp/$(readlink $profile)/rimap $profile/tmp/rimap)" \ + --passfile1 "$profile/tmp/rimap" \ --host2 "$lhost" $tls2 \ --user2 "$luser" \ - --passfile2 "$(askpass -v .rp/$(readlink $profile)/limap $profile/tmp/limap)" \ + --passfile2 "$profile/tmp/limap" \ --automap ${dryrun} ${delete} \ --no-modulesversion diff --git a/rplib/pass.sh b/rplib/pass.sh @@ -1,25 +0,0 @@ -#!/bin/sh - -. "$HOME"/.rp/rplib/common.sh - - -askpass() { - [ "$1" = -v ] && { - print=true - shift 1 - } - what="$1" - where="$2" - - mkdir -p "$(dirname $2)" - pass show "$1" >> "$2" || edie "'pass show' failed" - chmod 600 "$2" - - [ "$print" = true ] && printf "$2" || true -} - -askmuttpass() { - password="$(pass show "$1")" - [ -n "$password" ] || edie "'pass show' failed" - echo "set imap_pass = $password" > $profile/mutt/muttpass -}