YubiKeyとSSH – FreeBSD

macOS Ubuntu に続いてFreeBSD12でed25519-sk鍵タイプを試していきます。

続きを読む

YubiKeyとSSH ed25519-skをmacOSとUbuntuとFreeBSDとCygwinで

しばらくぶりの鍵周りの整理でOpenPGP(GnuPG)の暗号用鍵を更新したり、フォールバック用に長いこと残しっぱなしにしていたOpenSSHのRSAの公開鍵を消して回っているなどしている時に、だいぶ前の話のようですがOpenSSH 8.2FIDO U2Fがサポートされ、ed25519-skおよびecdsa-skなる-skが付いた鍵タイプが追加されたという話にたどり着きました。

FIDO U2Fということは黒いYubiKey 5 NFCシリーズ(PDF)ではなくて、青いSecurity Keyシリーズ(PDF)でもOKということになことになります。これは試さねば! というわけでmacOSとUbuntuとFreeBSDとCygwinで試してみました。

続きを読む

ドメインごとのDNSサーバ指定 macOS, Windows, 他

プライベートな名前の解決やマルチホーミングのお供に。所謂split DNSをクライアント側で設定してみます。systemd-resolved含めて普通のOSは接続ごとのDNSサーバと検索ドメインをみて良きに処理してくれます。一方で接続切れた時に内部用の名前を外に流したくないとか、ちょこっとテストしたいとかいう場面もあります。毎回ググって情報にたどり着くのがめんどくなったので備忘です。IPのルーティングは別途必要。懐かしいですがフレッツのサービス情報サイトの.fletsとかもそうですね… Root Zone Database 流石に確保してないですか。.nttは復活してたのですね。

続きを読む

RECV/CQ: Invalid WhiteTable code word, row 0, x 0

2017/5/22追記: libtiff本家から2017/5/22に4.0.8がリリースされたので、順次libtiffが4.0.8にアップデートされていけば以下の問題は発生しなくなるのでしょう。


与信を通過しましたとか、(情報) 統合思念体(ってなんだか知らないけどなんか納得)様からのFAXがしばらく来てませんでしたがFAXが必須な仕事でも無く、電話番号とTSIの一覧はエラーも含めてすべて毎日自動的に送られてくるので必要なものかどうかは一目瞭然なのと、そもそも必要ならば別のコンタクト手段がいくらでもあるので気付かないふりを継続していました。しかしついに年に1,2回のFAXを受けないといけない場面に出くわし、届かないので詳細ログを確認したところ、FAXサーバのlibtiffが4.0.7にアップグレードされた2016年の暮れ頃から3ヶ月以上FAXが正常受信されずに 続きを読む

ntpd – PPS discipline まずは普通に較正 編

A/Dコンバータでも作ろうかと秋月でセンサーを覗いているとGPS受信機キット 1PPS出力付き 「みちびき」対応 [AE-GYSFDMAXB]なるGPSが2,200円、こっちに目を奪われました。

出力データ形式
NMEA0183V3.01準拠
電源電圧
DC5V(3.8V~12V)
入出力信号レベル
C-MOSロジック(3.3V)
UART通信速度
9600bps(デフォルト)、4800~115200bps
1PPS出力
精度±10ns C-MOSロジック(3.3V)レベル,パルス幅:100mS(アクティブLow)

いー感じです。 続きを読む

Notable Changes in NSS 3.27 CA certs. - Removal of 'Equifax Secure Certificate Authority'

某メールサーバ宛TLSでエラー発生

確認してみます。

3つ送られた証明書の最後の証明書のi:のCA証明書が無いのでエラーになっているようです。確かにNSS 3.27で削除された(コード)ようですが念のためコピペして食わせて確認してみます。 続きを読む

bruteblock – 非公式IPv6パッチ

キエフ発のbruteblockはSSHのbrute-force攻撃対策で参照されることが多いようですが、標準入力を読んでipfwのテーブルに追加(bruteblock)してくれ、テーブルから決められた時間経過後に削除(bruteblockd)してくれるというシンプルな作りのおかげで使い道は無限大、自分次第あなた次第、SMTP-AUTH, IMAP4へのあくなき挑戦や、公開していないポートへのアクセスなど、好きなトリガーを設定するだけです。

Apache HTTPDのCustomLog directiveはpiped logを出力できますし、SSHでの利用例のようにsyslogdもパイプに出力できるのでsyslogを吐くプログラムならば何でもbruteblockを利用できることになります。

続きを読む

EPSONプリンタ用 epson-201203j Linux向けCUPSドライバをFreeBSDで使ってみる

