docomo Xperia SX (SO-05D) のプリインストールアプリの凍結リストを作成した。

一応、手元の実機で動作確認済みだが、設定は自己責任でお願いします。
Xperia GX (SO-04D) でも基本的には同じはず。

オススメの保護フィルム


カメラやLED部分などに余計な切りかきがなく、フィルムの縁の収まりが非常に綺麗なフィルムです。

OverLay Magic OMSO05D
OverLay Brilliant OBSO05D
OverLay Magic OMSO04D
OverLay Brilliant OBSO04D
SoftBankガラケー(Y!ケータイ) のIPアドレス帯域は こちら で公開されている。

携帯アクセスの判定には、USER_AGENT もしくは接続元の IPアドレス を参考にすることになるのだが、各キャリアは定期的にネットワークを増強するために IPアドレス は 追加/変更/削除されることになる。
公開されているIPアドレス帯域を個別に指定し、Apache の mod_access などの WEBサーバ 側でアクセス許可することもできるが、その場合、IPアドレス帯域が変更されるたびに、すべてのWEBサーバの設定を変更しなくてはならない。

具体的に、上記の SoftBank を例にすると、こうだ。

# 2012-02-08 現在 ~ 2012-03末
allow from 123.108.237.224/27
allow from 202.253.96.0/27

# 2012-03末 ~ 2012-06末
allow from 123.108.237.224/27
allow from 202.253.96.0/27
allow from 123.108.237.128/28
allow from 123.108.239.240/28
allow from 202.253.96.160/28
allow from 202.253.99.160/28
allow from 210.228.189.196/30

# 2012-06末 ~
allow from 123.108.237.128/28
allow from 123.108.239.240/28
allow from 202.253.96.160/28
allow from 202.253.99.160/28
allow from 210.228.189.196/30


これを運用しているすべてのWEBサーバ、サーバの各 Virtual Host に反映することは、苦痛以外のなにものでもない。もちろん SoftBank だけではなく docomo や au も同様である。
そこで、動的なコンテンツでは コンテンツ内部で IPアドレスを逆引きした結果のホスト名がマッチするか判定することで、IPアドレス帯域が変更になってもサーバ設定をメンテナンスする必要がない。

ホスト名マッチングとしては、以下のような判定が可能である。

*.docomo.ne.jp (docomo)
*.ezweb.ne.jp (au)
*.jp-[tkqc].ne.jp (SoftBank)
*.spmode.ne.jp (docomo SPモード)
*.au-net.ne.jp (au IS NET/au.NET)
*.panda-world.ne.jp (SoftBank iPhone)


しかし SoftBankガラケー の場合、逆引きできない IPアドレス からアクセスがある場合がある。その場合、コンテンツ側で拒否しないよう注意が必要だ。
結局、そうなるとリモートホストでのアクセス制限が意味をなさなくなってしまい、IPアドレス帯域が変更されると、今度は対象のコンテンツをすべて改修しなくてはいけなくなってしまうのだ。

ということで、逆引きができない(リモートホストが引けない) IPアドレスのアクセス制限を、WEBサーバやコンテンツで保守しないでも済むための Tips。
MySQL 5.1.48 にアップグレードをしようとしたら、configure の終了間際に変わったエラーが出力されていた。

