2007年8月20日月曜日
2007年8月17日金曜日
Subversionでコミット完了後に自動で処理を行う (post-commit)
人に教えようとしたら自分がはまったのでメモ
Subversion(cvsもそうだったが)では、処理の各所で自動で割り込み処理を行わせることができる。
各リポジトリの下にhooksというディレクトリがあり、その中に以下のスクリプトが置かれている。
post-commit
post-lock
post-revprop-change
post-unlock
pre-commit
pre-lock
pre-revprop-change
pre-unlock
これらはその名前のとおりの場所でフックを行い、中に書かれたスクリプトが実行される。
コミット直後ならばpost-commit内に処理したい内容を記述すればよい。
なおこれらのスクリプトは最初post-commit.tmplとかなっているので、post-commitのようにリネームする。
スクリプトなので実行権限(svnの)を与えることを忘れずに。
中に書くスクリプトの注意点
・これはsvnユーザで実行される
・コマンド実行するときは実行権限,書き込み権限などを考えること
・ついでにパスも注意(パス通ってなくエラーとか)
例:Webページなどの編集でコミット後に/var/www/htmlにアップロード
/usr/local/bin/svn update /var/www/html >> /tmp/hoge.log 2>&1
・svn update先には最初にcheckout忘れずに
・リポジトリに日本語名はいってると、svn updateでファイル名が変換できませんとエラーになったり
・一応ログにはかせよう
2007年8月15日水曜日
ウェブページの上部にmBBBBBBBが表示される
少し前に、自分が管理に携わってるネットワークで発生した事件.
そろそろ鎮火したっぽいので状況でも報告してみる.
様々なページの上部にmBBBBBBBという文字が表示されている.
# 本当はもっとごちゃごちゃ表示されるが、読めるのがこの文字ぐらい.
またブラウザにもOSにも依存せず,同一ネットワークの複数のマシンで同様の状況が発生する.
いつの間にか直っていたりして,発生条件が意味不明.
この現象、結論から言うと、同一ネットワーク内のホストがとあるウイルスに感染しているのが原因.最終的な駆除の部分には関わらなかったので,具体的になんていうウイルス名かは聞かなかったが,途中報告での話ではSymantecでいうところの,W32.Arpiframeとかそのあたりのウイルスに感染したホストがあったために起こったもよう.
# こいつじゃない他のウイルスのような気もするけど、まあ症状は似てる.
今回これらによる被害としては,ウイルスに感染したホストは,ARPポイゾニングを使って同一のネットワーク内の通信をフックし,HTTPコンテンツにIFRAMEを挿入してエクスプロイトをダウンロードするように強制するとSymantecのサイトには書かれている.
実際のところなんか中途半端にヘッダが書き換えられ,変なごみがついて,結果としてmBBBBBBBが表示されるだけになっちゃったっぽい.IFRAMEの挿入に失敗したのかな? もしくはこれに似たほかのウイルスかもしれないけど.
以下ダンプして見た結果.
実際うちのネットワークでは数百ホストが同一ネットワークに接続されているが,そのすべてのトラフィックが感染した1台を経由してため,最初のルータへの1ホップのRTTが平均500msというものすごい重さになった.そしてこのウイルスに感染したホストを通過すると,HTTPコンテンツを書き換えられる.この際同時にHTTPヘッダが書き換えられて,Content-LengthとContent-Typeだけになってる.ちなみにこのContent-Lengthの書き換え,挿入分のつじつまを合わせようとしているのだろうが,なんか失敗してるっぽく,実際の長さよりも小さかったりしてる.おかげでページ下部が切れて表示されなくなったりした.
# mixiの広告部分はJavaScriptなのでスクリプト上部下部が切れてしまい,広告じゃなくソースがそのまま表示されてしまってる.他にもレイアウトやら表示が完全に崩れてしまうサイト多数.
というわけで,mBBBBBBBが表示されたら同一ネットワーク内のホスト(自分も含めて)がウイルスに感染していることを疑ってみましょう..
FreeBSDでSubversionのインストール
make.confのオプションをしょっちゅう忘れるのでメモ.
WebDAV使うときのお話.
make.confに以下のオプションを追加
WITH_MOD_DAV_SVN=yes
WITH_APACHE2_APR=yes
WITHOUT_BDB=yes
そんでもってportsからインストール
# cd /usr/ports/devel/subversion/
# make && make install
インストール終わったらrc.confに以下を追加
svnserve_enable=yes
最後にsvn用ユーザとグループの作成.
uid, gidはてきとうにかぶらないやつを.
# pw groupadd -n svn -g 100
# pw useradd -n svn -u 100 -g svn -d /nonexistent -s /nonexistent
そして起動
# /usr/local/etc/rc.d/svnserv
リポジトリの作成
/svnというディレクトリに,hogeというリポジトリを作ってみる.
$ svnadmin create /svn/hoge
Apache2とdavで連携させるには,httpd.confに以下の感じで追加
<Location /svn>
Dav svn
SVNParentPath /svn/hoge
</location>
2007年8月8日水曜日
Windows Live Messenger のオプション画面に「アドイン」の項目を追加する
Windows Live Messenger (たぶんMSN Messengerも)には,ユーザがMessenger APIを利用して作成した,アドインを組み込むことができるオプションがある.
デフォルトでは表示されない項目なので,レジストリエディタで,
HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger\AddInFeatureEnabled
に,
DWORDエントリを加える.
1なら,アドインセッティングを有効.
0なら,アドインセッティングを無効.
エントリを加えたら,Windows Live Messengerを再起動
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger]
"AddInFeatureEnabled"=dword:00000001
肝心のアドオンの作り方については,眠いのでまた今度
2007年8月4日土曜日
Windowsで後から英語キーボードに変更
Windowsで日本語キーボード認識になってるのを英語キーボードに認識しなおさせるレジストリ.
組み込んだら再起動.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
"OverrideKeyboardSubtype"=dword:00000000
"OverrideKeyboardIdentifier"="PCAT_101KEY"
"LayerDriver JPN"="kbd101.dll"
日本語配列に戻す場合はこちら
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
"OverrideKeyboardSubtype"=dword:00000002
"OverrideKeyboardIdentifier"="PCAT_106KEY"
"LayerDriver JPN"="kbd106.dll"
2007年8月3日金曜日
Internet Explorerでは、windows - / をダウンロードできません。
レジストリでxmlのタイプが変更されるのが原因
Dreamweaverなかを入れると発病
たぶんVistaな人が発症
レジストリを↓の感じで,インストールしたての標準にもどせばOK
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.xml]
@="xmlfile"
"Content Type"="text/xml"
"PerceivedType"="text"
[HKEY_CLASSES_ROOT\.xml\OpenWithList]
[HKEY_CLASSES_ROOT\.xml\OpenWithList\winword.exe]
@=""
[HKEY_CLASSES_ROOT\.xml\PersistentHandler]
@="{7E9D8D44-6926-426F-AA2B-217A819A5CCE}"