blob: 17aa9e6bf507e6d53fe4dd2c7c1806f0a3060b6f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
n=1 # at least one message to send remotely
sample_message | deliver -u "local"
for ((i = 0; i < 32; i++)); do
u="$(shuf -n1 -e "local" "remote")"
[ "$u" = "remote" ] || n=$(( n+1 ))
sample_message | deliver -u "$u"
done
# check that credentials aren't leaked to the debug output
interimap --debug || error
grep -Fx "remote: C: xxx AUTHENTICATE PLAIN [REDACTED]" <"$STDERR" || error
# make sure we didn't use SASL-IR
grep -oE -m1 '^remote: S: \* OK \[CAPABILITY IMAP4rev1( [^]]*)? AUTH=[^]]*\]' <"$STDERR" >"$TMPDIR/capability"
sed -ri 's/^remote: S: \* OK \[CAPABILITY (.*)\]$/\1/' "$TMPDIR/capability"
tr " " "\\n" <"$TMPDIR/capability" >"$TMPDIR/capabilities"
grep -Fx "IMAP4rev1" <"$TMPDIR/capabilities" || error
! grep -Fx "SASL-IR" <"$TMPDIR/capabilities" || error
# make sure all literals were synchronizing (and that we didn't use MULTIAPPEND)
xcgrep "$n" -E "^remote(\(INBOX\))?: C: [0-9]+ APPEND INBOX .* \{[0-9]+\}$" <"$STDERR"
check_mailbox_status "INBOX"
# vim: set filetype=sh :
|