logo
 2003年   2004年   2005年   2006年   2007年   2008年   2009年   2010年   2011年   2012年 
 9月 
 10月 
 11月 
 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月
 2月
アイコンの説明
code:Haemophilus influenzae
ここに書かれていることは無保証です。同じことを行って問題が発生しても、龍義は責任をとりません。

 3/1
Other
EXIF を見ていた流れから、最近のデジカメの機能とかを見ていた。GPS 機能が
あると、場所名を文字で入れられたり、時差を踏まえて時刻を変えたり、色々と
便利みたい。時刻変更は公海上とかの動作が気になるけど。
防水で GPS 付きのデジカメもいくつか出てきたみたいだし、夏には1台買おう
かな、と思ってしまう。PENTAX K-7 では自動水平補正があるので、コンパクト機
にも追加してもらって、あとは EXIF に気温が記録されれば、買っちゃいそう
だな。

 3/2
Other
1月25日に書いた WX320K の液晶が一部黒くなった件、今日液晶を見てみたら、
突然消えていた。ウィルコムストアでは、直らないとか広がっていくとか言って
いたのに。直って良かったが、買い替えるタイミングが無くなってしまった。
もうしばらく、使い続けるかな。

 3/3
Other
最近の Mac mini はどんなもんかな、と見ていたら Thunderbolt という文字を
見かけた。調べてみると、インタフェースの名前のようで、ディスプレイにも
対応するぐらい高速なんだとか。USB 3.0 と HDMI でこの先5年ぐらいもつと
思っていたけど、微妙になってきたな。規格は Intel と Apple が策定をした
みたいなので、Intel の動向次第だな。便利かどうかは微妙だけど、何かに統一
されるとありがたいときもあるので、気になるところ。

 3/4
Other
実家に残っていた新品のカセットテープがあったので、これを売ろうかと Yahoo
オークションで相場を見ていた。なんだか懐かしい製品名とかパッケージとかが
あって、高校生とかぐらいに戻った気分になった。さらに見ていると、デーレコ
用のカセットなんかもあって、小学生時代に戻った気分。データレコーダで使う
テープの容量ってどのぐらいか調べてみたら、1200bps とか出てきたので 60 分
テープで 540KByte になるのか。反転に対応してなければその半分。30分かかって
やっと 270KByte の読み込みか。時代の進歩は早いもんだな。

 3/5
Other
Windows XP なシンクライアント+プロキシがある某環境で、なんとかしてこの
ページを更新したい。その前に、開発環境が欲しいので cygwin をインストール
しすることにした。シンクライアントの仕様(?)なのか、C ドライブはあるみたい
だけど、エクスプローラーなんかでは見ることができない。コマンドプロンプト
から中を確認できるので、いじろうと思えばできるけど。cygwin の setup.exe を
起動して、ネットワークの Z ドライブへインストール。起動もできて特に問題は
なし。Poderosa もインストールしたが、.NET Framework が入っていないし、
.NET Framework をインストールする権限もないので動作しない。なんだか先が
思いやられるな。

 3/6
Other
昨日の続き。cygwin の環境が入ったので、wget, w3m, curl なんかのプロキシの
設定をして、外に出られるのを確認。あとは、なんとかしてプロキシを突破して
手元のサーバに入ることをしたい。SoftEther を入れようかと少し考えたけど、
管理者権限のない PC に入れられないと思うのであきらめる。cygwin の setup の
ソフトウェアを見ていたら、httptunnel というのがあったので、調べてみた。
どうやら、これで ssh の通信がプロキシを通過しそうなので、cygwin 側に入れて
みた。スマートフォンでも持っていれば、その場で家に入ってサーバ側の設定も
できるのだけど、続きは家に帰ってから。
家に帰ってから、httptunnel のサーバ側のインストール。httptunnel を入れる
サーバは、訳あって家のサーバではなく、レンタルしている CentOS なサーバに
入れることにした。httptunnel の stable なバージョンは 3.0.5 だけど、cygwin
側と合わすために develop な 3.3 のバージョンを入れた。

[toyota@vjun]% http://www.nocrew.org/software/httptunnel/httptunnel-3.3.tar.gz
[toyota@vjun]% tar xfz httptunnel-3.3.tar.gz
[toyota@vjun]% cd httptunnel-3.3
[toyota@vjun]% ./configure --help
~略~
[toyota@vjun]% ./configure
~略~
[toyota@vjun]% make
~略~

あっさりできあがった。サーバ側の起動。high port を使えば root じゃなくても
起動できるみたい。

[toyota@vjun]% ./hts -F localhost:22 8022

デフォルトの 8888 番ポートはいかにも、な感じなので 8022 番にしてみた。
これで明日、向こう側から入ってみる。

 3/7
Network Other
昨日の続き。向こう側から入ってみる。まずは、クライアント側のサーバの起動。
ちょっとプロキシ名とかは書けないので、適当に変えてるけど。

[toyota@dstar]% htc -P proxy.tatsuyoshi.net:8080 -F 8122 www.195.jp:8022

起動した。が、Windows XP のファイアーウォールが警告を出した。さらに悪い
ことに、このファイアーウォールを設定する権限もない。しかたなく、今ある
設定を眺めていたら、22 番ポートはスルーできるみたいなので、起動し直して
みた。

