commit d201bca9d8bb0a67ac2f611f74d2b993f2286b82
parent 64bb186e335de720ad608ac77dd53bbef31b91dd
Author: Jaromil <jaromil@dyne.org>
Date: Mon, 5 May 2014 20:32:15 +0200
string sanitization across code to support paths with spaces
Diffstat:
5 files changed, 128 insertions(+), 128 deletions(-)
diff --git a/src/zlibs/accounts b/src/zlibs/accounts
@@ -24,8 +24,8 @@
switch_identity() {
if [ "$name" != "" ]; then
act "switch to identity: $name <$login>"
- rm -f $MAILDIRS/Identity
- cat <<EOF > $MAILDIRS/Identity
+ rm -f "$MAILDIRS/Identity"
+ cat <<EOF > "$MAILDIRS/Identity"
# Automatically generated, do not modify
# change or add configs into Accounts instead
set hostname = $host
@@ -34,18 +34,19 @@ set from = "$name <$login>"
EOF
else
error "No identity found, left blank."
- touch $MAILDIRS/Identity
+ touch "$MAILDIRS/Identity"
fi
}
list_accounts() {
- for a in `${=find} $ACCOUNTS -type f | grep -v README | sed 's/.txt//'`; do
+ accts=`${=find} "$ACCOUNTS" -type f | grep -v README | sed 's/.txt//'`
+ for a in ${(f)accts}; do
act -n "`basename $a`\t :: "
awk '
/^name/ { for(i=2;i<=NF;i++) printf "%s ", $i }
/^email/ { printf "<%s>", $2 }
/^host/ { printf " on %s", $2 }
-{next}' $a.txt
+{next}' "$a.txt"
print " (`basename $a | cut -d. -f1`)"
done
}
@@ -59,13 +60,13 @@ read_account() {
unset name email host login transport \
port auth cert options folders
# parse arguments
- { test "$1" != "" } && { account=$1 }
+ { test "$1" != "" } && { account="$1" }
account=".${account}"
type=`print ${account} | cut -d. -f2`
account=`print ${account} | cut -d. -f3`
- { test "$2" != "" } && { account=$2 }
+ { test "$2" != "" } && { account="$2" }
{ test "$type" = "default" } && {
error "No account type specified"
@@ -76,13 +77,13 @@ read_account() {
# find the account
func "read_account looking for ${type} ${account}"
- accountlist=`${=find} $ACCOUNTS -name "$type.$account*" | grep -v 'lock$' | grep -v 'pid$'`
+ accountlist=`${=find} "$ACCOUNTS" -name "$type.$account*" | grep -v 'lock$' | grep -v 'pid$'`
for a in ${(f)accountlist}; do
# check if it is locked
func "found account: $a"
{ test -r "${a}.lock" } && {
pidcheck "${a}" }
- all+=($a)
+ all+=("$a")
done
if [ ${#all} = 0 ]; then
error "No $type account found: $account"
diff --git a/src/zlibs/addressbook b/src/zlibs/addressbook
@@ -21,7 +21,7 @@
# Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-ADDRESSBOOK=$MAILDIRS/Addressbook
+ADDRESSBOOK="$MAILDIRS/Addressbook"
###################
# Jaro Brother DB
@@ -116,16 +116,16 @@ complete() {
func "complete: $1 (list $list)"
# completion on configured groups
- { test -r $MAILDIRS/Groups } && {
+ { test -r "$MAILDIRS/Groups" } && {
if [[ "$1" =~ "group/" ]]; then
func "completion will look into groups"
needle="${1[(ws:/:)2]}"
if [ "$needle" = "" ]; then
act "Listing all mailout groups"
- matches="`${=find} $MAILDIRS/Groups -type f`"
+ matches=`${=find} "$MAILDIRS/Groups" -type f`
else
act "Searching for \"$needle\" in mailout groups"
- matches="`${=find} $MAILDIRS/Groups -type f -name \"*$needle*\"`"
+ matches=`${=find} "$MAILDIRS/Groups" -type f -name \"*$needle*\"`
fi
print "Groups: `print $matches | wc -l` matches"
print
diff --git a/src/zlibs/email b/src/zlibs/email
@@ -55,37 +55,37 @@ queue() {
{ print $0 }
' > "$TMPDIR/${queue_body}.mail"
- maildirmake $MAILDIRS/outbox
+ maildirmake "$MAILDIRS/outbox"
{ test $? = 0 } || {
act "updating outbox format to Maildir"
# silently migrate the outbox from the old format to the new
- tmpp=(`find $MAILDIRS/outbox -type f`)
+ tmpp=(`find "$MAILDIRS/outbox" -type f`)
if [ ${#tmpp} = 0 ]; then
# the old format outbox is just empty
- rmdir $MAILDIRS/outbox
- maildirmake $MAILDIRS/outbox
+ rmdir "$MAILDIRS/outbox"
+ maildirmake "$MAILDIRS/outbox"
else
# there are some mails to be sent in the old format outbox
# preserve them while migrating to the new format
# this code is less interesting, since it handles an old
# format in JaroMail
- tmppp=$TMPDIR/jaro-outbox-migration-$RANDOM
+ tmppp="$TMPDIR/jaro-outbox-migration-$RANDOM"
mkdir -p $tmppp
- mv $MAILDIRS/outbox/* $tmppp/
- rmdir $MAILDIRS/outbox
- maildirmake $MAILDIRS/outbox
- mkdir -p $MAILDIRS/outbox/send
+ mv "$MAILDIRS/outbox/*" $tmppp/
+ rmdir "$MAILDIRS/outbox"
+ maildirmake "$MAILDIRS/outbox"
+ mkdir -p "$MAILDIRS/outbox/send"
# here we devince two useful arrays:
# bodies: the list of mail bodies to send
# corresponding to files with same name and extension .msmtp
bodies=(`find $tmppp -type f -name '*.mail'`)
- for i in ${bodies}; do mv $i $MAILDIRS/outbox/new/; done
+ for i in ${bodies}; do mv $i "$MAILDIRS/outbox/new/"; done
rmdir $tmppp
fi
}
- ${=mkdir} $MAILDIRS/outbox/send
+ ${=mkdir} "$MAILDIRS/outbox/send"
- lock $MAILDIRS/outbox
+ lock "$MAILDIRS/outbox"
# check if recipients are a Group
if [[ "${=queue_to}" =~ '@jaromail.group' ]]; then
@@ -94,16 +94,16 @@ queue() {
groupfile="`print ${=queue_to}|cut -d@ -f1`"
act "email recipients are in group ${groupfile}"
- { test -r $MAILDIRS/Groups/$groupfile } || {
- maildirmake $MAILDIRS/postponed
- mv ${TMPDIR}/${queue_body}.mail $MAILDIRS/postponed/new
- unlock $MAILDIRS/outbox
+ { test -r "$MAILDIRS/Groups/$groupfile" } || {
+ maildirmake "$MAILDIRS/postponed"
+ mv "${TMPDIR}/${queue_body}.mail" "$MAILDIRS/postponed/new"
+ unlock "$MAILDIRS/outbox"
error "Group not found: $groupfile"
return 1 }
- recipients=`cat $MAILDIRS/Groups/$groupfile | grep -v '^#'`
- groupnum="`print ${recipients} | wc -l`"
- groupmode="`head -n1 $MAILDIRS/Groups/$groupfile | awk '/^#mode/ { print $2 } { next }'`"
+ recipients=`cat "$MAILDIRS/Groups/$groupfile" | grep -v '^#'`
+ groupnum=`print ${recipients} | wc -l`
+ groupmode=`head -n1 "$MAILDIRS/Groups/$groupfile" | awk '/^#mode/ { print $2 } { next }'`
{ test "$groupmode" = "" } && { groupmode="individual" }
act "$groupnum recipients in total, sending mode $groupmode"
@@ -117,7 +117,7 @@ queue() {
ig=${base}-${RANDOM}
cat "${TMPDIR}/${queue_body}.mail" | \
awk '/^To:/ { print "'"To: $i"'"; next } { print $0 }' \
- > ${MAILDIRS}/outbox/new/${ig}.mail
+ > "${MAILDIRS}/outbox/new/${ig}.mail"
done
;;
@@ -133,18 +133,18 @@ queue() {
cat "${TMPDIR}/${queue_body}.mail" | \
awk '/^To:/ { print "'"To: $cc"'"; print "'"Reply-To: $cc"'"; next }
{ print $0 }' \
- > ${MAILDIRS}/outbox/new/${ig}.mail
+ > "${MAILDIRS}/outbox/new/${ig}.mail"
;;
esac
else
# recipients are set in the email envelope
- mv $TMPDIR/$queue_body.mail $MAILDIRS/outbox/new/$queue_body.mail
+ mv "$TMPDIR/$queue_body.mail" "$MAILDIRS/outbox/new/$queue_body.mail"
fi
- unlock $MAILDIRS/outbox
- { test -r ${TMPDIR}/${queue_body}.mail } && {
- ${=rm} ${TMPDIR}/${queue_body}.mail }
+ unlock "$MAILDIRS/outbox"
+ { test -r "${TMPDIR}/${queue_body}.mail" } && {
+ ${=rm} "${TMPDIR}/${queue_body}.mail" }
}
@@ -180,7 +180,7 @@ fetch() {
# fetch works with imap and pop, skip smtp
{ test "$account_type" = "smtp" } && { return 0 }
- if ! [ -r $PROCMAILDIR/rc ]; then
+ if ! [ -r "$PROCMAILDIR/rc" ]; then
act "updating procmail configuration"
{ test $DRYRUN != 1 } && { update }
fi
@@ -255,12 +255,12 @@ fetch() {
esac
# archive old procmail log
- if [ -r $MAILDIRS/logs/procmail.log ]; then
- newlock $MAILDIRS/logs/procmail-${datestamp}.log
- cat $MAILDIRS/logs/procmail.log \
- >> $MAILDIRS/logs/procmail-${datestamp}.log
- rm -f $MAILDIRS/logs/procmail.log
- unlock $MAILDIRS/logs/procmail-${datestamp}.log
+ if [ -r "$MAILDIRS/logs/procmail.log" ]; then
+ newlock "$MAILDIRS/logs/procmail-${datestamp}.log"
+ cat "$MAILDIRS/logs/procmail.log" \
+ >> "$MAILDIRS/logs/procmail-${datestamp}.log"
+ rm -f "$MAILDIRS/logs/procmail.log"
+ unlock "$MAILDIRS/logs/procmail-${datestamp}.log"
fi
act "please wait while downloading mails..."
@@ -271,8 +271,8 @@ fetch() {
- total=`mailstat -k $MAILDIRS/logs/procmail.log | tail -n1 | awk '{print $2}'`
- briefing=`mailstat -kt $MAILDIRS/logs/procmail.log |awk '!/procmail/ { print " " $2 "\t" $3 }'|sort -nr`
+ total=`mailstat -k "$MAILDIRS/logs/procmail.log" | tail -n1 | awk '{print $2}'`
+ briefing=`mailstat -kt "$MAILDIRS/logs/procmail.log" | awk '!/procmail/ { print " " $2 "\t" $3 }'|sort -nr`
notice "$total emails fetched"
print "${briefing}"
@@ -286,12 +286,12 @@ fetch() {
# SEND
# this function should send all mails in outbox
send() {
- adir=$WORKDIR/Accounts
+ adir="$WORKDIR/Accounts"
typeset -al all
# list mails to send
- queue_outbox=(`${=find} ${MAILDIRS}/outbox -type f -name '*.mail'`)
+ queue_outbox=(`${=find} "${MAILDIRS}/outbox" -type f -name '*.mail'`)
{ test ${#queue_outbox} = 0 } && {
act "Outbox is empty, no mails to send."
return 0 }
@@ -315,16 +315,16 @@ send() {
{ test $DRYRUN = 1 } && { return 0 }
# from here on we must unlock on error
- lock ${MAILDIRS}/outbox
+ lock "${MAILDIRS}/outbox"
ask_password $login $host
{ test $? = 0 } || {
error "Error retrieving password for $login on $host"
unset password all
- unlock ${MAILDIRS}/outbox
+ unlock "${MAILDIRS}/outbox"
return 1 }
- tmp=$TMPDIR/msmtp.$host.$datestamp.$RANDOM
+ tmp="$TMPDIR/msmtp.$host.$datestamp.$RANDOM"
newlock $tmp
cat <<EOF > $tmp
account default
@@ -335,12 +335,12 @@ port ${port}
tls on
tls_starttls on
tls_certcheck off
-logfile ${MAILDIRS}/logs/msmtp.log
+logfile "${MAILDIRS}/logs/msmtp.log"
auth ${auth}
password ${password}
EOF
- for qbody in ${queue_outbox}; do
+ for qbody in ${(f)queue_outbox}; do
# check if this is an anonymous mail
head -n 20 "$qbody" | grep -i '^from: anon' > /dev/null
@@ -411,14 +411,14 @@ BEGIN { head=1 }
else
notice "Mail sent succesfully"
# whitelist those to whom we send mails
- cat "$qbody" | $WORKDIR/bin/jaro -q learn recipient
- mv "$qbody" $MAILDIRS/sent/new/
+ cat "$qbody" | "$WORKDIR/bin/jaro" -q learn recipient
+ mv "$qbody" "$MAILDIRS/sent/new/"
fi
done
unset password
- unlock $MAILDIRS/outbox
+ unlock "$MAILDIRS/outbox"
unlock $tmp
${=rm} $tmp
@@ -467,22 +467,22 @@ peek() {
error "Error retrieving password for $login on $host"
unset password all; return 1
}
- tmp=$TMPDIR/$host.peek.$RANDOM
+ tmp="$TMPDIR/$host.peek.$RANDOM"
newlock $tmp
cat <<EOF >> $tmp
set imap_pass = "${password}"
# set imap_peek = yes
EOF
unset password
- print "source '$tmp'" > $TMPDIR/muttpass
+ print "source '$tmp'" > "$TMPDIR/muttpass"
# when peeking don't mark unread messages as Old
# and sort date received with no threading (latest up)
- cat <<EOF >> $TMPDIR/muttpass
+ cat <<EOF >> "$TMPDIR/muttpass"
unset mark_old
set sort=reverse-date-received
EOF
(sleep 1;
- cp /dev/null $TMPDIR/muttpass
+ cp /dev/null "$TMPDIR/muttpass"
unlink $tmp # secure delete in ram
) &
${=mutt} -F $MUTTDIR/rc -f ${iproto}://${ilogin}@${host}${folder}
@@ -497,6 +497,6 @@ later() {
# hostname was set by the main jaro routine
func "Filename: $filename"
- { maildircheck ${MAILDIRS}/remember } || { maildirmake ${MAILDIRS}/remember }
- cat > ${MAILDIRS}/remember/new/$filename
+ { maildircheck "${MAILDIRS}/remember" } || { maildirmake "${MAILDIRS}/remember" }
+ cat > "${MAILDIRS}/remember/new/$filename"
}
diff --git a/src/zlibs/filters b/src/zlibs/filters
@@ -36,14 +36,14 @@ update() {
func "PROCMAILDIR: $PROCMAILDIR"
# make sure maildirs where to put mails exist
- ${=mkdir} $MAILDIRS
- maildirmake $MAILDIRS/known
- maildirmake $MAILDIRS/sent
- maildirmake $MAILDIRS/priv
- maildirmake $MAILDIRS/postponed
- maildirmake $MAILDIRS/unsorted
- maildirmake $MAILDIRS/unsorted.ml
- ${=mkdir} $MAILDIRS/outbox
+ ${=mkdir} "$MAILDIRS"
+ maildirmake "$MAILDIRS/known"
+ maildirmake "$MAILDIRS/sent"
+ maildirmake "$MAILDIRS/priv"
+ maildirmake "$MAILDIRS/postponed"
+ maildirmake "$MAILDIRS/unsorted"
+ maildirmake "$MAILDIRS/unsorted.ml"
+ ${=mkdir} "$MAILDIRS/outbox"
######
@@ -90,7 +90,7 @@ source '$TMPDIR/muttpass'
EOF
# support user made configuration of mutt
- { test -r $MAILDIRS/Mutt.txt } && {
+ { test -r "$MAILDIRS/Mutt.txt" } && {
print "source '$MAILDIRS/Mutt.txt'" >> $MUTTDIR/rc }
@@ -98,7 +98,7 @@ EOF
#####################
# helper applications
act "configuring helper applications"
-cat <<EOF >> $MUTTDIR/rc
+cat <<EOF >> "$MUTTDIR/rc"
## end of Jaro Mail generated muttrc
####################################
@@ -126,9 +126,9 @@ text/html; lynx -dump -assume_charset=%{charset} %s; nametemplate=%s.html; copio
EOF
fi
- { test -r ${MAILDIRS}/Applications.txt } && {
+ { test -r "${MAILDIRS}/Applications.txt" } && {
- apptypes=`cat ${MAILDIRS}/Applications.txt`
+ apptypes=`cat "${MAILDIRS}/Applications.txt"`
for t in ${(f)apptypes}; do
eval `print $t | awk '
{ print "_type=" $1 "; _app=" $2 ";" }'`
@@ -158,12 +158,11 @@ EOF
# SIEVE
act "generating procmail and sieve filter rules"
id=$datestamp.$RANDOM
- sieve=$MAILDIRS/Filters.sieve
- newlock $sieve
- rm -f $sieve
- touch $sieve
- chmod 600 $sieve
- cat <<EOF >> $sieve
+ newlock "$MAILDIRS/Filters.sieve"
+ rm -f "$MAILDIRS/Filters.sieve"
+ touch "$MAILDIRS/Filters.sieve"
+ chmod 600 "$MAILDIRS/Filters.sieve"
+ cat <<EOF >> "$MAILDIRS/Filters.sieve"
require "fileinto";
# blacklist
@@ -180,13 +179,13 @@ EOF
unlink $TMPDIR/blacklist.sieve.$id
c=${#blacklist}
for b in $blacklist; do
- print -n "\"$b\"" >> $sieve
+ print -n "\"$b\"" >> "$MAILDIRS/Filters.sieve"
c=$(( $c - 1 ))
- { test $c != 0 } && { print -n "," >> $sieve }
- print >> $sieve
+ { test $c != 0 } && { print -n "," >> "$MAILDIRS/Filters.sieve" }
+ print >> "$MAILDIRS/Filters.sieve"
done
-cat <<EOF >> $sieve
+cat <<EOF >> "$MAILDIRS/Filters.sieve"
]
{ fileinto "zz.blacklist"; stop; }
@@ -201,16 +200,16 @@ EOF
# continue later on while we parse filters
-touch $MAILDIRS/Filters.txt
+touch "$MAILDIRS/Filters.txt"
##########
# PROCMAIL
- ${=mkdir} $PROCMAILDIR
- rm -f $PROCMAILDIR/rc
- touch $PROCMAILDIR/rc
- cat<<EOF >> $PROCMAILDIR/rc
+ ${=mkdir} "$PROCMAILDIR"
+ rm -f "$PROCMAILDIR/rc"
+ touch "$PROCMAILDIR/rc"
+ cat<<EOF >> "$PROCMAILDIR/rc"
# procmail configuration file generated by Jaro Mail
-MAILDIR=$MAILDIRS
+MAILDIR=\"$MAILDIRS\"
JARO=$WORKDIR/bin/jaro
DEFAULT=\$MAILDIR/unsorted/
VERBOSE=off
@@ -220,7 +219,7 @@ UMASK = 007 # James Bond :-)
LINEBUF = 8192 # avoid procmail choke
# Using Procmail Module Library http://sf.net/projects/pm-lib
-PMSRC = $WORKDIR/.procmail
+PMSRC = "$WORKDIR/.procmail"
# Load the central initial startup code.
INCLUDERC = \$PMSRC/pm-javar.rc
PF_DEST = "" # clear these vars
@@ -250,7 +249,7 @@ EOF
typeset -alU filter_from
typeset -alU filter_to
- for f in `cat $MAILDIRS/Filters.txt | awk '
+ for f in `cat "$MAILDIRS/Filters.txt" | awk '
/^#/ {next}
/^./ { print $1 ";" $2 ";" $3 ";" $4 }'`; do
header="${f[(ws:;:)1]}"
@@ -260,16 +259,16 @@ EOF
case $header in
to)
print "ADDR=${address}\tDEST=${destination}/\tINCLUDERC=\$PMSRC/pf-chkto.rc" \
- >> $PROCMAILDIR/rc
+ >> "$PROCMAILDIR/rc"
func "messages to <${address}> in folder: ${destination}"
- maildirmake $MAILDIRS/$destination
+ maildirmake "$MAILDIRS/$destination"
filter_to+=($address)
;;
from)
print "ADDR=${address}\tDEST=${destination}/\tINCLUDERC=\$PMSRC/pf-check.rc" \
- >> $PROCMAILDIR/rc
+ >> "$PROCMAILDIR/rc"
func "messages from <${address}> in folder: {$destination}"
- maildirmake $MAILDIRS/$destination
+ maildirmake "$MAILDIRS/$destination"
filter_from+=($address)
;;
*)
@@ -277,24 +276,24 @@ EOF
;;
esac
# MUTT (generate mailboxes priority this parser)
- print " \\" >> $MUTTDIR/mboxes
- print -n " +${destination} " >> $MUTTDIR/mboxes
+ print " \\" >> "$MUTTDIR/mboxes"
+ print -n " +${destination} " >> "$MUTTDIR/mboxes"
done
# now do the sieve
{ test ${#filter_to} -gt 0 } && {
- cat <<EOF >> $sieve
+ cat <<EOF >> "$MAILDIRS/Filters.sieve"
# filter to
if header :contains "To" [
EOF
c=${#filter_to}
for f in $filter_to; do
- print -n "\"$f\"" >> $sieve
+ print -n "\"$f\"" >> "$MAILDIRS/Filters.sieve"
c=$(( $c - 1 ))
- { test $c != 0 } && { print -n "," >> $sieve }
- print >> $sieve
+ { test $c != 0 } && { print -n "," >> "$MAILDIRS/Filters.sieve" }
+ print >> "$MAILDIRS/Filters.sieve"
done
- cat <<EOF >> $sieve
+ cat <<EOF >> "$MAILDIRS/Filters.sieve"
]
{ fileinto "filters"; stop; }
@@ -302,18 +301,18 @@ EOF
}
{ test ${#filter_from} -gt 0 } && {
- cat <<EOF >> $sieve
+ cat <<EOF >> "$MAILDIRS/Filters.sieve"
# filter from
if header :contains "From" [
EOF
c=${#filter_from}
for f in $filter_from; do
- print -n "\"$f\"" >> $sieve
+ print -n "\"$f\"" >> "$MAILDIRS/Filters.sieve"
c=$(( $c - 1 ))
- { test $c != 0 } && { print -n "," >> $sieve }
- print >> $sieve
+ { test $c != 0 } && { print -n "," >> "$MAILDIRS/Filters.sieve" }
+ print >> "$MAILDIRS/Filters.sieve"
done
- cat <<EOF >> $sieve
+ cat <<EOF >> "$MAILDIRS/Filters.sieve"
]
{ fileinto "filters"; stop; }
@@ -329,7 +328,7 @@ EOF
#### SIEVE
act "compiling whitelist rules from addressbook"
func "generating whitelist for sieve filters"
-cat <<EOF >> $sieve
+cat <<EOF >> "$MAILDIRS/Filters.sieve"
# whitelist
if header :contains "From" [
EOF
@@ -348,12 +347,12 @@ unlink $TMPDIR/whitelist.sieve.$id
c=${#whitelist}
for w in $whitelist; do
- print -n "\"$w\"" >> $sieve
+ print -n "\"$w\"" >> "$MAILDIRS/Filters.sieve"
c=$(( $c - 1 ))
- { test $c != 0 } && { print -n "," >> $sieve }
- print >> $sieve
+ { test $c != 0 } && { print -n "," >> "$MAILDIRS/Filters.sieve" }
+ print >> "$MAILDIRS/Filters.sieve"
done
-cat <<EOF >> $sieve
+cat <<EOF >> "$MAILDIRS/Filters.sieve"
]
{ fileinto "INBOX"; stop; }
@@ -395,7 +394,7 @@ EOF
* ? test \$PMSRC/pf-chkto.rc
{
EOF
- cat <<EOF >> $sieve
+ cat <<EOF >> "$MAILDIRS/Filters.sieve"
# sent to our own address
if header :contains "To" [
EOF
@@ -414,15 +413,15 @@ EOF
>> $PROCMAILDIR/rc
# sieve
- print -n "\"${rr}\"" >> $sieve
+ print -n "\"${rr}\"" >> "$MAILDIRS/Filters.sieve"
c=$(( $c - 1 ))
- { test $c != 0 } && { print -n "," >> $sieve }
- print >> $sieve
+ { test $c != 0 } && { print -n "," >> "$MAILDIRS/Filters.sieve" }
+ print >> "$MAILDIRS/Filters.sieve"
act "private account: <${rr}>"
done
- cat <<EOF >> $sieve
+ cat <<EOF >> "$MAILDIRS/Filters.sieve"
]
{ fileinto "priv"; stop; }
@@ -466,12 +465,12 @@ EOF
# conclude sieve
-cat <<EOF >> $sieve
+cat <<EOF >> "$MAILDIRS/Filters.sieve"
fileinto "unsorted";
EOF
-unlock $sieve
+unlock "$MAILDIRS/Filters.sieve"
return 0
} # end of update()
diff --git a/src/zlibs/keyring b/src/zlibs/keyring
@@ -79,7 +79,7 @@ ask_password() {
func "path: jaromail/${type}/${email}"
print "protocol=${type}\npath=jaromail/${type}/${email}\nusername=${login}\nhost=${host}\n\n" \
- | $WORKDIR/bin/jaro-gnome-keyring check
+ | "$WORKDIR/bin/jaro-gnome-keyring" check
if [ $? != 0 ]; then # its a new password
new_password
{ test $? != 0 } && {
@@ -87,10 +87,10 @@ ask_password() {
return 1 }
else # password found into gnome keyring
act "Using saved password for $1 @ $2"
- password=`print "protocol=${type}\npath=jaromail/${type}/${email}\nusername=${login}\nhost=${host}\n\n" | $WORKDIR/bin/jaro-gnome-keyring get`
+ password=`print "protocol=${type}\npath=jaromail/${type}/${email}\nusername=${login}\nhost=${host}\n\n" | "$WORKDIR/bin/jaro-gnome-keyring" get`
fi
return 0
- elif [ -r $KEYRING ]; then
+ elif [ -r "$KEYRING" ]; then
func "Looking for password in local keyring for $type account $account on $host"
func "new pass hash for: $type:$login:$host"
_hash=`print "$type:$login:$host" | shasum | awk '{print $1}'`
@@ -177,7 +177,7 @@ new_password() {
if [ "$GNOMEKEY" = "1" ]; then
act "using gnome-keyring password storage"
func "path: jaromail/${type}/${email}"
- cat <<EOF | $WORKDIR/bin/jaro-gnome-keyring store
+ cat <<EOF | "$WORKDIR/bin/jaro-gnome-keyring" store
protocol=${type}
path=jaromail/${type}/${email}
username=${login}
@@ -198,13 +198,13 @@ EOF
notice "Select the password to lock this keyring entry:"
_password="`print $password | gpg -c --cipher-algo AES256 --openpgp --no-options | base64`"
if [ "$lookup" = "" ]; then # new entry
- cat <<EOF | ${SQL} -batch $KEYRING
+ cat <<EOF | ${SQL} -batch "$KEYRING"
INSERT INTO secrets (hash, password)
VALUES ("${_hash}", "${_password}");
EOF
act "saved new password in local keyring"
else # update entry
- cat <<EOF | ${SQL} -batch $KEYRING
+ cat <<EOF | ${SQL} -batch "$KEYRING"
UPDATE secrets SET password="${_password}" WHERE hash LIKE "${_hash}";
EOF
act "updated local keyring with new password"
@@ -218,7 +218,7 @@ EOF
# save it into gnome keyring
if [ $GNOMEKEY = 1 ]; then
- cat <<EOF | $WORKDIR/bin/jaro-gnome-keyring erase
+ cat <<EOF | "$WORKDIR/bin/jaro-gnome-keyring" erase
protocol=${type}
path=jaromail/${email}
username=${login}