|
GA | GW | G | A / amL | S | |
初めてTidBITSのwebを見た
初めてTidBITSのwebを見た 。
あいかわらずゴリっとした文字だけのページを見て、
昔、テキストで読んでいた時代を思い出す。相変わらずだ。
Wi-Fi自動接続ソフト Devicescape(前編)を見ると、IP over DNS を 使っているらしい
Wi-Fi自動接続ソフト Devicescape(前編)を見ると、IP over DNS を
使っているらしい 。へぇ。
DNSトンネルを使っている」と指摘するTidBITSの記事は 2007年5月7日付。
で、DNSトンネルについては、Devicescape社は2006年12月に認めていたという。
Devicescapeは、事前に登録しておいたWiFiホットスポットの ユーザ名とパスワードをDNSで返して、自動的にログインできるように するらしい。しかし、IP over DNSや、DNSを使ってユーザ名などを ダウンロードしている、というような記述は "How it works" を見ても "How Devicescape is Secure" を見ても見当たらない。 SSL を使っているとか、AP につなぐときは証明書を確認しているとか 文字では書いてあるけれど、どの時点でSSLをつかうとか、どこにある 何の名前の証明書を確認しているのかわからない。 SSLといえば、当然ログイン時のweb 認証ページのことだとも 思われるけれども、DNS だとか EAP とかいう単語はない。また、 証明書といっても、web認証ページのwebサーバの証明書のDNなのかCNなのか 書いてない。SSL を使わない、web認証ページだったら、やはり 警告を表示するのだろうか? 疑問満載。 Wi-Fi自動接続ソフト Devicescape(後編)にはセキュリティについて 触れているのだけれども、DNS 上でパスワードも転送しているとなると、 それってだだもれ? そこで MatrixSSL が必要なのだろうか? メインはログイン時に使うものだろうけれども。 deviceescape (beta) は、 携帯型無線 LAN 機器を無料の WiFiネットワークに接続できるようにするソフトを配布する会社。 もともと、携帯電話やWiFiプロジェクタなどの WiFi クライアントの 実装を行ってきたらしい >Customerを見ると NTT-BP, EPSON, SHARP, Motorola A910, Brother, Palm など がある。PSIONとか U.S. Robotics とかなつかしい (?) 名前もある。 hostapd には OpenSSL より軽量の MatrixSSL も利用できるらしい
hostapd
には OpenSSL より軽量の MatrixSSL も利用できるらしい 。
hostap ML で、去年の 2007 年 10 月に、
Devicescape が MatrixSSL で
動作するようにしたとのこと。
MatrixSSL が sourceforge に登録されたのは
2006年8月から。sourceforge 上での管理者は peersec 。
実装時の大きさは 50KB 以下、HTTP, SIP, H.323, EAP-TLSなど向け。
hostapdでWPS機能がはずれたのはなぜ
hostapd でWPS機能がはずれたのはなぜ ?。
という投稿が hostapd-ML にあった。てっきり、WPS は
操作は簡単だが、実際のところセキュリティ的に問題あり、
などの明確な理由があって削除されたのかも? などと思って読んでみた。
とある方のML上の返事によると、
「ディスククラッシュのせいではないか?」とのこと。
そういう理由でソースの一部が喪失するのも、かなしい。
日記の表示方法を大幅に変えつつある
日記の表示方法を大幅に変えつつある 。といっても
よくあるブログと同じだけれども。
日記はいままでテキストファイルで書きためてあるのと、 DB に入れると、その DB の更新やらメモリなどのリソース調達やらで めんどうなので、テキストのままでいく。 あと、自分の日記にリクエストが来てあふれるということもない。 まず、日記を取り出す方法を次のようにした。
元の日記のテキストファイルは次のような構造になっている。 <font size=+1><b>2008年4月29日 (火) くもりときどきはれ</b>lt;/font>lt;br>
<blockquote>
で始まり、
<blockquote>
<br>
<br>
<br>
で終わる。行頭の空白はタブが一文字入っている。
font タグや blockquoteを使っているのは、
大昔にこう書いたほうが、ほしい表示が早くできたから。
今ではこれらの文字列はただの区切り文字の意味しかない。
このようなテキストから、日ごとの文字列を配列を、 最後の /s は、改行文字を含めて正規表現を適用する、という意味。 /x は、正規表現の間にスペースやタブ、改行を入れて、読みやすく 表記できるようにするオプション。コメントも書ける。 my $DAY_DELIMIT = / # 正規表現を変数に設定する
# 使うときは split(/$DAY_DELIMIT/, $string) とすればよい
# 変数に設定するときは、/ は気にせず指定できる
# (?: は、split(//) の正規表現部分に与えたときに、
# split() の結果として配列に返してほしくないために指定する
(?:
[\r\n]+ # 改行の 1 つ以上の連続
>font \s+ size=\+1> >b> # タグにマッチする
(\d{4}) \D+ (\d+) \D+ (\d+) # 年月日をとりだして配列にして返す
[^(]+ \(([^)]+)\) # (水) などの曜日をとりだす。
\s* # 曜日のあとに空白が続くかもしれない
([^<]+) # < でない文字、タグでない文字列をとりだして返す
>/b> >/font> >br> # タグの羅列。正規表現を変数に設定するので / はそのまま
\s+ # 改行を含む空白の連続
>blockquote> # blockquote タグ
\s+ # 改行を含む空白の連続
# ここまでが前半の区切り文字列のパターン
|
# ここから先が後半の区切り文字列のパターン
[\r\n]+ # 改行の 1 つ以上の連続
\t # タブ文字
# ここまで、空白 \s の連続と指定しまうと、ほかの場所で
# マッチしてしまうため、特にわかっている形式を指定する。
>/blockquote> # blockquoteタグの終了
(?: \s+ >br> )+ ) # br タグの羅列。必要ないので (?: を指定する
/sx; # 正規表現の指定終了
この正規表現を @days = split(/$DAY_DELIMIT/, $string) などと
指定して、日記文字列全体から、日付単位で分割された配列を受け取る。
ここで、日付単位の配列は1セット 6個になる。おもしろいのは、 上の正規表現の前半部分に、配列として返すグループが 6 個指定してあるが、 後半はないのに、それぞれ前半がマッチしても、後半がマッチしても、 それぞれ 6 個づつの配列を返してくる。 確かに、前半が6個で、後半が0個では、どちらにマッチしているのかわからない。 なので、どちらにマッチしても 6個の配列を返してくれれば、処理は簡単だ。 返ってくる配列は、
次に、各記事を分割する。単独の記事は次のような構造になっている。 <img src="img/news-icon.png" align=right> Network: Web: 会社で14:00ごろからgoogle.co.jpがつながらなくなっていた。 google.com も gmail も youtube.com もつながらなかった。 ...最初に、画像表示などのため、HTMLタグが入ることがある。 次にカテゴリを示すラベルが ": " で区切られている。 ラベルは一行で書ききることにしている。そのあと、HTMLを含む 本文が続く。本文の冒頭の一文は、記事のタイトルになる。 最初の一文とは、本文の先頭から、最初の 。 までの区間になる。 これを正規表現で書くとこうなる。
/ (?: \s* < [^>]+ >)* \s* ( (?: [^:\r\n]+? [^\s:] : \s+ )* ) \s* ( [^。]+ )。(.*) /sx; 上と同じ正規表現をコメントを入れて説明しておく。 こちらは split() ではなく、すでに取り出した文字列に 正規表現を適用して (=~)、括弧のグループ指定を使って、 特定の部分だけを配列としてとりだす形になっている。 そのため、括弧のグループで指定されていない部分は、 読み捨てる形になる。 my @article = ($_artString =~ / # $_artStringから、記事を分割する
(?: \s* < [^>]+ >)* # 記事冒頭にある HTML タグの連続を削除
# カテゴリのラベル文字列の連続をかたまりで取り出す
\s*
( # 空白文字列の連続があるかもしれない
# ひとつの文字列で返るので、あとで split() すること
(?: ### (?: ...)* という書き方をする
[^:\r\n]+? # : でも改行文字でもない連続 (1行内だけ注目する)
# 次の、直前に空白がない、を検査するため、+? にする
[^\s:] # : の直前は空白ではない ... カテゴリ文字列は2文字以上
# "C" などのカテゴリのラベル文字列は使えない
: # コロン文字1文字
\s+ # 空白文字が 1 文字以上 (: ) のようになっているはず
)* ### (?: ...) は配列として返らないが、この複数マッチをまとめて次の括弧で返す
) ### この括弧で、カテゴリ文字列の組の複数マッチを一度に返す
# タイトル文字列の取り出し
\s* ( [^。]+ )。 # タイトル文字列は、。までの文字
(.*) # それ以後は本文
/sx);
けっこう長くて気持ちが良い。
ここで、正規表現のグループの繰り返しについて。
そのため、マッチするための文字列は
こういう、正規表現のどの位置で何がマッチしたので、どの変数に
積み込むか、という作業を簡単にできそうなのが、
Perlの ほとんど曇りな、はれ 。5月の連休っぽくはない。 |
[Googleガジェット]残IPv4ガジェット/RSSカテゴリ最新日記一覧おすすめ
セキュリティの神話日々変化を続けるウイルスと、ウイルス対策メーカ、ソフト開発会社の 事情と都合を紹介しつつ、これからあるべきウイルス対策をSaaSで 展開する"AV 2.0"(一見さんお断り方式)を提唱。
Linkers & LoadersELF/a.out/COFFなどの実行ファイルの構造の詳細、メモリとアドレスの再配置の仕組み、共有ライブラリの実現方法など。(2001年)
ハイパフォーマンスWebサイト - 高速サイトを実現する14のルールWebクライアントから見た、Webサイト高速表示のためのポイント。 14の各ルール内に、いくつかバリエーションもある。
プロフェッショナル・セキュリティ・レビューパソコン、無線LAN、電子署名などのPKI(電子証明書)の動向が よくまとまっている。(JNSA編集協力
PLANEX GW-NS300N2 802.11n無線LANカードLinux用ドライバがRalink社から配布 ( 関連記事)。 Linux上のWPA-PSKでもサーバレスで利用できて便利。
マスタリングTCP/IP RTP編「作りたくなる」本。マルチメディア制御の基礎もわかる、翻訳本とは わからないほどのこなれた日本語。
C/C++ セキュアコーディングC/C++言語で脆弱性のないコーディングのための基本テクニック。グーグル八分とは何か告発サイトがGoogleから締め出される現実と検索エンジンのありかたを問う。
無線通信とディジタル変復調技術64QAM, OFDM, CDMA などのデジタル無線変調の教科書
お魚かるた「あんこうは 大口 なんでも食べる」「ひらめの目は 左側」など、
No Place To Hide行動、職歴、財産など、あらゆる個人情報が収集され、売買される現実。 「隠れ場所なし」
Ethereal Packet Sniffingパケット解析の強力ツール Ethereal の紹介。マスタリングTCP/IP(IPv6編)IPv6 ルーティング、認証プロトコルもあり。組み込みを意識した本。
GANDHI - ガンジーインド独立の指導者、マハトマ・ガンジー怒涛の偉業をたどる。
アンナと王様[DVD]子供時代のチュラロンコン・タイ国王とイギリス人家庭教師の交流と葛藤をアジアの目から描く。
エニグマ[DVD]第二次大戦中に活躍したドイツの暗号器「エニグマ」の解読に挑む。 ハードウェアだけでもすばらしいユーザインターフェースが実現できる。リンク
対応規格広告 |
|
お便りはこちらへ (sshida@gmail.com) |
見出し一覧は RSS で
|