; 2/15/2017 http://hawkee.com/snippet/17983/
On ^*:LOGON:*: {
if ($version < 7.42) {
.debug -ip $iif($debug,$debug,on) SHITTY_SASL
} }
ALIAS SHITTY_SASL {
if ($regex($1-,/^-> \S+ PASS (\S+?):(\S+)$/)) {
noop $SUPER_SHITTY_SASL_AUTH($regml(1),$regml(2))
.debug $iif($window($debug),$debug,off)
}
if ($1 == <-) { .debug $iif($window($debug),$debug,off) }
return $1-
}
On $*:PARSELINE:out:/^PASS (\S+):(\S+)$/: {
; versions >= 7.42 (2015)
noop $SUPER_SHITTY_SASL_AUTH($regml(1),$regml(2))
}
ALIAS -l SUPER_SHITTY_SASL_AUTH {
var %u = $1, %p = $2
.raw CAP REQ :sasl
.raw AUTHENTICATE PLAIN
bset -t &auth 1 %u $+ $lf $+ %u $+ $lf $+ %p
breplace &auth 10 00
noop $encode(&auth,mb)
.raw AUTHENTICATE $bvar(&auth,1-).text
.raw CAP END
} ; by Raccoon 2017