aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auth-sasl-plain-no-ir/t
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 :