title_parttitle_parttitle_part
静岡県浜松市であれこれソフトを開発している A.K.I Software のブログです。日々の開発日記やサーバー・セキュリティ関連の話題なども掲載。
<< 2024/04 >>123456789101112131415161718192021222324252627282930
《《《 ネットワーク機器の購入は Amazon で! 》》》
Powered by BLOM PMailServer2 Version 2.37b Memo
小さくも大きくも閉じたりもしません
18/07/12 00:41 / PMailServer2

機能的には余り変わりはありませんが、通信コアの部分に結構手を入れています。

不具合がある訳では無く、最適化に近いです。
PMailServer2 は、SMTP/POP3/IMAP4/MTA で個別に分離できるように、ぞれぞれが独立してライブラリ化されていますが、SMTP/POP3/MTA は同時期に開発を始め IMAP4 は後から開発を行っています。

また、SMTP/POP3/IMAP4 はサーバー側ですが、MTA はどっちかというと接続しに行くという意味でクライアント側になるので、処理は別系統になっています。

で、SMTP/POP3 は割と近いコードなのですが、IMAP4 は新規で書き起こしたコードになるので、処理的には同じなんですが、コード自体は全然違います。

2.37 でマルチプロセス化をして、ある程度手を入れたのですが、共通部分も多いので、SMTP/POP3/IMAP4 のベースとなるライブラリを1つ起こして、そこから派生して各プロトコルを実装する。という形に変更を行っています。

メリットとしては、今後のメンテナンスが楽になります。

2.37a の時点でサーバー本体のコードは約15万行くらいありますので、機能の追加自体も結構大変なのです。
各プロトコル共通部分を分離することにより、各プロトコルの機能のみに専念することが出来るようになります。
TLS通信部分なんかは全て同じですしね。
あと、SMTP では変更したけど、POP3 では変更し忘れていたとかも無くなります。(笑)

あと致命的では無いが、不具合箇所が2箇所見つかったので修正を行いました。

TLS通信でエンコードやデコードに失敗した場合でも通信を続行するという不具合ですが、基本的にまず発生するものでは無い上に、発生した場合どうにもならない(リカバリが出来ない)ので、不具合ではありますが、緊急性は低いということで、次の版で合わせて修正を行います。
(実は、この不具合は POP3 でのみ発生します。通信部分が共通化されていないので、SMTP/IMAP4 ではちゃんとエラーで終了するのに POP3 だけ終了しないという具合です。これもあって、共通化に踏み切りました)

もう1つはマルチプロセスモードの際にログを分離して記録する場合、正しくファイルを分けて記録されない不具合がありました。
2.37 の時点で混入していたと思いますが、ご指摘が無い所を見ると、誰も分離して記録することはしていないのだと思われます・・・(私もしていません)

ベータ版の時は、パフォーマンスを考えて分離させて記録する方向でいましたが、ログ記録部分を大幅に変更して、パフォーマンス的には殆ど変わらない(少なくともプロセスが5個程度ではほぼ同じ。もっと多いプロセスの場合は変わるかもしれません)ので、余り使いみちがないオプションかもしれません。が実装されている以上、修正を行いました。

まだリリース日は決まっていませんが、今月中にはリリースを行いたいと考えています。

[更新日付:2018/07/12 00:41:34]
トラックバックを見る(0)
Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+ede6a6727ad3427af50b49e6ffbcb0c675432dfa]
TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+ede6a6727ad3427af50b49e6ffbcb0c675432dfa]

記事へのコメント

コメントはありません

名前
コメントキー
 
コメントする時はキーを正確に入力して下さい
コメント
アドレスを含んだコメントはできません
© 2008-10 A.K.I Software all rights reserved.