[toyota@dstar]% htc -P proxy.tatsuyoshi.net:8080 -F 22 www.195.jp:8022

これで localhost 内から接続してみる。

[toyota@dstar]% slogin localhost
ssh_exchange_identification: Connection closed by remote host

だいぶ待たされて、上記のエラーが出た。接続できないみたい。サーバ側には
通信が届いているのか確認したいが、家に帰らないとできないのでもどかしい。
家に帰って、サーバ側の確認。ログには何も残ってなかったが、見てふと気が
付いた。ssh のポートが元々 22 番じゃなかったのだった。起動オプションの
変更をして起動しようと思ったけど、ログを吐いてくれたら助かるので、少し
中を見て、ログを吐くようにコンパイルからやり直し。

[toyota@vjun]% make clean
~略~
[toyota@vjun]% ./configure --enable-debug
loading cache ./config.cache
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether build environment is sane... yes
~略~
[toyota@vjun]% make
~略~
[toyota@vjun]% ./hts -h
Usage: ./hts [OPTION]... [PORT]
Listen for incoming httptunnel connections at PORT (default port is 8888).
When a connection is made, I/O is redirected to the destination specified
by the --device, --forward-port or --stdin-stdout switch.

  -c, --content-length BYTES     use HTTP PUT requests of BYTES size
                                 (k, M, and G postfixes recognized)
  -d, --device DEVICE            use DEVICE for input and output
  -D, --debug [LEVEL]            enable debug mode
  -F, --forward-port HOST:PORT   connect to PORT at HOST and use it for 
                                 input and output
  -h, --help                     display this help and exit
  -k, --keep-alive SECONDS       send keepalive bytes every SECONDS seconds
                                 (default is 5)
  -l, --logfile FILE             specify logfile for debug output
  -M, --max-connection-age SEC   maximum time a connection will stay
                                 open is SEC seconds (default is 300)
  -s, --stdin-stdout             use stdin/stdout for communication
                                 (implies --no-daemon)
  -S, --strict-content-length    always write Content-Length bytes in requests
  -V, --version                  output version information and exit
  -w, --no-daemon                don't fork into the background
  -p, --pid-file LOCATION        write a PID file to LOCATION

Report bugs to bug-httptunnel@gnu.org.

-D オプションと -l オプションが出たので、これで起動する。

[toyota@vjun]% ./hts -D 10 -l hts.log -F localhost:4238 8022

22番じゃなくて、実際に使ってるポートに直した。そしてもう1つ忘れていた
ことがあって、サーバ側のファイヤーウォール。/etc/sysconfig/iptables の
設定を見ると、がっちりと弾いていたので 8022 番のやり取りができるように
変更してiptables の再起動をした。試しに hts のサーバへ家の cygwin から
アクセスしてみた。

[toyota@utapau]% ./htc -F 8122 www.195.jp:8022
[toyota@utapau]% slogin -p 8122 localhost
The authenticity of host '[localhost]:8122 ([127.0.0.1]:8122)' can't be establi
shed.
RSA key fingerprint is 6b:b1:c9:fe:5c:aa:14:d2:61:f5:b7:93:4e:33:ae:e4.
Are you sure you want to continue connecting (yes/no)? 

プロキシ挟んでないけど、とりあえず外からのアクセスは大丈夫そう。これで明日
現地から実験してみる。

 3/8
Network Other
昨日の設定した httptunnel を向こう側から突っついてみる。

[toyota@dstar]% htc -P proxy.tatsuyoshi.net:8080 -F 22 www.195.jp:8022
[toyota@dstar]% slogin localhost
ssh_exchange_identification: Connection closed by remote host

駄目だね。クライアント側もコンパイルし直して、ログを吐くようにしてから
起動してみる。

[toyota@dstar]% htc -D 10 -l htc.log -P proxy.tatsuyoshi.net:8080 -F 22
www.195.jp:8022
[toyota@dstar]% slogin localhost
ssh_exchange_identification: Connection closed by remote host

このときのログを見てみた。長いので、抜粋で。

20120308 103034             http_write_request: POST http://www.195.jp:8022/ind
ex.html?crap=1558985434 HTTP/1.1
20120308 103034         tunnel_out_connect: output connected
20120308 103034         tunnel_write_request: TUNNEL_OPEN (1)
20120308 103034         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Pro
tocol not available
20120308 103034         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20120308 103034             http_write_request: GET http://www.195.jp:8022/inde
x.html?crap=1558985434 HTTP/1.1
20120308 103055             http_parse_response: major version = 1
20120308 103055             http_parse_response: minor version = 0
20120308 103055             http_parse_response: status code = 503
20120308 103055             http_parse_response: status message = "Service Unav
ailable"

わかったことは、当たり前なのだけど web のアクセスと同じように index.html
にアクセスしていること、POST していること、プロキシーの応答は 503 Service
Unavailable ということ。プロキシが弾いているっぽいな。家に帰って、hts 側の
ログを確認してみると、何も吐いていないので、やっぱりプロキシっぽい。少し
面倒なことになってきた。

 3/9
Network Other
昨日の続き。503 を返すプロキシの動作をみたりした。プロキシの設定がされて
いる wget で