PostScriptプリンタが壊れ、つなぎに急遽エプソンのPX-435Aという、有線LAN無し、新しく入れ替えたインクを普通の文字だけの文書でも秒速で使い果たすという大食漢なプリンタを、アクセスポイントとの相性なのか無線LAN接続がいまいち安定しないので、長いことご無沙汰なUSB接続で使用するというお遊びをしてみます。

まずCUPS(print/cups-base)

lprで使えれば十分なのでZeroconfは無視します。
libusbを使う場合はulptなど他のドライバがロードされていない状態の素のugenであることが重要とpkg-messageに書かれていて、しかしこのプリンタはUSB接続した瞬間にulptどころかSDカードリーダでumassまでロードされて後で何かとめんどそうなので、逆にulptを使用してlibusbを使用しない方向に。

とかいうknobにしておいてくれれば良いのかも。いろいろな環境ではそう簡単な話じゃないのだとは思うけど。というわけでlibpaperとGhostscriptとD-Busを選択し、一方libusbの選択はされていない状態でインストールしてみます。

http://127.0.0.1:631/にアクセス。ちゃんとlocalhostだけでlistenしていて、デフォルト設定でいきなり普通に動作している模様。うれしい。

続いてCUPS用ドライバ。GutenprintにPX-401Aはあるものの、まだPX-435Aは載っていませんでした(2013/7/5)。他のモデルやGenericなESC/P系でいけるのだろうと思うも試行錯誤がありそう。OpenPrntingのwebサイトによるとrpmやらdebやらがあるようなので、それにしてみることに。FreeBSDのlinuxulatorはFedra 10(なんと)の対応のパッケージが多いようなので、emulators/linux_base-f10をインストール。

なるほど。

epson-inkjet-printer-201203j-1.0.0-1lsb3.2.i486.rpmをダウンロードして、’package epson-inkjet-printer-201203j is not relocatable’だそうなのでrpm2cpioですごく変な場所に書きこまれてしまうものがないことを確認してからインストールしてみます(今思えばそのまま/compat/linux下にcpioで展開して、/optにsymlinkすればよかったです…)。

  • フィルタ: /opt/epson-inkjet-printer-201203j/cups/lib/filter/epson_inkjet_printer_filter
  • PPD(gzip): /opt/epson-inkjet-printer-201203j/ppds/Epson/Epson-PX-435A_Series-epson-driver.ppd.gz

のようです。

lsbなんじゃそりゃ、とほこりをかぶったUbuntu機で確認。なるほど、いろんなディストロ向けのパッケージングをしやすくするためのものですか。えいっ、

あとはたんたんと繰り返し。

ふつうのユーザでフィルタを実行してみる

ダイナミックリンクは解決してちゃんと動作してエラーを出力。結果的にLSB 3.2なるものがFedra 10との相性抜群なおかげもあってportsで全部済み、ありがたいことこのうえないです。stringsで覗いてコマンドは呼び出していなさそうなので、これでOKなはず。

http://127.0.0.1:631/で、Find New Printersでは無線LANの接続だけが見つかるので、Add Priterを押し、Local Printers ‘USB Printer #1’ で追加。Or Provide a PPD File:に先ほどの /opt/epson-inkjet-printer-201203j/ppds/Epson/Epson-PX-435A_Series-epson-driver.ppd.gz を指定してAdd Printer。デフォルト設定をしてからPrint Test Pageであっさり印字されました。linuxulator を動かす分の手間だけで、本当にいい世の中になったものです。

続いて他の*BSD機でも使えるようにとman cups-lpdするとinetd経由で呼ぶのが吉とのこと。inetdで起動しているものは何もなかったので、/etc/inetd.confが変なもの起動しないことを確認、/etc/hosts.allow(TCP wrapperの作者は今はPostfixで有名なWietse Venemaさんですね)を適切に指定してからinetdを起動するようにします。そしてCUPSが自動生成したprintcapを見ておきます。

他の*BSD機にはCUPS不要でlpdが動いていなければ動かすだけ、例えば、

そして先ほどのサーバ側のprintcapを素の/usr/bin/lprが見てくれる/etc/printcapに追記します。

他に使えるプリンタがないので lp にして引き数無しで使えるデフォルトにし、バナーは不要なので sh を追加します。webブラウザから印刷でlprしてみたところさくっと印刷してくれました。めでたしめでたし。

おまけ。せっかくCUPSいじったので、横でネットワークにつながっ
ているCITIZEN CT-S300のドライバ追加してみます。 ctzpos-cups-1.1.0-0.src.rpm というsource rpmがあるので、こちらはそのままいけそうです。

