アプリ版:「スタンプのみでお礼する」機能のリリースについて

【環境】
CentOS Linux release 7.2.1511 (Core)
Linux 3.10.0-327.el7.x86_64 GNU/Linux
dovecot-2.2.10-8.el7.x86_64

【質問】以下は、dovecot への pop3, imap でのアクセスログです。
---
Feb 22 15:14:45 pop3-login: Info: Login: user=<foo>, method=PLAIN, rip=::1, lip=::1, mpid=28376, secured, session=<3+TO9cZlqQAAAAAAAAAAAAAAAAAXXXXX>

Feb 22 15:15:07 imap-login: Info: Login: user=<foo>, method=PLAIN, rip=172.16.0.116, lip=172.16.0.140, mpid=28381, TLS, session=<P4cg98ZlowCXXXXX>
---

この際、
session=<3+TO9cZlqQAAAAAAAAAAAAAAAAAXXXXX>
session=<P4cg98ZlowCXXXXX>

1.上記 session= の値は何を意味しますか?
2.またどのようなアルゴリズムで符号化されていますか?

以上よろしくお願いいたします。

A 回答 (1件)

調べる事にあまり意味があるとも思えませんが…。



>dovecot-2.2.10-8.el7.x86_64

CentOS7.4のパッケージでした。
7.2と記載されていますが、yum updateで7.4になっているものと思われます。


ソースで確認すると…
client-common.cのclient_get_session_id()内で生成しているようです。
バッファに突っ込んでいる情報としては「時刻情報」「クライアントのソースポート番号」「クライアントのIPアドレス?」から生成しているようです。
で、符号化に関してはbase64_encode()という関数をコールしていますので、BASE64…なんでしょう。
パディングの'='は使用していないようですから……(サイズを調整してパディングが出ないようにしている…という可能性はある)
https://ja.wikipedia.org/wiki/Base64
の変形版のどれかか、独自拡張の変形版の可能性もあるかと。(base64_encode()の実装調べればいいんでしょうけど、面倒なんでそこまではやりません)
掲示された例でpop3とimapで長さが違う理由についても…ちょっと判りませんね。
# パディング無し…が関係している可能性はあるかも知れませんが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!