config.status: executing libtool commands
/bin/rm: cannot remove `libtoolT': No such file or directory


libtoolsのバグのようだが、下記手順にて configure を再生成する。(パスは適宜変更すること)

$ libtoolize --force
Using `AC_PROG_RANLIB' is rendered obsolete by `AC_PROG_LIBTOOL'
You should update your `aclocal.m4' by running aclocal.
$ aclocal
$ cp -p BUILD/compile-pentium-max compile
$ autoreconf
$ ./configure --prefix=/usr/local/mysql --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-mysqld-user=mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=all --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-libwrap --with-pthread --without-libedit --without-readline --with-plugins=max-no-ndb


これで無事、エラーは解決した。
既存の MySQL をアップグレードした場合、いくつかの my.cnf のシンタックスが変更になっているので起動時ログをチェックすること。

100720 16:44:40 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var
100720 16:44:40 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
100720 16:44:40 [Warning] '--log_slow_queries' is deprecated and will be removed in a future release. Please use ''--slow_query_log'/'--slow_query_log_file'' instead.
100720 16:44:40 [Warning] '--log-long-format' is deprecated and will be removed in a future release. Please use '--log-short-format' instead.
100720 16:44:40 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
100720 16:44:40  InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
100720 16:44:40  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
100720 16:44:41  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
100720 16:44:41  InnoDB: Started; log sequence number 0 0
100720 16:44:41 [ERROR] Incorrect definition of table mysql.event: expected column 'sql_mode' at position 14 to have type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH'), found type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_Z
100720 16:44:41 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler.
100720 16:44:41 [Note] /usr/local/mysql/libexec/mysqld: ready for connections.
Version: '5.1.48-log'  socket: '/usr/local/mysql/tmp/mysql.sock'  port: 3306  Source distribution


ログによって mysql データベースに変更があったことがわかったので、以下のコマンドを実行する。(パスは適宜変更すること)

$ mysql_upgrade --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var -uroot -p

管理ブログを MT-4.261 から MT-5.02 にアップグレードしたのだが、テスト環境で気づかなかったポイントを含む、本番環境への移行メモ。

・mt-config.cgi には "DefaultLanguage ja" を追記。
・同じく "PublishCharset" を定義しているときは "SQLSetNames 1" を追記。
・ただし、このサイトの場合はDBが元々UTF-8環境なので "PublishCharset" を定義せずに "SQLSetNames 0" とした。
・MT-5.02 は古いMT4パッケージを上書きインストールしないこと。個人的には毎回
# mv mt mt_old; ln -s [DocumentRoot]/MT-5.02-ja -> mt
とするような運用がおすすめ。
・アップグレードが終わったら、「システム」→「デザイン」→「テンプレート」より右にある「テンプレート初期化」アクションでグローバルテンプレートの初期化を行う。
・ダイナミックパブリッシング設定の場合、mtview.php が再構築されずに空白ページになてしまう場合があるようだ。その場合、「設定」→「全般」より「ダイナミックパブリッシング設定」の「条件付き取得を有効にする」にチェックを入れ、再構築をするとうまくいった。


ところで、当サイトではタグクラウドの表示はよくつけられているタグ上位20件を名前順に表示し、頻度が高いものを大きなフォントで表示している。巷では頻度順に表示する人が多いみたいなのだが、MT-5.02 では名前順に表示できなくなったしまった。
日常用・仕事用のメーラーを Becky!2 から Thunderbird に乗り換えてからだいぶ経ち、「Content-Type: message/partial;」な分割メールとIMAPの組み合わせ以外はほとんど問題もないのだが、たまにメッセージペインのヘッダ領域のレイアウト崩れがあったのでその対応方法。

Thunderbird 3.0 ではHTMLメールに含まれるIMGタグなどをチェックし、リソースが外部サイトの場合には
「プライバシー保護のため、このメッセージ内のリモートコンテンツをブロックしました。」
という警告画面を表示する仕様になっています。

この機能によって、スパムのアドレス存在チェックを回避しつつ必要なサイトの画像は表示できるのでこの機能は非常に便利なのですが、送信元アドレスが非常に長い場合にレイアウトが崩れてしまいます。

alwaysLoadRemoteContentForSender2_before.jpg
このように、各種ツールボタンや「リモートコンテンツを表示する」ボタンが隠れてしまっています。
もちろん、Thunderbird のウィンドウサイズを大きくすればいいのですが、ノートPCなどモニタサイズに限りがある環境では必要最低限のウィンドウサイズにしている人も多いのではないでしょうか。

残念ながら、現時点では全般設定や「about:config」で表示位置や表示内容を変更することができないので、言語リソースファイルを直接変更します。

・Thunderbird を終了
・%ProgramFiles%\Mozilla Thunderbird\chrome\ に移動
・ja.jar ファイルを ja.zip ファイルにリネームし、解凍
・messenger.properties ファイルを UTF-8 読み書きのできるエディタで開く(メモ帳不可)

alwaysLoadRemoteContentForSender2 = %1$S からのメールでは常にリモートコンテンツを読み込む
を以下のように変更 ↓
alwaysLoadRemoteContentForSender2 = このアドレスからのメールでは常にリモートコンテンツを読み込む


・解凍したファイルをすべて ja.zip に再圧縮して上書き
・オリジナルの ja.jar をバックアップし、再圧縮した ja.zip → ja.jar にリネーム
・Thunderbird を起動



alwaysLoadRemoteContentForSender2_after.jpg
メッセージペインのツールバー、ボタンがレイアウトが崩れることなく正しく表示されるようになりました。
Apple Security Update 2009-002 を Leopard に適用してしばらくして、当サイトを含む複数のサイトドメインが引けなくなってしまい、サーバ自身も外部の名前解決ができなくなってしまった。
原因は、Security Updateに含まれるBINDのバージョンアップ。

* BIND

CVE-ID:CVE-2009-0025
対象となるバージョン:Mac OS X v10.4.11、Mac OS X Server v10.4.11、Mac OS X v10.5 ~ v10.5.6、Mac OS X Server v10.5 ~ v10.5.6
影響:BIND が DNSSEC を使用するように設定されていると、スプーフィング攻撃の影響を受ける。
説明:BIND で OpenSSL DSA_do_verify 関数の戻り値をチェックする方法が誤っています。DNSSEC (DNS Security Extension) プロトコルを使用するシステム上では、悪意を持って作成された DSA 証明書が検証を回避する可能性があるため、スプーフィング攻撃を受ける可能性があります。DNSSEC は、デフォルトでは有効化されていません。このアップデートでは、BIND をバージョン 9.3.6-P1 (Mac OS X v10.4 の場合)、および 9.4.3-P1 (Mac OS X v10.5 の場合) にアップデートすることで、問題を解消しています。詳細については、ISC の Web サイト ( https://www.isc.org/ ) を参照してください。


SYSLOG (/var/log/system.log) には以下のエラーログが記録されていた。
"could not get query source dispatcher (0.0.0.0#53)"

/etc/named.conf にて指定していた「query-source port 53;」エントリをコメントアウトすることで復旧した。

参考:http://oldwww.isc.org/sw/bind/view/?release=9.4.3-P1&noframes=1
080927-1.jpg
先週末ついに初霜が降りた我が家。短い秋ももうすぐ終わり、長い冬がもうすぐやってきます。
ということでもう1ヶ月以上前(笑)のことですが、来シーズン用の薪も作り始めたのでした。
crepuscular_rays.jpg
今日は久しぶりに暑いくらいの、いい天気。

日が傾いた頃、帰り道に空を見上げると、光芒(crepuscular rays)と呼ばれる空に出会えました。
ホントはもっと綺麗だったのですが、撮影場所を探しているうちに状況が変わってしまいました。

ゴーストが映っているのはご愛敬!

(Ricoh GX100;F11.7;44mm;1/1250;ISO100)
0808181009.jpg
我が家に新しい家族がやってきました。
クリーム色のミニチュアダックスフンド。

名前もつけたけど、ネット上では「クリーム」ってことにしますw

う~ん、カワイイ~。
これからはもうちょっとブログ更新しようっと(汗
春一番と寒気が重なり、我が家の周りはまた雪模様。
強風によって削られた粉雪の表面が、砂漠のような幻想的なエッジを形作っていました。
snow_edge.jpg

アーカイブ

最近のコメント

Photos