これで

  • CT-S280
  • CT-S281/281L
  • CT-S300
  • CT-S310
  • CT-S2000/2000L
  • CT-S4000
  • CT-S601/S651
  • CT-S801/801L
  • CT-S851
  • PPU-700
  • CT-P29X
  • CBM1000
  • CD-S500
  • PMU22XX
  • PMU23XX

がFreeBSDのCUPSでも使えるはず。うちのCT-S300は’Find New Printers’で見つかり、自動的に socket://xxxxxxxx になりました。ポートが明示されていない場合のデフォルトポートは9100の模様です。そのまま追加完了して、デフォルト設定を74mm x 2000mmにしたら、えらい長いテストページの左端だけが出てきました…

unzip: ZIP decompression failed (-3) unzip fails to extract password protected archive

パスワードつきzipのunzipで表題のようなエラーが出るときがあります。

which unzip するとわかりますが、今時の FreeBSD は /usr/bin/ に unzip がいて、これは archivers/unzip の ports から /usr/local/bin/ にインストールされる Info-ZIP の unzip とは別物です。というわけで

/usr/local/bin/ を指定してめでたしめでたし。

archiver/php5-zip (pcre.h: No such file or directory)

devel/php5-pcre (port directory error)の記事を書いてから早1年半以上たったところで思わぬ事態に遭遇。archiver/php5-zipのmake中に

In file included from /usr/ports/archivers/php5-zip/work/php-5.3.8/ext/zip/php_zip.c:30:
/usr/local/include/php/ext/pcre/php_pcre.h:29:18: error: pcre.h: No such file or directory

/usr/local/include/pcre.h はあるので、よく見ると -I/usr/local/include が無いです。configure がおかしかったことになるので config.m4 と config.log を見ると、 PHP_PCRE_DIR に /usr/local が指定されるところまでは正常、その後

をプリプロセッサに渡して出来上がりに yes があるかという条件判定で PHP_PCRE_REGEX=no になってしまっています。php/main/php_config.h は php/ext/php_config.h を読み込み、さらに php/ext/pcre/config.h を読んでいます。そこには #define COMPILE_DL_PCRE 1 の行が。というわけで1年半前のports/UPDATING の指示は微妙に作業が足りていないようです。/usr/local/php/ext/php_config.h に、必要の無い行がある場合は削除します(pcre spl以外は実際に存在していたか特に確認していません)。

間違いの無いようにファイルも

とでもしてリネームしておきます。最後に

あたりをしておけば安心です。ふぅ。/usr/ports/UPDATINGとしては1.5)を追加して

とでもなりましょうか。

FreeBSD ACPI acpi_tz0: _CRT value is absurd, ignored (256.0C)

HP Compaq nx6320/CT Notebook PC(ノートPC)にFreeBSDをぶち込んだところ表題のメッセージが出続けます。absurdですか、そうですねハンダが溶けそうです。acpi(4) と SEE ALSO の acpi_thremal(4) が関係ありそうです。 hw.acpi.thermal.tz%d._CRT は致命的なのでシャットダウンする温度だそうな。上書きできると書いてありますが、実は一瞬できるように見えるだけですぐにもとの値に戻るようです。 hw.acpi.thermal.polling_rate を 0 にしてポーリングを止めてしまうという荒技だと猛暑のときに機械が壊れそうなので、こちらacpi_tz0: _CRT value is absurd, ignored (256.0C) (was pr kern/105537) FIX?のようにしてみます。

中身を眺めると、 ThermalZone (TZ0) の中が記事で参照しているところと同様のようです。単位は0.1Kのようなので、90℃=363.15K=3631.5*0.1K を返すようにしてみます。

これを元に

あとはハンドブックの通りに /boot/loader.conf に以下を追加。

リブートして表題のメッセージは止まりました。よかったよかった。

タイムゾーンのオフセット+09:18:59 はて、18:59はなんぞや?

いろいろ検索したつもりでしたが、実は :18:59 timezone と検索することで先人の方々のサイトがヒットし、Google先生がいれば誰でも天才ということで表題の件は簡単に速攻で解決できたことがわかりました。しかしせっかく書いたので恥ずかしながら公開しておきます…

続きを読む

devel/libltdl22 (port directory error)

portupgrade中

毎度おなじみ/usr/ports/UPDATING を見ると、バージョン付きでなくなったものがいろいろあるようです。

で置き換えるように指示されていますが、多くの人がビルド専用でしょうから

で十分かも。