[toyota@dstar]% wget www.195.jp/index.html
[toyota@dstar]% wget www.195.jp:8022/index.html

としてみたら、80 だとアクセスできて、8022 だと 503 が返ってきた。つまり、
ドメインで蹴られている訳ではなく、80 番以外のポートを蹴っているみたい。
じゃ、80 番で hts を起動すれば良い、ということになるけど、既に web サーバ
として使っているので、それを何日も止める訳にもいかない。困ったな、と少し
考えて、リバースプロキシを思いついた。間にリバースプロキシを入れて。

ssh
↓
htc(トンネル)
↓
proxy
↓
apache(リバースプロキシ)
↓
hts(トンネル解除)
↓
sshd

80 番の特定ドメインで受けた場合は、自分の 8022 番に投げなおして、hts は
さらに sshd に投げ直す。凄いんだか凄くないんだか、かなり面倒な感じになって
きた。もっと綺麗な方法でできないかな。リバースプロキシの設定は、週末に
やろう。

 3/10
Other
こっそりとサーバを設置できないかと考えて、置き場所も含めて色々と練って
みた。
・厚さ30mm以下ぐらいで小型
・音がしない
ならば大丈夫そうなので、家にあるものを考えてみる。あの LD-WBBR/B が使える
気がするけど、コンパイラとか Perl が入ってないので、クロスコンパイルを
しないといけない。今更 SH3 のクロスコンパイルの環境は面倒なので、却下。
BONA の Light System Wireless は動作が安定しないので、サーバで使うには
不向きだし、SUMICOM はファンが付いているから音がするんだよね。全部却下
されたので、新しく買うことを考えた。
・CPU のクロックは 500MHz もあれば十分
・CPU アーキテクチャに拘らない
・コンパイラが入っている(もしくは、簡単に入る)
・4GB ぐらいの容量は欲しい
これをなんとか1万円ぐらいで手に入らないか、調べてみた。OpenBlocks は良い
製品なのだけど、値段が高すぎる。CompuLab fit-PC2 でも4万円を超えるので、
面白そうだけど手が出ない。最近の Android が入ったタブレット端末なんかが
使えそうな気もしたけど、有線 LAN の口がないし、画面を使わないのでもったい
ない。安い Net Book も、1万円にはならないし、最近じゃあまり流行ってない
ので機種も少ないし。
色々探していたら、AKART EPC-400 という製品が1万円ぐらいで売っているのを
見つけた。ARM な 800MHz の CPU で、2GB の SSD が付いているし、良い感じ。
メモリが 256MB と少ないのと、OS が Windows CE が残念。Linux に入れ替えて
使えるかどうかが肝だな。CPU としては Android も動くみたいなので、動かない
ことはないけど、bios がいじれて boot 制御ができるかにかかっている。AKART
のページを見ると、MK-PC400 という似たような製品のリカバリーSDカードという
ものが売っているので、SD カードからの boot はできそう。悩むところだな。

 3/11
Other
昨日の続き。AKART EPC-400 に Linux 入れるところで苦労しそうな感じだし、
いかにもという PC が接続されているとアレなので、もう少し探してみることに
した。Kane BeBe という ARM のボードを見つけた。値段は 13800 円で少し予算
オーバーだけど、OS 周りのソースとかもあるので取っ付きやすそう。そう言えば
玄人志向から玄柴という名前でも出ていた Sheeva Plug を思い出した。これが
日本でも売り出されているか調べてみたが、今は売ってないみたい。Sheeva Plug
だと、何気なく AC アダプタっぽくて良い感じかもな。
そう言えば、Raspberry Pi が発売になっているんだ。オシャレなガワがあれば
安いし良いな。日本で発売されたら、Kane BeBe とか霞んで見えてくるな。
で、結局少し悩んで Sheeva Plug を買ってみた。あとは、いつ到着するかだな。

 3/12
Network WWW
9日の続き。とりあえず、昨日家で DNS の設定と、Apache のリバースプロキシの
設定をした。Apache の設定は、まずコメントになっていた proxy のモジュールを
有効にして。

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

バーチャルホストの設定。

<VirtualHost *:80>
    ServerName login.195.jp
    ProxyPass / http://localhost:8022/
    ProxyPassReverse / http://localhost:8022/
    Options None
</VirtualHost>

これで Apache の再起動。手元の cygwin から接続してみる。

[toyota@utapau]% ./htc -F 8122 login.195.jp
[toyota@utapau]% slogin -p 8122 localhost

何故か接続できないで、htc が落ちてしまう。ちょっとログを吐かせてみたら、
デフォルトの 8888 番ポートで通信をしようとしていた。80 番ポートで通信を
するようにしてみた。

[toyota@utapau]% ./htc -F 8122 login.195.jp:80
[toyota@utapau]% slogin -p 8122 localhost

接続できたので、ドメインの設定とリバースプロキシの設定はうまくいっている
ようである。さっそく、問題の proxy がある現場で同じようにしてみた。

[toyota@dstar]% ./htc -P proxy.tatsuyoshi.net:8080 -F 22 login.195.jp:80
[toyota@dstar]% slogin localhost

3分経っても応答が返ってこない。困ったな。時間がないので、今日はここまで。

 3/13
