smart.fm OAuth が OAuth 1.0a に対応します。(+OAuth 1.0a 対応方法概要)

ruby oauth gem も rails oauth plugin も OAuth 1.0a 対応になったので、smart.fm も OAuth 1.0a に対応することにしました。

実装は既に終わったので、予定通りだと明日の昼前に本番に反映される予定です。

OAuth の脆弱性が発見されてから、暫定的に以下の2つの制約を加えましたが、OAuth 1.0a 対応でどちらの制約も外れます。

  1. authorize 時に渡される oauth_callback を無視
  2. request token の有効期間もかなり短く

ただし OAuth 1.0a では oauth_callback を指定するタイミングが authorize 時から get request token 時に変更になっているので、authorize 時に oauth_callback 渡しても無効、というのは変わりません。

もちろん従来のフローでアクセスする consumer に対する動作は変わらないので、oauth_callback を利用しない場合は特に consumer 側の変更は必要ありません。consumer 登録時に登録する oauth_callback は、従来通り有効です。

Read more

git merge で bus error が出たときの対処法

git merge すると、bus error がでて merge が失敗することがあります。

一旦これが出ると、その 2 つの branch 間で全く merge ができなくなってしまいます。

僕もまさに今日、その現象に遭遇しました。実は以前も同じ現象があったのですが、解決方法を忘れていたので、次からは忘れないようにメモメモ。

今回は Cerego エンジニアのエースに言われるがまま、以下の順で試してみて解決しました。

git merge --strategy=**

git merge のオプションの --strategy=octopus を指定して実行してみます。デフォルトの strategy は recursive とのこと。(詳細は "git help merge" でご確認を)

でも今回の場合はこれでは解決しませんでした。

update git

git の version を最新に。git が version 1.2.2 だったので、それを version 1.3.2 にあげました。

今回はこれで解決!

結局原因は全く分かってないんですが、まぁなおったしいいやw