Project

General

Profile

バグ #573

Twitpicの画像プレビューができない

Added by toshi_a 初音 about 6 years ago. Updated about 6 years ago.

Status:
終了
Priority:
通常
Assignee:
-
Target version:
プラグイン名:
openimg
ブランチ:
クラッシュする:

Description

Webが開いてしまうので、おそらくスクレイピングが失敗するようになったと思われる。パッチ受付中です(やる気ないわけじゃないけど)

Associated revisions

Revision 11aaf605 (diff)
Added by toshi_a 初音 about 6 years ago

Ruby1.9.3 p392の環境で画像プレビューが正常に動作しなかった closes #573

History

#1

Updated by Izumi Tsutsui about 6 years ago

パッチ以前の状況確認のみですが、よくわからない現象が起きている感じです。

例によって pkgsrc で入れた NetBSD上の mikutter 0.2.1.1130 という「とか環境」ですが、
同じバージョンの mikutter でも、マシンによってtwitpicのURLを叩いてpreviewできるmikutterと
できないmikutterがあります。

openimg.rb の imgurlresolver() で、preview できるものは

notice: {MIKUTTER_DIR}/core/miku/cons.rb:34:in `call': try to open url 'http://twitpic.com/3bn433' expanded 'http://twitpic.com/3bn433'
notice: {MIKUTTER_DIR}/core/plugin/openimg/openimg.rb:140:in `imgurlresolver': 
"http://d3j5vwomefv46c.cloudfront.net/photos/large/200952687.jpg?key=800600&
Expires=1362488178&Key-Pair-Id=APKAIYVGSUJFNRFZBBTA&Signature= 以下略

と出ますが、できないものは
notice: {MIKUTTER_DIR}/core/miku/cons.rb:34:in `call': try to open url 'http://twitpic.com/3bn433' expanded 'http://twitpic.com/3bn433'
notice: {MIKUTTER_DIR}/core/plugin/openimg/openimg.rb:109:in `get_tagattr': not matched
warning: {MIKUTTER_DIR}/core/plugin/openimg/openimg.rb:148:in `rescue in imgurlresolver': bad argument (expected URI object or URI string)

となってしまいます。
openimg.rb の
address = get_tagattr(res.body, element_rule)
の行の前に
notice res.body
を入れて取得したtwitpicページのhtmlを表示させてみると、ちゃんと指定ページの中身も取れていて
cloudfront.net/photos/large の img src の行も存在しているのにも関わらず
なぜか not matched で失敗してしまっています。何が起きてるんでしょう?

#2

Updated by toshi_a 初音 about 6 years ago

Ruby1.9.3 p392 のセキュリティパッチの影響で動作しなくなっていた模様。以下の修正の影響で、パターンファイルに正規表現が使われているものが正常に読み込めなかった。報告はなかったが、携帯百景などもこの影響を受けていた。

http://www.ruby-lang.org/ja/news/2013/02/22/json-dos-cve-2013-0269/

上記のページに書いてある方法と逆の対策を取って(パターンファイルはプラグインの一部なので信用できる情報と判断してよい)、今までどおり正規表現を使えるようにしたところ、プレビューができるようになった。

#3

Updated by toshi_a 初音 about 6 years ago

  • Status changed from 新規 to 終了
  • % Done changed from 0 to 100

更新履歴 11aaf6055a5f069c00878563faf4299c969d1b69 で適用されました。

Also available in: Atom PDF