Network Other
昨日の続き。ログを吐かせて、様子を見てみた。

        server_socket (22) = 4
        waiting for connection on port 22
        wait_for_connection_on_socket (4) = 5
        creating a new tunnel
            tunnel_new_client ("login.195.jp", 80, "proxy.tatsuyoshi.net", 8080
, 102400)
                set_address: gethostbyname ("proxy.tatsuyoshi.net")
            tunnel_connect()
        tunnel_out_setsockopts: non-fatal SO_SNDLOWAT error: Protocol not avail
able
        tunnel_out_setsockopts: non-fatal SO_SNDLOWAT: 0
        tunnel_out_setsockopts: SO_LINGER: onoff=1 linger=2000
        tunnel_out_setsockopts: non-fatal TCP_NODELAY: 1
        tunnel_out_setsockopts: SO_KEEPALIVE: 1
            http_write_request: POST http://login.195.jp:80/index.html?crap=141
3850399 HTTP/1.1
        tunnel_out_connect: output connected
        tunnel_write_request: TUNNEL_OPEN (1)
                tunnel_write_data: out_total_raw = 4
            tunnel_in_connect()
        tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not availa
ble
        tunnel_out_setsockopts: SO_RCVLOWAT: 0
            http_write_request: GET http://login.195.jp:80/index.html?crap=1413
850399 HTTP/1.1
            http_parse_response: major version = 1
            http_parse_response: minor version = 1
            http_parse_response: status code = 200
            http_parse_response: status message = "OK"
            parse_header: Via: 1.1 TSTFSV01
            parse_header: Proxy-Connection: close
            parse_header: Content-Length: 102400
            parse_header: Expires: 0
            parse_header: Date: Wed, 13 Mar 2012 07:33:19 GMT
            parse_header: Content-Type: text/html
            parse_header: Pragma: no-cache
            parse_header: Cache-Control: no-cache, no-store, must-revalidate
        tunnel_in_connect: input connected
connected to login.195.jp:80 via proxy.tatsuyoshi.net:8080
        tunnel_read_request: connection closed by peer
        tunnel_in_disconnect: input disconnected
            tunnel_in_connect()
        tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not availa
ble
        tunnel_out_setsockopts: SO_RCVLOWAT: 0

後半部分を繰り返している。接続はうまくいっているので、proxy で何かブロック
されているっぽいな。プロキシの突破は無理かもな。もう少しだけやってみて、
駄目だったら別な端末を用意して、なんとかしよう。

 3/14
Other
先週から書いてある、管理者権限のない面倒な PC を使わないといけない話。
キーボードはAの左隣が Ctrl で、英語キーボードじゃないとうまく打てない
ので、Happy Hacking Keyboard Lite2 を持って行った。Ctrl は問題なく使えて
良いのだけど、配列が英語に切り替わらない。困ったな、といくつか解決法を
探してみたけど、システムに書き込む権限とか、HKEY_LOCAL_MACHINE をいじる
権限とかがないので、うまく解決できない。ソフトウェアだけでなんとかでき
るものはないのだろうか、と探してみたら USJP Lite2 というソフトウェアを
見つけた。ダウンロードしてインストールするが、C ドライブに書こうとして
エラーが起きたので、driver フォルダの USJP.exe を直接叩いた。これで全く
問題なく動作して、非常に快適。ただ、この USJP Lite2 は値段が 1280 円して
しまう。高くはないけど、安くもない値段。微妙だけど便利になるので、仕方の
ない出費か。
関係ないけど、USJP を作っているトリニティーワークスって会社は、今は無き
母校の近くだったので少し驚いた。

 3/15
WWW
ちょっと perl で cgi を2本作りたかったのだけど、家に接続ができないので
cygwin 上で apache を動かして作ることにした。cygwin の setup.exe から、
apache2 をインストールして、起動してみた。

[toyota@dstar]% /usr/sbin/apachectl2 start
/usr/sbin/apachectl2: line 78:  5440 Bad system call         $HTTPD -k $ARGV

嫌な感じ。apachectl2 の中を確認して、httpd2 を実行しているので、直に実行
してみた。

[toyota@dstar]% /usr/sbin/httpd2 -k start
Bad System Call

現象変わらず。仕方なく調べてみることにした。どうも cygserver の設定が必要
なのだけど、管理者権限のない環境じゃ、実行できない気がする。とりあえず、
やってみるだけやってみた。

