[ 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 ]
2012-12-28: 久々に最新のスナップショット (12/24) に更新した。
2012-12-24: 青空文庫の本、kindle ストアの「無料本」にあった... 気づかなかったよ ... 休日返せ :)
2012-12-22: 青空文庫を Kindle で読む場合、XHTML 直接読めばほとんど ok なのに、素直に縦書き右綴じにする仕組み / サイトがないっぽいので、スクリプト作ってしまった。 http://github.com/yasuoka/aozoraxhtml2mobi/ 変換結果はこちら
- kindlegen が OpenBSD で動けば、CGI にしたんですが...
2012-12-20: mouse の wheel 操作が 1page 分の up/down になっているようで、多すぎでつらい。どこで設定すんだろ
2012-12-15: emacs での × の表示幅の問題 で、 m8a さんからコメントをいただき 、 解決した。
ありがとうございます。.emacs は、
34 (set-fontset-font "fontset-default" '(#x0000 . #x007f) "DejaVu Sans Mono:pixelsize=12") 35 (set-fontset-font "fontset-default" '(#x0100 . #xffff) "IPAゴシック:pixelsize=14") 36 (set-fontset-font "fontset-default" '#xd7 "IPAゴシック:pixelsize=14") 37 (when window-system 38 ; (set-frame-font "-*-fixed-medium-r-normal--14-*-*-*-*-*-iso10646-1") 39 (set-face-font 'default "fontset-default") 40 ) 41 (set-fontset-font nil '#xd7 "IPゴシック:pixelsize=14")
となっている。
34 〜 36 行めのように単に 0xd7 のフォントを指定すればよい、 というだけではなく 41 行めが必要だった。41 行目で指定するフォントは、 なんでもよく hogehoge でも結果は一緒だった。 なにかの秘孔をついているんでしょうか... 似た現象は、 http://listserv.linux.or.jp/pipermail/vine-users/2011-April/000767.html にも報告されている。
2012-12-14: tmux で break-pane した pane を取り戻すことできないんだろうか
2012-12-13: BSD でネットワーク関連の開発をしたいという方、こっそり連絡ください。
2012-12-13: [[ ]] を知らずにシェルプログラミングしてた... 超便利じゃん。
2012-12-11: 16:00 ぐらいからゲートウェイの relayd が暴走してた。まずは 5.2 にしなくちゃ。
2012-12-08: 『アフター・アワーズ2』山中千尋 と 『The Christmas Song』NOKKO が freedb 未登録だったので cddb-submit で 登録しておいた。
2012-12-07: ×の表示幅が半角なのに悩む。LANG=ja_JP.UTF-8 なんだけど。
2012-12-05: ryosukey の tweet https://twitter.com/nappa/status/276120963014356992 からだけど、無線LAN同士の干渉を考える はとてもわかりやすい
2012-12-05: VMWare などの仮想環境では、送受信する MAC アドレスが制限されているため、VRRP で利用する仮想 MAC アドレスが利用できない場合がある。この場合、VRRP で、仮想 MAC ではなく実 MAC を使ってしまうことで回避することができるが、OpenBSD ではどうやるか?
OpenBSD の場合では、carp が利用する MAC アドレスを自由に設定できるので、
% ifconfig vic1 vic1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:0c:29:aa:bb:cc priority: 0 media: Ethernet autoselect status: active inet 10.0.XXX.11 netmask 0xffffff00 broadcast 10.0.XXX.255 inet6 fe80::20c:29ff:feaa:bb:ccvic1 prefixlen 64 scopeid 0x2
で VRID 101、仮想 IP 10.0.XXX.71/24 で VRRP する場合は、上記の lladdr を使って
% sudo ifconfig carp0 create 10.0.XXX.71/24 vhid 101 lladdr 00:0c:29:aa:bb:cc % ifconfig carp0 carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:0c:29:aa:bb:cc priority: 0 carp: MASTER carpdev vic1 vhid 101 advbase 1 advskew 0 groups: carp status: master inet 10.0.XXX.71 netmask 0xffffff00 broadcast 10.0.XXX.255
と設定すれば良い。(2013-02-18 追記。これはガセ。これだけだと、carp の広告パケットの HMAC の計算が合わずに、全ノードがマスタになってしまう。 hack-2013.html#d20130218-0 )
2012-12-01: emacs での等幅フォントについて、 tamo さんにコメントをいただいた
単に IPA ゴシックを 14px にするだけでは、ASCII 部分が別のフォントにフォールバックされた場合にズレてしまうっぽいので、ASCII 部分は 12px とするとぴったりうまくいった
.emacs:
(set-fontset-font "fontset-default" '(#x0000 . #x00ff) "DejaVu Sans Mono:pixelsize=12") (set-fontset-font "fontset-default" '(#x0100 . #xffff) "IPAゴシック:pixelsize=14") (when window-system ; (set-frame-font "-*-fixed-medium-r-normal--14-*-*-*-*-*-iso10646-1") (set-face-font 'default "fontset-default") )
k14 の問題ほうも、unicode フォントとして k14 を使うと問題を回避できるようだ。上記の .emacs のコメントアウトしている -*-fixed ... がその設定。 めでたしめでたし。
2012-12-01: ついでに xterm も dejavu + ipa gothic にしてみた
2012-11-29: mew の問題は emacs の問題で、font として k14 を使おうとした場合に限って発生することがかわかった。 IPA ゴシックを使えば問題を回避できるが今度は表示幅がズレる問題がある。14px だとズレが最小なので、それで暫く我慢する。
2012-11-28: mew 一部の日本語のメールの表示が超遅い という話は、こんな感じ。ps コマンドを 1 秒ごとに実行した結果
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND yasuoka 16970 10.9 2.0 40484 61816 p3- S 20Nov12 29:08.58 emacs : yasuoka 16970 10.4 2.0 40484 61816 p3- S 20Nov12 29:08.58 emacs yasuoka 16970 10.2 2.0 40540 61820 p3- R/0 20Nov12 29:09.07 emacs yasuoka 16970 14.6 2.0 40540 61820 p3- R/0 20Nov12 29:10.10 emacs yasuoka 16970 18.8 2.0 40540 61820 p3- R/0 20Nov12 29:11.12 emacs yasuoka 16970 22.8 2.0 40540 61820 p3- R/0 20Nov12 29:12.15 emacs yasuoka 16970 26.6 2.0 40540 61820 p3- R/1 20Nov12 29:13.17 emacs yasuoka 16970 30.1 2.0 40540 61820 p3- S 20Nov12 29:13.81 emacs yasuoka 16970 29.5 2.0 40540 61820 p3- S 20Nov12 29:13.81 emacs
STAT が R になっている時に、「日経」なんとかからの DM を表示しようとして、5 秒ぐらい待たされているとき。
2012-11-27: samba 3.6.6p0 on OpenBSD 5.2 の IPv6 の問題を修正するパッチ 0001-fix-checking-HAVE_GETADDRINFO.patch 既に本家が直ってたりしないかチェックしてから次のアクション考えるが、今は時間なし。
2012-11-26: samba 3.5.10 on OpenBSD 5.0 -> samba 3.6.6p0 on OpenBSD 5.2 にしたら IPv6 が使えなくなったかんじ
2012-11-24: wpi 定期的に数秒のパケロスが発生しはじめ、最終的に association にも失敗するようになり、以下のメッセージ。 suspend resume すると復活するのだが...
wpi0: fatal firmware error firmware error log (count=1): error type = "SYSASSERT" (0x00000005) error data = 0x00000074 branch link = 0x000008B600000274 interrupt link = 0x0000032000003560 time = 719043695 driver status: tx ring 0: qid=0 cur=41 queued=0 tx ring 1: qid=1 cur=0 queued=0 tx ring 2: qid=2 cur=0 queued=0 tx ring 3: qid=3 cur=0 queued=0 tx ring 4: qid=4 cur=86 queued=0 tx ring 5: qid=5 cur=0 queued=0 rx ring: cur=59 802.11 state 4
2012-11-24: ゴッドランドの経済学 と プログラマが他のいかなる職業とも決定的に異なる理由は「誰にでもできるつまらない仕事」の生産性にある
2012-11-22: openbsd のサーバにつながらんと思ったら、opebsd とタイポしてた。しかもドメインオーナーは (略)
2012-11-21: dhcp でもらった dns サーバを使わない設定 /etc/dhclient.conf
ignore domain-name, domain-name-servers, host-name;
そして /etc/resolv.conf.tail に使いたい /etc/resolv.conf を書いておく resolv.conf を書き換える場合は、/etc/resolv.conf.tail と /etc/resolv.conf の両方に対して行う必要があり、面倒くさい
2012-11-17: YAML is a superset of JSON? http://fleur.hio.jp/perldoc/mix/lib/JSON/XS.html#JSON_Xe3X81Xa8_YAML の注釈があつい。
2012-11-17: https://github.com/yasuoka/yaml2json 晒してみた
2012-11-16: lib/libc/yp って theo さんが書いてたのか。知らなかった。
2012-11-12:
lib/libutil/imsg.c の imsg_read() より:
72 again: 73 if (getdtablecount() + imsg_fd_overhead + 74 (CMSG_SPACE(sizeof(int))-CMSG_SPACE(0))/sizeof(int) 75 >= getdtablesize()) { 76 errno = EAGAIN; 77 return (-1); 78 }
SCM_RIGHTS でソケットを受け取る際に EMFILE で失敗するケースを未然に EAGAIN にするコードに見える。この場合ファイルディスクリプタは読み込み可能 なままなので、imsg_read() がループするのではないかと思うが違うのか?
2012-11-12: npppd で pidfile(3) を使おうと思ったが、よく考えると chroot しているので、/var/run にアクセスできないのだった。
2012-11-11: 自分のモバイル環境が /sbin/dhclient-script 無し版になった。 実は自前の dhclient-script を使っていたんだけどなんとか対応した。
2012-11-08: サーバ監視 http://www.cman.jp/network/ を使い始めた
2012-11-01: まもなく 5.2 release か
2012-11-01: メーリングリストの運用方針が変更され、メンバーまたは "alias" じゃないと投稿できなくなるっぽい。 http://marc.info/?l=openbsd-announce&m=135169849021403&w=2
2012-10-30: smtpd が writev() で EAGAIN する問題 について、tamo さんからコメントいただいた 。ワークアラウンドは、 これ 。
2012-10-27: resume は 10/24 まで進んでも解決しないので、いくつかの suspend/resume 関連の変更を backout してみて様子見中
2012-10-25: 10/8 ごろの -current は、おれ vaio (vgn-sz94s) で resume 後に panic する。USB 関連で修正が入ったので 10/24 まで移動して様子見中
2012-10-23: mew 一部の日本語のメールの表示が超遅い。なんだろ。
2012-10-17: OpenBSD/amd64 は com2, com3 が組み込まれてないが config(8) を使えば、カーネル再コンパイルなしに利用することができる
2012-10-17: chromium-21 にして以後、クラッシュして再起動後に以下のようなメッセージで chromium が起動しなくなる問題が発生するようになったが、rm ~/.config/chromium/Singleton* すると起動できる。
% chrome terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct null not valid %
2012-10-12: 昨晩ふと気づいたら smtpd (5.1 相当) が止まっていた件
対症療法的に、head から以下の修正を見つけて apply:
--- mta_session.c (revision 138369) +++ mta_session.c (working copy) @@ -540,6 +540,7 @@ void *ssl; struct envelope *evp; struct mta_task *task = TAILQ_FIRST(&s->tasks); + ssize_t q; switch (s->state) { @@ -626,6 +627,21 @@ mta_enter_state(s, MTA_SMTP_BODY); break; + case MTA_SMTP_BODY: + if (s->datafp == NULL) { + log_trace(TRACE_MTA, "mta: %p: end-of-file", s); + mta_enter_state(s, MTA_SMTP_DONE); + break; + } + + if ((q = mta_queue_data(s)) == -1) { + mta_enter_state(s, MTA_DONE); + break; + } + + log_trace(TRACE_MTA, "mta: %p: >>> [...%zi bytes...]", s, q); + break; + case MTA_SMTP_DONE: mta_status(s, 0, line); mta_enter_state(s, MTA_SMTP_READY);
2012-10-12: chromium ので文字化け の問題続き
tamo さんからコメント
をいただいた件を調べてみたが、どうも
本来 IPAPGothic -> DejaVu Sans などにフォールバックしていたものが、
chrome 側の変更により、そう動作しなくなったのが原因のようだ。
http://code.google.com/p/chromium/issues/detail?id=121461 に問題
としてレポートされている。また、
https://github.com/chitsaou/no-per-script-font/blob/master/README-en.md
は、その問題を回避する「拡張機能」のようだ。
2012-10-06: chromium ので文字化け の問題はまだ深いようで、IPAPGothic を選択するようになっても、今度は、IPAGothic に含まれない Latin 系の記号が化けるようになってしまった
2012-10-05: OpenBSD/vax を入れてみたけど、boot 中に panic してしまう
仕方がないので vax@openbsd.org にレポートしてみた。
http://marc.info/?l=openbsd-vax&m=134949373601315&w=2
2012-09-29: chromium で文字化け
package で chromium-21.0.1180.89 にバージョンアップしたら、
日本語が文字化けするようになった。chrome://chrome/settings/fonts
を開き、各種フォントを IPA フォントにするとおおよそ直る。
しかし一部のページで依然としてダメで、たとえば以下は、google
の検索結果のページで、
「検索」と表示されるべき箇所が文字化けしていることがわかる。
この文字化けしている箇所は、「検索」という日本語を font-family を Arial で表示しようとしているようだ。いっぽうで、OpenBSD の環境での Arial フォントは日本語の文字が含まれていないので、上のように □□ となってしまっているようだ。
解決方法としては、~/.fonts.conf で Arial を IPAPGothic などに代替すればよいのでは? と思ったが単純にそうはいかなかった。 OpenBSD で、Arial は /etc/fonts/conf.d/31-nonmst.conf により:
28 <match target="pattern"> 29 <test qual="any" name="family"> 30 <string>Arial</string> 31 </test> 32 <edit name="family" mode="assign"> 33 <string>DejaVu Sans</string> 34 </edit> 35 </match>
と DejaVu Sans が割当たっているが、このファイル名が 31- となっているのがクセモノで、50-user.conf よりも少ない数字が割当たっているため、~/.fonts.conf での定義よりも優先されてしまうようだ.... ひとまず:
# mv /etc/fonts/conf.d/50-user.conf /etc/fonts/conf.d/00-user.conf
として、~/.fonts.conf で上書きできるようにして解決した。 最終的にどうすべきかは、もっと考える必要がある。
2012-09-26: this page was mentioned at misc@
http://marc.info/?t=134852697600005&r=1&w=2 .
2012-09-18: /etc/changelist ってなに? (後で調べる)
2012-09-15: n2k12 用のミュンヘンのホテルを予約したのに、確認のメール来ない
と思っていたら、 smtpd が IO error で失敗する件
でエラーになっていた。この件は、kqueue(2) か event(3) のバグという指摘を
eric@ さんから貰っていてすっかり忘れていた orz。 rc スクリプトを
--- etc/rc.d/smtpd Tue Jul 3 13:05:23 2012 +++ /etc/rc.d/smtpd Sat Sep 15 14:35:17 2012 @@ -2,7 +2,7 @@ # # $OpenBSD: smtpd,v 1.2 2011/09/20 15:14:34 robert Exp $ -daemon="/usr/sbin/smtpd" +daemon="env EVENT_NOKQUEUE=1 /usr/sbin/smtpd" . /etc/rc.d/rc.subr
と手当てして運用中。
2012-08-17: cvs から git への変換は http://github.com/jcs/bigcvs2git/ で決まり
2012-08-17: しかし jcs@ さんの https://jcs.org/ って Web 的にすげーな。多才で羨ましい
2012-07-26: kernel の clock の offset まわりってなんか変わったんだっけ?
2012-07-23: calendar.html の CGI、OpenSMTPD にしてから動いてなかった
2012-07-17:
2012-07-15:
2012-07-13: g2k13 7日め
2012-07-13: npppd の core の吐かせ方
# sudo mkdir -p ~_ppp/var/crash # sudo chmod 1777 ~_ppp/var/crash # sudo sysctl kern.nosuidcoredump=2
2012-07-11: g2k13 5日め
2012-07-09: g2k13 3日め
2012-07-08: g2k13 2日め
2012-07-07: hackathon 参加のため Budapest, Hangary へ
2012-07-05: 普段つかってる xterm で「→」が表示できてないことに今気づいた..
2012-07-05:
OpenSMTPD + mailman を使おうと思った場合、
/usr/local/lib/mailman/mail/mailman が gid=daemon を期待しているので、
そのままでは動かない。とりあえず vi でバイナリを書き換えて対応。
2012-07-05:
カレンダー屋としては、注目の記事 > 振り替え休日:土曜祝日なら3連休に 政府検討
2012-07-04: 身の回りのメールサーバの OpenSMTPD をすすめている件
OpenSMTPD は STARTTLS 可能ならば STARTTLS するのだが、STARTLS
すると反応しないサーバあり、そのドメインに配送できない。わりと大手企業。
こういう場合、先方が直してくれるものなのか、勉強不足でわからない。
場合によっては、opensmtpd 側でなにか実装すべきなのかもしれない。
とりあえず、手元のサーバは STARTTLS しないようにワークアラウンド。
--- mta_session.c (revision 138233) +++ mta_session.c (working copy) @@ -693,8 +693,9 @@ /* read extensions */ if (s->state == MTA_SMTP_EHLO) { - if (strcmp(msg, "STARTTLS") == 0) - s->ext |= MTA_EXT_STARTTLS; + if (strcmp(msg, "STARTTLS") == 0) { + //s->ext |= MTA_EXT_STARTTLS; + } else if (strncmp(msg, "AUTH", 4) == 0) s->ext |= MTA_EXT_AUTH; else if (strcmp(msg, "PIPELINING") == 0)
それと、配送がちんたらいていると、150 IO error となる件。write が EAGAIN になるとあきらめてしまっているので、とりあえず EV_WRITE を空振りする修正:
Index: ioev.c =================================================================== --- ioev.c (revision 138233) +++ ioev.c (working copy) @@ -523,11 +523,12 @@ if (ev & EV_WRITE && (w = io_queued(io))) { if ((n = iobuf_write(io->iobuf, io->sock)) < 0) { - io_callback(io, n == IOBUF_CLOSED ? - IO_DISCONNECTED : IO_ERROR); - goto leave; - } - if (w > io->lowat && w - n <= io->lowat) + if (n != IOBUF_WANT_WRITE) { + io_callback(io, n == IOBUF_CLOSED ? + IO_DISCONNECTED : IO_ERROR); + goto leave; + } + } else if (w > io->lowat && w - n <= io->lowat) io_callback(io, IO_LOWAT); }
どちらももう少し考えて、開発元に報告予定。
2012-07-02: このページのレイアウト変えてみた
2012-07-02: 4.9-beta を 5.1 にバージョンアップ
一年ぐらい安定して動作していた:
$ uptime 5:02PM up 288 days, 5:01, 1 user, load averages: 0.13, 0.10, 0.08 $ sysctl kern.version kern.version=OpenBSD 4.9-beta (GENERIC) #439: Thu Jan 20 17:15:16 MST 2011 todd@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC
OpenBSD のバージョンアップは、1 バージョンずつ行うのが決まり。 4.9、5.0、5.1 と一つずつバージョンアップしていく。バージョンアップ手順は、 各バージョンごとに用意される Upgrade Guide にしたがう。sysmerge の操作方法を理解するのが少し難しい。
# sysctl kern.version kern.version=OpenBSD 5.1 (GENERIC) #181: Sun Feb 12 09:35:53 MST 2012 deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC
2012-07-02: OpenSMTPD 使ってみる
配送を行わず送信しか行わない OpenBSD でホストで切り替えるのは、
いたって簡単。smtpd(8) に書いてあるとおりの手順を実行するだけで ok だった。
デフォルトでは最低限の安全な設定になっていて、余計なポートを open
したりしないので安心。
$ fstat | grep 'smtp.*internet' _smtpd smtpd 29215 4* internet stream tcp 0xfffffe801d31cd30 127.0.0.1:25 _smtpd smtpd 29215 6* internet6 stream tcp 0xfffffe801d31cb00 [fe80::1%lo0]:25 _smtpd smtpd 29215 7* internet6 stream tcp 0xfffffe801d7e7468 [::1]:25
2012-06-30:
touch pad が動かない問題は、 http://marc.info/?l=openbsd-bugs&m=134097940126216&w=2 で直った。
2012-06-25:
snapshot を更新したら X で touch pad が動かなくなった。
いろいろと調べてみたところ、
http://marc.info/?l=openbsd-bugs&m=133999852829359&w=2 と同じ問題で、
http://marc.info/?l=openbsd-cvs&m=133952780913665&w=2
をバックアウトすると直る。
2012-06-24:
comment_subr.c とかのコメント CGI。CGI で ' ' が + にエンコードされることを忘れてたり、CAPTCHA のチェックがエンバグして NULL が valid になっていたりしたので直した...
2012-06-20:
"Quick look at OpenSMTPD on OpenBSD 5.1":
http://www.tumfatig.net/20120618/quick-look-opensmtpd-openbsd-5-1/
すげー簡単そう。
2012-06-11:
山中千尋のアルバム『スティル・ワーキング』 が届いた。freedb 未登録だったので cddb-submit で 登録しておいた。
2012-06-06:
OpenBSD 5.0/amd64 (GENERIC.MP) + emacs-23.3p2 がハングする現象が発生
ktrace すると poll -> gettimeofday -> poll を繰り返していることがわかった。 ps の %CPU は 99% とかだが、CPU TIME は 0 秒台である点も不思議。再現性 100% だったが、再起動したら直ってしまった。
2012-05-30:
msms.diff に
+ if (uaa->vendor == USB_VENDOR_MICROSOFT && + uaa->product == 0x745) { + for (i = 0; i < id->bNumEndpoints; i++) { + ed = usbd_interface2endpoint_descriptor(iface, i); + ed->bInterval = 10; + } + }
という変更が含まれている。(10 を代入する前の bInterval の値は 1 とか 4) これは:
uhci2: host controller process error uhci2: host controller halted
というエラーがでて uhci の動作が止まってしまう問題が発生していて、google った結果 http://us.generation-nt.com/patch-hid-core-configurable-usb-hid-mouse-interrupt-polling-interval-help-179626311.html という記事を見つけ、思いついた修正。効果はある。効果はあるが、なんで効果があるのかわからない...
2012-05-24:
Microsoft Wireless Mobile Mouse 3500 がとりあえず動くようになった
diff → msms.diff 。
2012-05-19:
Microsoft Wireless Mobile Mouse 3500 というのを買ったが、OpenBSD で動かない。
NetBSD では動くのだが...
2012-05-15:
CUPS 使う必要ないのか http://marc.info/?l=openbsd-misc&m=133706518113146&w=2
2012-05-14:
Android L2TP/IPsec トンネル内の TCP がおかしい:
12:35:50.235719 10.0.0.43.44265 > 10.0.0.1.80: S 2846766254:2846766254(0) win 5040 <mss 1248,sackOK,timestamp 5398432 0,nop,wscale 1> (DF) 12:35:50.235749 10.0.0.1.80 > 10.0.0.43.44265: S 2199195960:2199195960(0) ack 2846766255 win 16384 <mss 1260,nop,nop,sackOK,nop,wscale 3,nop,nop,timestamp 2597316971 5398432> (DF) 12:35:50.654491 10.0.0.43.44265 > 10.0.0.1.80: . ack 1 win 2520 <nop,nop,timestamp 5398468 2597316971> (DF) 12:35:51.711359 10.0.0.43.44265 > 10.0.0.1.80: P 1:517(516) ack 1 win 2520 <nop,nop,timestamp 5398468 2597316971> (DF) 12:35:51.711640 10.0.0.1.80 > 10.0.0.43.44265: . 1:1237(1236) ack 517 win 2163 <nop,nop,timestamp 2597316974 5398468> (DF) ..... (a) 12:35:51.711670 10.0.0.1.80 > 10.0.0.43.44265: P 1237:2232(995) ack 517 win 2163 <nop,nop,timestamp 2597316974 5398468> (DF) 12:35:52.122338 10.0.0.43.44265 > 10.0.0.1.80: P 1:517(516) ack 1 win 2520 <nop,nop,timestamp 5398576 2597316971> (DF) 12:35:52.122362 10.0.0.1.80 > 10.0.0.43.44265: . ack 517 win 2163 <nop,nop,timestamp 2597316975 5398576> (DF) ..... (b) 12:35:52.360947 10.0.0.43.44265 > 10.0.0.1.80: . ack 1237 win 3768 <nop,nop,timestamp 5398664 2597316974> (DF) .... (c) 12:35:52.381020 10.0.0.43.44265 > 10.0.0.1.80: . ack 2232 win 5004 <nop,nop,timestamp 5398665 2597316974> (DF) 12:35:52.460760 10.0.0.43.44265 > 10.0.0.1.80: P 517:1057(540) ack 2232 win 5004 <nop,nop,timestamp 5398667 2597316975> (DF) 12:35:52.460955 10.0.0.1.80 > 10.0.0.43.44265: P 2232:2601(369) ack 1057 win 2163 <nop,nop,timestamp 2597316976 5398667> (DF) 12:35:52.659641 10.0.0.43.44265 > 10.0.0.1.80: . ack 2601 win 6240 <nop,nop,timestamp 5398690 2597316976> (DF)
OpenBSD の ipsec は、たくさんのソケットオプションをもっている:
#define IP_AUTH_LEVEL 20 /* int; authentication used */ #define IP_ESP_TRANS_LEVEL 21 /* int; transport encryption */ #define IP_ESP_NETWORK_LEVEL 22 /* int; full-packet encryption */ #define IP_IPSEC_LOCAL_ID 23 /* buf; IPsec local ID */ #define IP_IPSEC_REMOTE_ID 24 /* buf; IPsec remote ID */ #define IP_IPSEC_LOCAL_CRED 25 /* buf; IPsec local credentials */ #define IP_IPSEC_REMOTE_CRED 26 /* buf; IPsec remote credentials */ #define IP_IPSEC_LOCAL_AUTH 27 /* buf; IPsec local auth material */ #define IP_IPSEC_REMOTE_AUTH 28 /* buf; IPsec remote auth material */ #define IP_IPCOMP_LEVEL 29 /* int; compression used */
しかしこれを使っているプログラムは、src 以下に見つからない。 IPsec policy の id だけ get して別インタフェースで取得したほうが 良いような気がする。
2012-05-05: happy birth day to me.
2012-05-05: wchar_t 対応の nvi が更新された。
Experimental: editors/nvi 2.0.3 (UTF-8 vi)
FLAVOR=iconv が足されていて、euc-jp なファイルも編集できる。
起動時にファイルエンコーディングを切り替えたい場合があるので、
次のようなシェルスクリプトを作って使っている:
% cat ~/scripts/eucvi #!/bin/sh # FILE_ENCODING=euc-jp EXINIT0="set fe=$FILE_ENCODING" if [ -f ~/.exrc ]; then EXINIT0="$EXINIT0 $(sed 's/set[ ]*//' < ~/.exrc | tr '\n' ' ')" fi EXINIT="$EXINIT0" exec nvi "$@" %
2012-05-03:
このページをモバイルデバイスでみた場合の見栄えを改善してみた。
2012-05-03:
3月下旬から、4月上旬にかけて accept()
のエラーハンドリングが修正されていったが、accept(2) の CAVEATS にも
説明が加えられた:
CAVEATS When EMFILE or ENFILE is returned, new connections are neither dequeued nor discarded. Thus considerable care is required in select(2) and poll(2) loops.
accept() が EMFILE や ENFILE で失敗する場合は、 新規接続は、取り出されたり破棄されたりはしないので、select や pool の ループに手当てが必要となる。
2012-05-02:
OpenBSD 5.0 の pthread は 1 コアしか使わない のプログラムを rthread 化された 5.1-current で実行してみた
load averages: 1.47, 0.78, 0.38 xxxx.xxxxxxx.com 15:19:18 28 processes: 26 idle, 2 on processor CPU0 states: 100% user, 0.0% nice, 0.0% system, 0.0% interrupt, 0.0% idle CPU1 states: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle CPU2 states: 100% user, 0.0% nice, 0.0% system, 0.0% interrupt, 0.0% idle CPU3 states: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle Memory: Real: 17M/101M act/tot Free: 134M Cache: 44M Swap: 0K/510M PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND 14806 yasuoka 64 0 876K 716K onproc/2 - 0:02 86.04% a.out
CPU は 2 つ使えてるようだ。
2012-05-01:
docomo SO-01C (Sony Ericsson XPERIA arc) を中古で 17,500 JPY で購入した。
2012-04-26: npppd。経路でハマる人結構多い。arp とか DHCP Inform とかやるべきか。
2012-04-25: common-comment.html などの CAPTCHA は、あれこれ考えた結果、無意味な質問をしてみることにした。回答をチェックする関数は超ザルにしてあるのだが、 calendar.html への最初の書き込み (もう消した)は、不正解だけどザルはとおるような回答だった。
2012-04-25: gyazo の Linux 用クライアント 。ImageMagic が必要なのはイマイチ。スクラッチから書いても 1000 行いかないのでは? と思うんだが。
2012-04-24: calendar.html 用に、コメントを受け付ける CGI を書いた。
OpenBSD の jail 内の CGI なので、超特殊な感じである。 お名前とコメントを受け付けて表示する CGI で、受付時にメールでお知らせする機能も頑張って作った。 まだ CAPTCHA がないのでスパマーに対しノーガードだが、設置 1 日で、怪しげなリクエストが 2 件来ている。しばらくノーガードで相手の出方をみる。
2012-04-18:
budydns が月 30 万クエリ以上の場合に有料になるらしい 。ダッシュボードを見ると、
なので、今は 58/300 Kqr/mo で、まだ大丈夫。 料金は月額で、10ドメインごとに 2USD、3Mqr/mon までが 1USD。3USD/月ということになり、36USD/年。これなら、友達に頼んで、飯おごったほうがいいな。
2012-04-12: 新しいシステムコール
getdtablecount(2) http://marc.info/?l=openbsd-cvs&m=133422896830004&w=2
2012-04-11:
2003年に samba.org にバグ報告したのに無視されたことを思い出したので、ここに記録しとく。 報告はコレ http://lists.samba.org/archive/samba/2003-July/070700.html 。
2012-04-09:
https://twitter.com/uebayasi/status/189143228879093760 から。
0 を使うと input record separator を変更できる。
0x20 とすると:
% echo -n "hoge hoge" | perl -0x20 -ne 'print $i++ ." $_\n"' 0 hoge 1 hoge %
スペース (0x20) を区切りとして使えるようになる。-0 と -0777 は特殊で、-0 はヌル文字が区切りとなり、-0777 は「区切り文字なし」(slurp mode) を示す。実際には -0777 が特殊なのではなく -0400 (8進数で 1 バイトがオーバーフローする値) 以上を指定した場合 undef という意味らしく、 そういう用途では一般的な慣用として 0777 を使うらしいので、man perlrun などでも 0777 で説明されている、ということのようだ。
2012-04-07:
bpf の pcap ファイルは、異なるシステム間で互換性を持っているか? 持つべきか
下の表のように、キャプチャデータの書式を決める DLT 型の値が OS ごとに異なるので、ここで互換性がなくなる。
DLTラベル | OpenBSD | tcpdump.org |
---|---|---|
DLT_LOOP | 12 | 108 |
DLT_ENC | 13 | 109 |
DLT_RAW | 14 | 12 |
これだけでなく、FreeBSD の bpf.h では、:
struct bpf_ts { bpf_int64 bt_sec; /* seconds */ bpf_u_int64 bt_frac; /* fraction */ }; struct bpf_xhdr { struct bpf_ts bh_tstamp; /* time stamp */ bpf_u_int32 bh_caplen; /* length of captured portion */ bpf_u_int32 bh_datalen; /* original length of packet */ u_short bh_hdrlen; /* length of bpf header (this struct plus alignment padding) */ };
と、bh_timesamp に 64bit 固定の時刻情報を持っている。しかし、NetBSD では、:
struct bpf_timeval32 { int32_t tv_sec; int32_t tv_usec; }; struct bpf_hdr { struct bpf_timeval bh_tstamp; /* time stamp */ uint32_t bh_caplen; /* length of captured portion */ uint32_t bh_datalen; /* original length of packet */ uint16_t bh_hdrlen; /* length of bpf header (this struct plus alignment padding) */ };
32bit 固定である。さらに tcpdump.org 版では、:
/* * Generic per-packet information, as supplied by libpcap. * * The time stamp can and should be a "struct timeval", regardless of * whether your system supports 32-bit tv_sec in "struct timeval", * 64-bit tv_sec in "struct timeval", or both if it supports both 32-bit * and 64-bit applications. The on-disk format of savefiles uses 32-bit * tv_sec (and tv_usec); this structure is irrelevant to that. 32-bit * and 64-bit versions of libpcap, even if they're on the same platform, * should supply the appropriate version of "struct timeval", even if * that's not what the underlying packet capture mechanism supplies. */ struct pcap_pkthdr { struct timeval ts; /* time stamp */ bpf_u_int32 caplen; /* length of portion present */ bpf_u_int32 len; /* length this packet (off wire) */ };
あくまで struct timeval であると主張していて、互換性を確保しているようには見えない。
2012-04-06:
read error が多発して、file system へのアクセスが刺さった。
再度 ATA の attribute を記録しておく:
% sudo atactl wd0 readattr Attributes table revision: 16 ID Attribute name Threshold Value Raw 1 Raw Read Error Rate 62 99 0x000000030000 2 Throughput Performance 40 100 0x000000000000 3 Spin Up Time 33 176 0x001100000001 4 Start/Stop Count 0 100 0x0000000001c5 5 Reallocated Sector Count 5 100 0x000000000000 7 Seek Error Rate 67 100 0x000000000000 8 Seek Time Performance 40 100 0x000000000000 9 Power-On Hours Count 0 96 0x00000000080e 10 Spin Retry Count 60 100 0x000000000000 12 Device Power Cycle Count 0 100 0x0000000001c2 191 G-Sense Error Rate 0 100 0x000000000000 192 Power-Off Retract Count 0 100 0x000000000037 193 Load Cycle Count 0 43 0x00000008c2a7 194 Temperature 0 142 0x002e000a002a 196 Reallocation Event Count 0 100 0x000000000000 197 Current Pending Sector Count 0 100 0x000000000008 198 Off-Line Scan Uncorrectable Sect 0 100 0x000000000000 199 Ultra DMA CRC Error Count 0 200 0x000000000000 223 Load/Unload Retry Count 0 100 0x000000000000 %
2012-03-01: OpenBSD って、まだ IPv6 で NFS 使えないっぽい。
2012-02-28:
OpenBSD の arp のタイマーって、monotonic じゃなく realtime を使ってる。
NetBSD も以下同文。FreeBSD は monotonic。
2012-02-21:
Started using the rthread:
% ls -l /usr/lib/libpthread.so.* -r--r--r-- 1 root bin 813680 Jan 10 11:43 /usr/lib/libpthread.so.13.1 -r--r--r-- 1 root bin 822508 Feb 7 19:48 /usr/lib/libpthread.so.13.3 -r--r--r-- 1 root bin 183080 Feb 21 22:36 /usr/lib/libpthread.so.14.0 %
2012-02-15:
http://marc.info/?l=openbsd-misc&m=132922427000548&w=2
で知ったけど、 bind10 は python が必要 らしいので試してみたら、:
% pwd /source/yasuoka/misc/bind10-devel-20120119 % ./configure checking for a BSD-compatible install... /usr/bin/install -c : (snip) checking for a Python interpreter with version >= 3.1... none configure: error: no suitable Python interpreter found %
本当っぽい。
2012-02-14:
tar でファイルを展開している時に、他のプロセスが軒並み I/O
待ちになってシステムがハングしたような状態になって気になっている。
まだちゃんと読んでないけど misc@ の "long hangs with heavy IO" と
関係するかもしれない。勘違いかも知れないけど、昔は気にならなかったので。
OpenBSD 5.0 => 5.1 またはディスク交換のどちらかが原因になっているかもしれない。
2012-02-10: OpenBSD の chrome (chomium) でプラグインを使う方法。
gnash (SWF player) や mozplugger (よろずプラグイン) のパッケージは、firefox 用に作られているので、 これを chrome で使えるように、:
# ln -s /usr/local/lib/mozilla/plugins /usr/local/chrome/plugins
としている。
mozplugger は、どうもそのままでは、プラグインがクラッシュしましたという メッセージが表れて、そのまま使えず、次の patch をあてて使っている。:
--- mozplugger.c-ORIG Wed May 11 12:05:42 2011 +++ mozplugger.c Wed May 11 12:07:01 2011 @@ -1072,9 +1072,14 @@ static int read_config_cb(const char *fname) pid_t pid; int fd; FILE *fp; + sigset_t set, oset; D("READ_CONFIG(%s)\n", fname); + sigprocmask(SIG_BLOCK, NULL, &set); + sigaddset(&set, SIGCHLD); + sigprocmask(SIG_BLOCK, &set, &oset); + fd = open(fname, O_RDONLY); if (fd < 0) { @@ -1126,6 +1131,7 @@ static int read_config_cb(const char *fname) fclose(fp); int status; + sigprocmask(SIG_BLOCK, &oset, &set); waitpid(pid, &status, 0); D("M4 exit status was %i\n", WEXITSTATUS(status));
設定を読み込むプロセスが終了した時に SIGCHLD が発生すると、 ダメっぽいのだが、これは mozilla と chomium でプラグインを呼び出した時のシグナルマスクの状態が異なるために発生しているのでは? と予想しているが...
2012-02-08:
OpenBSD の vi が .exrc を読み込まず困っていたが
(2011-10-24
とか 2012-01-06 )、原因は OpenBSD デフォルトの
.login (/etc/skel/.login => ~/.login) に EXINIT
環境変数が設定されているからだった。
2012-02-08:
chromium の問題 は、そもそも libevent の問題ということで、
http://archives.seul.org/libevent/users/Feb-2012/msg00009.html
に報告されている。
2012-02-08: ports の mew-6.4 も nvi も 5.1 に入らなかった...
push しとけば良かった。
2012-02-07:
NetBSD 5.1-beta -> mew.org 80/tcp が SYN_SENT で刺さる。
net.inet.tcp.rfc1323=0 で回避できる。たぶん linux の time-wait ソケットの
インチキ回収と {OpenBSD,Net}BSD の timestamp option の問題だと思うが、
時間があれば packet capture したい。発生した時のネットワーク構成的は、
横取りプロキシが挟まってて、mew.org とは直接 TCP してないのかもしれない。
2012-02-07:
生活環境の chrome が頻繁に Segmentation fault となる。
OpenBSD 5.1-beta (2/3 snapshot) + chromium-16.0.912.77 という環境だが、
このまま 5.1 になりそうな雰囲気なので、なんとかしたい。落ちる時の
stacktrace
#0 0x1af81265 in base::MessagePumpLibevent::OnLibeventNotification () from /usr/local/chrome/chrome #1 0x074e50b2 in event_base_loop (base=0x8950cc00, flags=2) at /usr/src/lib/libevent/event.c:402 #2 0x1af7f555 in enterprise_management::protobuf_ShutdownFile_old_5fgeneric_5fformat_2eproto () from /usr/local/chrome/chrome #3 0x1afb4659 in MessageLoop::Quit () from /usr/local/chrome/chrome #4 0x1afb470d in MessageLoop::Quit () from /usr/local/chrome/chrome #5 0x1afb4874 in MessageLoop::Quit () from /usr/local/chrome/chrome #6 0x1afedabd in base::DefaultLazyInstanceTraits<base::ThreadLocalBoolean>::Delete () from /usr/local/chrome/chrome #7 0x1afede6e in base::LazyInstance<base::ThreadLocalBoolean, base::DefaultLazyInstanceTraits<base::ThreadLocalBoolean> >::OnExit () from /usr/local/chrome/chrome #8 0x1afed7bc in base::subtle::TaskClosureAdapter::Run () from /usr/local/chrome/chrome #9 0x03b6da2e in _thread_start () at /usr/src/lib/libpthread/uthread/uthread_create.c:242 #10 0x0000002b in ?? () #11 0x00000000 in ?? ()
robert@ さんに報告したら、 http://marc.info/?l=openbsd-cvs&m=132791695512275&w=2 じゃね? ってことになり、この変更を revert したら直った。さすが。 自分も、libevent かも? とは思ってたので、次回は自力で解決したい。
2012-02-01:
base64 decode:
perl -e 'use MIME::Base64; print decode_base64(<>) . "\n"'
2012-01-31:
npppd またもや 5.1 リリースには間に合わない感じなので、頭を切り替えて 5.2
狙いとするか。
2012-01-31:
NetBSD に取り込まれた IPFilter 5.1.1 によると
http://mail-index.netbsd.org/tech-net/2012/01/30/msg003082.html
One of those is a "divert" action that takes a packet and puts an IP + UDP header on the front, allowing "raw packets" to be delivered to any socket.
IP + UDP ヘッダを足して divert 相当を行う拡張が入った。
2012-01-23:
xlock してても ctrl-alt-f? で、ロックされてない端末にアクセスできるという話
http://marc.info/?l=openbsd-misc&m=132731150004416&w=2
今後はアクセスできなくなるのか。
2012-01-14:
github/openbsd の話 http://marc.info/?l=openbsd-misc&m=132650695213810&w=2
自分も 自作スクリプト で、cvs => svn 変換を行っている。
原理的に cvs から svn などに完璧に変換するのは不可能だと思うが、
この自前のスクリプトでは、
原理的に不可能なこと以外にも何点か変換をあきらめることで、
シンプルな実装 & 処理を軽くしている。いつか詳しく書きたい。
2012-01-13:
npppdctl あらため npppctl の件 実行結果は次のような感じ。:
% npppctl -n session brief Ppp Id Assigned IPv4 Username Proto Tunnel From ---------- --------------- -------------------- ----- ------------------------- 1 10.0.0.100 yasuoka L2TP 125.30.2.102:1701 % npppctl -n session packets Ppd Id Username In(Kbytes/pkts/errs) Out(Kbytes/pkts/errs) ---------- -------------------- ----------------------- ----------------------- 1 yasuoka 17.6 194 0 1.4 65 0 % npppctl -n session all Ppp Id = 1 Ppp Id : 1 Username : yasuoka Realm Name : local Concentrated Interface : tun0 Assigned IPv4 Address : 10.0.0.100 Tunnel Protocol : L2TP Tunnel From : 125.30.2.102:1701 Start Time : 2012/01/13 09:07:23 Elapsed Time : 13404 sec (3 hours and 43 minutes) Input Bytes : 17976 (17.6 KB) Input Packets : 194 Input Errors : 0 (0.0%) Output Bytes : 1429 (1.4 KB) Output Packets : 65 Output Errors : 0 (0.0%) % npppctl clear ppp-id 1 Successfully disconnected 1 session. %
2012-01-12: OpenBSD 5.1 に向けてガリガリやってます...
parse.y 含めて... 間に合うかなぁ..
2012-01-11:
『UNIX ファイルシステムの歴史』
http://www.slideshare.net/magoroku15/unix-9720732
を読んだ。
2012-01-11:
最近 OpenBSD/luna88k が活発なのは、
http://mail-index.netbsd.org/port-m88k/2011/12/thread1.html#000025
このへんの流れか。
2012-01-10:
cvs server の /tmp の空きがたりなくて cvs up できない場合:
env CVS_SERVER="/usr/bin/cvs -T /var/tmp" cvs update
2012-01-08:
IPv6 でも、実環境では Path MTU Blackhole だらけだから、やっぱ tcp mss
書き換えちゃおうという意見があるみたいだが、
IPv6 は Path MTU Blackhole
があるとプロトコル的に辻褄があわないと思っていたので、
そのあたりをどう理解すべきかよくわかっていない。
たぶん不勉強なだけだと思うけど。
あとで http://www.potaroo.net/ispcol/2009-01/mtu6.html を読んでみよう。
2012-01-07:
2007 年 3 月のセキュリティアドバイザリ
OpenBSD's IPv6 mbufs remote kernel buffer overflow
を復習。
2012-01-06:
以前、 OpenBSD の vi が .exrc を読み込まないと書いた が、普通に読み込んでいる。勘違いだったか...
2012-01-06:
~/ 以下を暗号化して保護しても、vi.recover
で編集中の文書が丸見えという問題があることに気づいたので、~/.exrc に
set recdir=/home/yasuoka/.vi.recover を追加した。
2012-01-06: swap は暗号化可能か?
OpenBSD では、swapencryptという仕組みが入っていて、:
vm.swapencrypt.enable=1 vm.swapencrypt.keyscreated=0 vm.swapencrypt.keysdeleted=0
デフォルトで有効なようだ。 vm.swapencrypt.keys{created,deleted} は、 swap が実際に使われると増えていくらしい。詳細は、 Encrypting Virtual Memory - Niels Provos というペーパーがあるので、これに書いてあるっぽい。
NetBSD の場合は cgd(4) で、 FreeBSD の場合は geom(4) 上の gbde(4) で暗号化できる。OpenBSD 以外は、暗号化している仮想ディスクを swap として使う、という考え方。 OpenBSD は uvm の機能として実装されている。
2012-01-06: phk が作った HTTP キャッシュサーバ
varnish から、 それで使われてるらしい B-Heap をななめ読み。
2012-01-06: ghostscript-fonts をインストールすると、xfe が文字化けする
2012-01-05:
reStructuredText では、取り消し線付きテキスト、HTML の strike タグ相当は利用できない。自前で role を追加して HTML の CSS クラスでスタイルとして定義することで実現する方法が、 http://stackoverflow.com/questions/6518788/rest-strikethrough に書かれている。しかし、この方法では HTML でスタイルが適用されない場合や HTML 以外の出力形式を使う場合に、取り消されずに出力されてしまうため、文章の意味が変わってしまう。当面はあきらめることにする。
2012-01-05:
本番環境で初期不良の SSD を踏みました - mura日記 (halfrack) を読んで、自分のノート PC のカウンタも調べてみた。
昨年末に換装したばかりの新品 HDD だが、将来、現在の値が参考になるかもしれないので、張っておく
% sudo atactl wd0 readattr Attributes table revision: 16 ID Attribute name Threshold Value Raw 1 Raw Read Error Rate 62 100 0x000000000000 2 Throughput Performance 40 100 0x000000000000 3 Spin Up Time 33 181 0x001100000001 4 Start/Stop Count 0 100 0x000000000057 5 Reallocated Sector Count 5 100 0x000000000000 7 Seek Error Rate 67 100 0x000000000000 8 Seek Time Performance 40 100 0x000000000000 9 Power-On Hours Count 0 100 0x00000000012a 10 Spin Retry Count 60 100 0x000000000000 12 Device Power Cycle Count 0 100 0x000000000054 191 G-Sense Error Rate 0 97 0x000000060001 192 Power-Off Retract Count 0 100 0x00000000000d 193 Load Cycle Count 0 91 0x000000016593 194 Temperature 0 153 0x002d000a0027 196 Reallocation Event Count 0 100 0x000000000000 197 Current Pending Sector Count 0 100 0x000000000000 198 Off-Line Scan Uncorrectable Sect 0 100 0x000000000000 199 Ultra DMA CRC Error Count 0 200 0x000000000000 223 Load/Unload Retry Count 0 100 0x000000000000 %
2012-01-05:
OpenBSD日本語入力の怪(というより知識不足)- OpenBSD日記 に、 30分でできる OpenBSD 日本語デスクトップ環境 を読んでハマったポイントが書いてある。要改善ポイントまとめておく。
その他、自分で見直しての要改善ポイント