SSMTPの続き

ソースを調べてみたけど、パスワードはAuthPass=XXXXXの行を見つけたらXXXXXをメモリにコピーしておいてAUTH LOGINコマンドでBASE64変換したユーザー名の送信後にBASE64変換したパスワードを送っているだけだった。ASCIIコードなら何でもいいとGmailでは説明がありますが、明らかに記号を除いたら通ってるのが解せない。セキュリティの関係で前のパスワードへ戻せないのでgdbを使って確認も難しそうです。ユーザー名なら使える記号の制限があるのは確認したのですけど、パスワードに関しては記述が見つからないです。
BASE64での変換処理はエラーとなる要因がありません。ASCII文字列からBASE64は3バイトを6ビットづつ使って4バイトの文字に変換するので、0x00から0xffまでどんな文字を使おうが変換できます。逆はBASE64で使う文字が限られているのでエラーとなる可能性はありますけどね。

現状は特に問題なく運用できているので、こういうものだという認識でクローズします。