[toyota@dstar]% cygserver-config
Generating /etc/cygserver.conf file
chown: `/etc/cygserver.conf' の所有者を変更中: Permission denied


Warning: The following function requires administrator privileges!

Do you want to install cygserver as service?
(Say "no" if it's already installed as service) (yes/no) yes
cygrunsrv: Error installing a service: OpenSCManager:  Win32 error 5:
アクセスが拒否されました。


Installation of cygserver as service failed.  Please check the
error messages you got.  They might give a clue why it failed.

A good start is either you don't have administrator privileges
or a missing cygrunsrv binary.  Please check for both.

やっぱり駄目みたい。nginx on Cygwin って動くのかな。今度やってみよう。

 3/16
Network Other
Dovecot v2.1.2v2.0.19 が出た。v2.0.19 の変更は少なくて、2.0 系の最後に
なれば良い、なんて書いてある。もう2、3出る気がするけど。とりあえず、
dovecot.jp を更新して確認してみた。が、接続できない。どうも DNS が引けて
ない様子。どうしたのかな、と色々見てみたら、2月いっぱいで dovecot.jp が
切れていた。すっかり忘れていたな。まだ1ヶ月以内なので、更新できたが、
手数料が痛かった。

 3/17
Network Other
Dovecot v2.1.3 が出た。multi-dbox に問題が出て、昨日の今日でバージョンが
あがったみたい。いつもの dovecot の感じ。また時間を作って、翻訳の続きを
やらないとな。

 3/18
Network WWW
Sheeva Plug を注文したけど、注文受付メール以来音沙汰がない。海外だから
配送時間がかかることを考えると、今月中に届くのは厳しい感じになってきて
いるな。代替を探そうかどうしようか、悩むところ。某所の環境があまりにも
使えなくて色々苦労をしていて、なかなか進まないし、4月になったら忙しく
なるので、早くなんとかしたいところなのに。

 3/19
WWW
15日の続き。nginx を cygwin でコンパイルして、動作させてみる。

[toyota@dstar]% wget http://nginx.org/download/nginx-1.1.17.tar.gz
[toyota@dstar]% tar xfz nginx-1.1.17.tar.gz
[toyota@dstar]% cd nginx-1.1.17
[toyota@dstar]% configure --help
~snip~
[toyota@dstar]% configure
checking for OS
 + CYGWIN_NT-5.1 1.7.11(0.260/5/3) i686
checking for C compiler ... found
checking for gcc builtin atomic operations ... not found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found
~snip~
checking for PCRE library in /usr/pkg/ ... not found
checking for PCRE library in /opt/local/ ... not found

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<ath> option.

libpcre が必要みたい。cygwin の setup.exe から libpcre-devel をインストール
して、再度 configure を実行したら、問題なく通った。

[toyota@dstar]% make
[toyota@dstar]% make install

make とインストールは問題なく。実行してみる。

[toyota@dstar]% cd /usr/local/nginx/sbin
[toyota@dstar]% ./nginx -h
nginx version: nginx/1.1.176
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
 -?,-h         : this help
 -v            : show version and exit
 -V            : show version and configure options then exit
 -t            : test configuration and exit
 -q            : suppress non-error messages during configuration testing
 -s signal     : send signal to a master process: stop, quit, reopen, reload
 -p prefix     : set prefix path (default: /usr/local/nginx/)
 -c filename   : set configuration file (default: conf/nginx.conf)
 -g directives : set global directives out of configuration file

[toyota@dstar]% ./nginx -t
nginx: [emerg] the maximum number of files supported by select() is 64
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

select に制限がありそうなので、修正。

[toyota@dstar]% vi ../conf/nginx.conf
events {
   #worker_connections  1024;
   worker_connections  32;
}

1024 になっているところを 32 に減らした。これで、再度実行。

[toyota@dstar]% ./nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

これで動作させてみる。

[toyota@dstar]% ./nginx

ブラウザや telnet でポートを突っついてみたけど、応答なし。どこかで何かが
うまく動いていないみたい。素直に windows 版を入れるべきかな。

 3/20
WWW
Firefox が 11 になったようで、再起動が走って更新された。特に変わりない
ように見えたけど、1つだけ気になるところが。画像のみを表示した場合に、
ブラウザ中央に表示されて、画像の外は変な背景色が付いたこと。少し検索を
してみたら、やっぱりその点に不満を持っている人が居るみたい。アドオンを
入れたりして解決できないことは無いみたいだけど、それだけのために入れる
のもなんだか、という感じ。prefs.js 辺りでなんとかできれば助かるのだけど。
次のバージョンで戻してくれないかなぁ。

 3/21
WWW
管理権限のない某環境では、Firefox 起動時に 11 へとアップデートしようと
して、しばらく待たされ、

Firefox は起動していますが応答しません。新しいウィンドウを開くにはまず
既存の Firefox プロセスを終了させるか、コンピュータを再起動させなければ
なりません。

と出てしまい起動できなくなった。調べてみると profile フォルダのファイル
parent.lock が残ってしまっていることが原因みたい。このロックファイルを
削除しようとしたが、別なプロセスが使用中、だとか。再起動しても現象が出る
し、タスクマネージャーが起動できない環境なので、どうしようか少し考えて、
新しいプロファイルを作成して、今までのプロファイルをコピーすることにした。
プロファイルを作成して元に戻ったけど、面倒なことばかり起こるな。

 3/22
WWW Network
13日の続き。ssh クライアント側から見て、どんな感じなのか表示させてみた。

[toyota@dstar]% slogin -v -l toyota localhost
OpenSSH_5.9p1, OpenSSL 0.9.8t 18 Jan 2012
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: Connection established.
debug1: identity file /.ssh/id_rsa type -1
debug1: identity file /.ssh/id_rsa-cert type -1
debug1: identity file /.ssh/id_dsa type -1
debug1: identity file /.ssh/id_dsa-cert type -1
debug1: identity file /.ssh/id_ecdsa type -1
debug1: identity file /.ssh/id_ecdsa-cert type -1

かなり初期段階で駄目みたい。htc のログを確認すると、エラーが出ているので
調べてみることにした。出ているエラーは。

tunnel_out_setsockopts: non-fatal SO_SNDLOWAT error: Protocol not available
tunnel_out_setsockopts: non-fatal SO_SNDLOWAT: 0
tunnel_out_setsockopts: SO_LINGER: onoff=1 linger=2000
tunnel_out_setsockopts: non-fatal TCP_NODELAY: 1
tunnel_out_setsockopts: SO_KEEPALIVE: 1

tunnel_out_setsockopts 関数がある tunnel.c を確認。

static int
tunnel_in_setsockopts (int fd)
{
#ifdef SO_RCVLOWAT
 int tcp = get_proto_number ("tcp");

 if (tcp != -1)
   {
     int i, n;

     i = 1;
     if (setsockopt (fd,
                     tcp,
                     SO_RCVLOWAT,
                     (void *)&i,
                     sizeof i) == -1)
       {
         log_debug ("tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: %s",
                    strerror (errno));
       }
     n = sizeof i;
     getsockopt (fd,
                 tcp,
                 SO_RCVLOWAT,
                 (void *)&i,
                 &n);
     log_debug ("tunnel_out_setsockopts: SO_RCVLOWAT: %d", i);
   }
#endif /* SO_RCVLOWAT */

 return 0;
}

cygwin で SO_RCVLOWAT がどう宣言されているのか確認してみた。

[toyota@dstar]% grep -r SO_RCVLOWAT /usr/include/*
/usr/include/asm/socket.h:#define SO_RCVLOWAT     0x1004
/usr/include/w32api/winsock.h:#define SO_RCVLOWAT       0x1004
/usr/include/w32api/winsock2.h:#define SO_RCVLOWAT      0x1004

0x1004 になっている。setsockopt でエラーを出しているので、確認のために
tcp の値も確認してみたけど、ちゃんと 6 が入っていた。Cygwin 側の問題なの
かもしれないな。ちょっと手詰まりなので、htc のオプションを見て、-B とか
-c オプションで送信サイズやバッファのサイズを変更してみたが、結果は変わら
ず。hts 側の変更が必要なのかもしれないな。家に帰って hts 側の設定を変更
してみることにする。

 3/23
WWW Network
昨日の続き。httptunnel のサーバ側の設定を変更してやってみた。

[toyota@vjun]% ./hts -S -c 64k -l hts.log -D 10 -F localhost:4238 8022

これで、問題の環境から接続してみる。

[toyota@dstar]% ./htc -P proxy.tatsuyoshi.net:8080 -F 22 login.195.jp:80
[toyota@dstar]% slogin localhost

やっぱり応答がない。htc のログを確認してみたけど、状況は変わらず。何か
POST が駄目な proxy のような気がしてきた。で、その proxy 内の環境で何気
なく外に ping を打ってみたら、なんと返ってきた。NAT でガチガチだと思って
いたので驚き。ちょっと別の方法を考えてみる。

 3/24
Network
昨日、某環境はまさかの icmp だと外に繋げられることがわかったので、icmp な
トンネルがあるのか調べてみた。
http://en.wikipedia.org/wiki/ICMP_tunnel
なんか、結構あるみたい。ICMPTX という IP over ICMP があるけど、Windows XP
の環境は管理者権限がないので route コマンドとか通らない気がするし、でき
れば ssh over ICMP があれば助かる。ということで、Ping Tunnnel を試すことに
した。
サーバ側に Ping Tunnel を突っ込んでみる。

[toyota@vjun]% wget "www.cs.uit.no/~daniels/PingTunnel/PingTunnel-0.72.tar.gz"
[toyota@vjun]% tar xfz PingTunnel-0.72.tar.gz
[toyota@vjun]% cd PingTunnel
[toyota@vjun]% ls -la
total 172
drwxr-xr-x 5 toyota toyota  4096 Sep  5  2011 .
drwxrwxr-x 3 toyota toyota  4096 Mar 26 00:35 ..
-rwx------ 1 toyota toyota  3961 Sep  5  2011 CHANGELOG
-rwx------ 1 toyota toyota  1505 Sep  5  2011 ._CHANGELOG
-rwx------ 1 toyota toyota  1545 Sep  5  2011 LICENSE
-rwx------ 1 toyota toyota   167 Sep  5  2011 ._LICENSE
-rwx------ 1 toyota toyota  1274 Sep  5  2011 Makefile
-rwx------ 1 toyota toyota 12438 Sep  5  2011 md5.c
-rwx------ 1 toyota toyota  3396 Sep  5  2011 md5.h
-rwx------ 1 toyota toyota   167 Sep  5  2011 ._ptunnel.8
-rwx------ 1 toyota toyota  6568 Sep  5  2011 ptunnel.8
-rwx------ 1 toyota toyota   167 Sep  5  2011 ._ptunnel.c
-rwx------ 1 toyota toyota 58464 Sep  5  2011 ptunnel.c
-rwx------ 1 toyota toyota   167 Sep  5  2011 ._ptunnel.h
-rwx------ 1 toyota toyota 15087 Sep  5  2011 ptunnel.h
-rwx------ 1 toyota toyota  4993 Sep  5  2011 README
-rwx------ 1 toyota toyota  1505 Sep  5  2011 ._README
drwxr-xr-x 2 toyota toyota  4096 Mar 26 00:35 redhat
drwxr-xr-x 3 toyota toyota  4096 Mar 26 00:35 selinux
drwxr-xr-x 2 toyota toyota  4096 Sep  5  2011 web

なんか変なファイルの感じ。軽く make をしてみた。

[toyota@vjun]% make
gcc -Wall -g -MM *.c > .depend
gcc -Wall -g `[ -e /usr/include/selinux/selinux.h ] && echo -DHAVE_SELINUX` -c 
-o ptunnel.o ptunnel.c
In file included from ptunnel.c:43:
ptunnel.h:70:21: error: pcap.h: No such file or directory
In file included from ptunnel.c:43:
ptunnel.h:379: error: expected specifier-qualifier-list before ‘pcap_t
~snip~

がっつり失敗した。pcap の文字が踊っているので、libpcap が必要なのでしょう。
README を確認してみる。

Compiling
---------
To compile ptunnel, simply run make. If everything goes well, you should end up
with a binary called ptunnel. This serves as both the client and proxy. You can
optionally install it using "make install". On Windows, run "make ptunnel.exe"
to compile the Windows binary. You will need mingw installed, as well as the
WinPcap library. WinPcap is available here:
  <http://www.winpcap.org/install/bin/WpdPack_4_0_2.zip>

クライアント側にも pcap が必要みたいで、cygwin でコンパイルするには WinPcap
が必要みたい。つまり、動かすにはがっつり管理者権限がいるということか。
ちょっと保留だな。

 3/25
Network
昨日の続き。別な over ICMP のを探していて itun というのを見つけた。情報
量が少ないので、ソースをダウンロードして、中を見てみた。

  1. What platforms are supported by ITun ?
  
     Now it works only on Linux.

  2. What do I need to run ITun ?
  
     You only need to add support 
     Universal TUN/TAP device driver support
     in your Linux kernel.

微妙だな。ICMP が届くレンタルサーバは TUN デバイス対応したと、どこかに
書いてあったけど作るの面倒そうだし、両方 Linux にしないといけないので、
別途サーバを用意しないといけないし。何か管理者権限が必要ない良い感じの
ものが見つからないな。

 3/26
Other
ちょっと EXIF をいじってサムネイルを置き換えて遊んでいた。explorer から
一覧を表示させていて、いつもは「詳細」にしている表示を「縮小版」に変えて
みたら、EXIF のサムネイルから画像を拾ってきているようで、本体の画像とは
全く異なる画像の一覧になった。写真本体からサムネイルを作成しているものと
思っていたので、少しびっくりした。なんだか、ごにょごにょやれば Thumbs.db
ごと適当に置き換えられそうだな。良いのか悪いのか、悪いのだろうけど。

 3/27
WWW Other
気が付くと、Gmail というか google apps のアカウントの数が結構増えていて、
メールを読むのにログアウト、ログインの煩雑さがあった。何かしらのブラウザを
使って、1つ1つのアカウントをタブで使えないかと探してみたけど、うまく解決
してくれるものが見つからない。Firefox と Gmail Manager の組み合わせとか、
chrome と Simple Mail Checker for Gmail とか使ってみたけど、どうも思って
いるような動作ではない。かと言って、アカウント2つを統合するのも、何かが
あったときに困りそうだし。久しぶりに chrome を起動したりしながら、もやもや
したような日だった。

 3/28
Other
2週間以上前に sheeva plug を注文した GlobalScale からメールが来ていた。
FedEx で送ったぞ、という内容と FedEx の tracking number が付いていた。
FedEx のサイトにアクセスして確認してみると、最新の status は配達完了で
あった。ん?と思っていたら、実家の人から、たまたま家に来たときに配達が
あって、荷物を受け取ったとメールが来ていた。それは良いとして、GlobalScale
が荷物を送って5日経っているので、もっと早く tracking number を送れると
思うんだけど。
ま、とりあえず税関で税金が掛からなかったみたいなので、良かったことにする。

 3/29
Other
sheeva plug で使う SD カードや、短い LAN ケーブル、電源タップを買うため、
昼休みにヨドバシカメラに行ったら、想像の倍ぐらいの値段。仕方なく、帰りに
秋葉原に寄ってきた。予算よりもだいぶ安く買い物も済んだので、一安心して、
ついでにテレビアンテナを2分配する分波器も買ってきた。家に帰って、早速
分波器を付けて、LCD-DTV223XBE と KTV-FSUSB2 を両方繋いでみて、ちゃんと
見られることを確認した。これで予約した番組がアンテナ接続忘れで録れてない
ということはなくなりそう。

 3/30
Other Network
sheeva plug が届いたので、早速起動してみた。ドライバの CD が入ってなかった
ので、ネットワークからダウンロードする。GlobalScale の sheeva plug ページ
からダウンロードを選ぶと、plugcomputer.org のページに飛ぶ。その先が何だか
良くわからない。少し調べると、「Plug Computer Basic」という製品みたいなの
で、その製品を選択すると、いくつかダウンロードできるものが出てきた。少し
迷いながらも Tools / Drivers にある Sheeva Plug Installer をダウンロード
してみたけど、145M もあったのに関係ないイメージとか rootfs なんかのファイル
だったし。どれだろうと色々探して、結局 Documentation と書いてある中での
「Plug SW Support Package Windows Host」と書いてあるものだった。Documentation
と書いてあったので、予想外で思った以上に時間がかかってしまう。ドライバを
入れて、シリアルの7番で接続して、やっと sheeva plug にログインすることが
できた。

sheevaplug-debian login: root
Password: 
Last login: Tue Jan  4 08:53:41 UTC 2011 from 192.168.2.2 on pts/0
Linux sheevaplug-debian 2.6.22.18 #1 Thu Mar 19 14:46:22 IST 2009 armv5tejl

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
sheevaplug-debian:~# pwd
/root
sheevaplug-debian:~# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                   257816         0    257816   0% /lib/init/rw
udev                     10240       616      9624   7% /dev
tmpfs                   257816         4    257812   1% /dev/shm
rootfs                  519168    189208    329960  37% /
tmpfs                   257816         0    257816   0% /var/cache/apt

ドライバを探すだけで、思った以上の時間がかかったので、今日はここまで。

 3/31
Other Network
sheeva plug が動作した。容量的にも書き込み回数的にも心配なので、SD カード
からの起動にする。とりあえず、装着して再起動してみた。色々調べてみると、
SD カードに対応していない u-boot があるらしいので、4G の SD カードを刺して
再起動して確認してみることに。

U-Boot 1.1.4 (Jul 14 2009 - 06:46:57) Marvell version: 3.4.16

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CF120

Soc: MV88F6281 Rev 3 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz 

DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000   size 256MB 
DRAM CS[1] base 0x10000000   size 256MB 
DRAM Total size 512MB  16bit width
Flash:  0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled 
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0 
Marvell>> help
?       - alias for 'help'
base    - print or set address offset
~snip~
mm      - memory modify (auto-incrementing)
mmcinit - init mmc card
mp      - map PCI BAR
~snip~
Marvell>> mmcinit
SDHC found. Card desciption is:
Manufacturer:       0x03, OEM "SD"
Product name:       "SU04G", revision 8.0
Serial number:      604071589
Manufacturing date: 2/2012
CRC:                0x00, b0 = 0
Marvell>> 

認識もしているし、大丈夫そうな感じ。起動させて、マウントさせてみた。

sheevaplug-debian:~# mkdir /mnt/sd01
sheevaplug-debian:~# mkdir /mnt/sd02
sheevaplug-debian:~# mount /dev/mmcblk0p1 /mnt/sd01
sheevaplug-debian:~# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                   257816         0    257816   0% /lib/init/rw
udev                     10240       616      9624   7% /dev
tmpfs                   257816         4    257812   1% /dev/shm
rootfs                  519168    188464    330704  37% /
tmpfs                   257816         0    257816   0% /var/cache/apt
/dev/mmcblk0p1         3864064        32   3864032   1% /mnt/sd01
sheevaplug-debian:~# cat /etc/mtab
tmpfs /lib/init/rw tmpfs rw,nosuid,mode=0755 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
sysfs /sys sysfs rw,noexec,nosuid,nodev 0 0
procbususb /proc/bus/usb usbfs rw 0 0
udev /dev tmpfs rw,mode=0755 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=620 0 0
rootfs / rootfs rw 0 0
tmpfs /var/cache/apt tmpfs rw,noexec,nosuid 0 0
/dev/mmcblk0p1 /mnt/sd01 vfat rw 0 0

SD を linux で使うには vfat じゃまずいので、fdisk でフォーマットの変更を
する。

sheevaplug-debian:~# umount /mnt/sd01
sheevaplug-debian:~# fdisk /dev/mmcblk0p1
~省略~
Command (m for help): p

Disk /dev/mmcblk0: 3965 MB, 3965190144 bytes
49 heads, 48 sectors/track, 3292 cylinders
Units = cylinders of 2352 * 512 = 1204224 bytes
Disk identifier: 0x00000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *           1        2977     3500928   83  Linux
/dev/mmcblk0p2            2978        3292      370440   82  Linux swap / Solaris

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
 mmcblk0: p1 p2
 mmcblk0: p1 p2
Syncing disks.

80行をはみ出たけど、w3m で見ている人、勘弁してください。ということで、
SD カードにスワップを取るのはどうかと考えたけど、念のためとっておいた。
ジャーナルとかされると困るので、ext2 でフォーマットして、再起動はほとんど
しないので、fsck はしないようにした。

sheevaplug-debian:~# mkfs.ext2 /dev/mmcblk0p1
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
~snip~
sheevaplug-debian:~# tune2fs -c 0 -i 0 /dev/mmcblk0p1
tune2fs 1.41.3 (12-Oct-2008)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
sheevaplug-debian:~# mkswap /dev/mmcblk0p2
~snip~

これでフォーマットが完了したので、コピーをする。

sheevaplug-debian:/# mount /dev/mmcblk0p1 /mnt/sd01
sheevaplug-debian:/# cd /
sheevaplug-debian:/# cp -a * /mnt/sd01/

なんか /proc のコピーで止まってしまうので、/ のディレクトリを1つ1つ、
と言っても 18 ぐらいコピーした。思ったよりも時間がかかったな。

21st projects Tatsuyoshi Networks Prompt Works
by Tatsuyoshi since 2003