見出し画像

TWSNMP FCの拡張MIB対応に悩む

今朝は4時半から開発開始です。昨日までの休みでTWSNMP FCのマニュアルをZennに移植する作業はだいぶ進みました。

完了までいきませんでしたが、終わりが見えてきました。
TWSNMP FCのV1.12.0をリリースしたときに、

の要望に気づきました。メール通知されていたのだと思いますが見逃してました。すみません。

TWSNP FCは拡張MIBに対応しているつもりでしたが、試してみるとバグで動作しませんでした。マニュアルにも書いてませんでした。
復刻版で対応した

の仕組みで対応しています。

バグ自体は、読み込むパスの指定が間違っていただけなので修正は簡単でした。読み込めるようにして、

の拡張MIBをダウンロードして試してみました。
変なエラーがでました。オリジナルのTWSNMPでも試してみると

同じエラーがでました。でもオリジナルのほうは読み込めているようです。
エラーは、MIBの更新日時のタイムスタンプのフォーマットがおかしいというものです。

       LAST-UPDATED "010207"

となっていますが、

       LAST-UPDATED "200102070000Z"

が正解です。
これを修正すると同じエラーはなくなります。オリジナルのTWSNMPでは、問題なく読み込めます。TWSNMP FCで使っているMIBをパースするライブラリが厳しいために多少修正しないと読み込ません。
問題なのは

jema                    OBJECT IDENTIFIER ::=  { enterprises 4550 }

   jemaUpsMIB MODULE-IDENTITY
       LAST-UPDATED "200102070000Z"
       ORGANIZATION "JEMA UPS MIB Working Group"
       CONTACT-INFO
              "        Hiroshi Inoue

                Postal: The Japan Electrical Manufacturers' Association
                        JAPAN

                   Tel: +81-3-3556-5884
                   Fax: +81-3-3556-5892

                E-mail: hiroshi_inoue1@jema-net.or.jp"
       DESCRIPTION
               "The MIB module to describe Uninterruptible Power
               Systems."
       ::= { jema 1 }

のような書き方です。jemaの定義がMODULE-IDENTITYの前になるのが問題です。

   jemaUpsMIB MODULE-IDENTITY
       LAST-UPDATED "200102070000Z"
       ORGANIZATION "JEMA UPS MIB Working Group"
       CONTACT-INFO
              "        Hiroshi Inoue

                Postal: The Japan Electrical Manufacturers' Association
                        JAPAN

                   Tel: +81-3-3556-5884
                   Fax: +81-3-3556-5892

                E-mail: hiroshi_inoue1@jema-net.or.jp"
       DESCRIPTION
               "The MIB module to describe Uninterruptible Power
               Systems."
       ::= { enterprises 4550 1 }

のように変更すれば、読み込めるようになりました。

オリジナルと同じように間違った定義でも寛容に読み込めるようにしたほうがよいのか悩んでいうるうちに時間切れです。
明日

のソースコードをもう少し調べてみようと思います。

明日に続く

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。