libcitadel/lib/tools.c
stripout()
Strips too many characters. Causes incorrect From address on inbound and probably other places.
stripout(“Foobar<foobar@foobar.com>”) = Fooba. Should be Foobar
Mangles multiple boundaries. Should strip using outer boundaries.
stripout(“ABC()(DEF)()GHI”) = ABC()(DEFGHI. Should return ABCGHI.
stripallbut()
Handle outer boundaries like stripout()
stripallbut(“ABC()(DEF)()GHI”) returns unchanged. Should return )(DEF)(
Code does a stderr flush. Not sure why, but left it in.
string_trimlen()
Removed function. Not used anywhere in the code and less efficient than string_trim()