2012 08 ≪  09月 123456789101112131415161718192021222324252627282930  ≫ 2012 10


Secure LoginをFirefox 17でも使いたい!

- 2012-09-08(Sat) - 

先日Auroraを17.0a2に更新したのですが、わたしの環境ではSecure Login 0.9.9が正常に動かなくなってしまいました。

Secure Loginの設定「ログイン時にJavaScriptプロテクションを使用」を無効にするとログインできるようになりましたが、これだとログイン時にフォームへID/パスワードが記入されてしまいます。でもできるならこの機能は有効にして使い続けたい。

少し調べてみると、Secure Loginで使われているcheckLoadURIStr()がFirefox 17から削除されるようです。その代わりにcheckLoadURIStrWithPrincipal()を使うとよさそうなので、その部分を書き換えてみたところちゃんと動作するようになりました。数日使っていますが問題なさそうなので、該当部分をメモしておきます。試してみたい方は自己責任でお願いします。

なお、書き換え前のcheckLoadURIStr()と書き換え後のcheckLoadURIStrWithPrincipal()は何を行うメソッドなのか、なぜcheckLoadURIStr()が削除されるのかをあらかじめ調べてから書き換えることを推奨します。どうやらこれらのメソッドは危険なURLかどうかをチェックするようです。

Secure Login 0.9.9「secureLogin@blueimp.net.xpi」のchrome\content\secureLogin.js

1593行目

          this.urlSecurityCheck(url, doc.location.href);

          this.urlSecurityCheck(url, doc.nodePrincipal);

に変更し、2029行目

  urlSecurityCheck: function(url, sourceURL) {

  urlSecurityCheck: function(url, principal) {

に変更し、2031行目

      this.getSecManager().checkLoadURIStr(sourceURL, url, Components.interfaces.nsIScriptSecurityManager.STANDARD);

      this.getSecManager().checkLoadURIStrWithPrincipal(principal, url, Components.interfaces.nsIScriptSecurityManager.STANDARD);

に変更します。上書き保存とxpi更新はFirefoxを完全に終了した状態で実行してください。

それとGoogleなどのログインフォームでメールアドレスを記入してくれない問題は[Ext] Opera Wand for Firefox - SecureLogin • mozillaZine Forumsに解決方法が載っています。その書き換える部分は2か所あり、829行目

      if(elements[i].type == 'text') {

      if(/(^text|^email)/i.test(elements[i].type)) {

に変更し、1532行目

              case 'text':

              case 'text': case 'email':

に変更します。これでGoogleなどでもログインできるようになるはず。

また上記の件とは別ですが、エラーコンソールにbug 608628のエラーが表示されている方は、293行目から296行目の

        this.getBrowser().addProgressListener(
this.progressListener,
Components.interfaces.nsIWebProgress.NOTIFY_LOCATION | Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT
);

の4行を

        this.getBrowser().addProgressListener(this.progressListener);

の1行に変更するとSecure Login 0.9.9が原因のbug 608628エラーは表示されなくなるので、エラーが気になる方はついでに変更しておくといいでしょう。

スポンサーサイト
この記事のURL | 拡張機能 | コメント(1) | トラックバック(0) | ▲ top

Wikiの拡張機能ページ作成について

- 2012-09-07(Fri) - 

Firefox更新情報Wiki*のこちらの拡張機能ページについてですが、これは荒らしによって削除されたものではなく、管理人がリネームしたもので、該当ページのバックアップも削除しておりません(リネームやバックアップは管理人のみ行うことができます)。拡張機能/追加ページにも記載していますが、拡張機能に英語名と日本語名の両方が設定されている場合、当Wikiでは英語名でページを作成するようお願いします。

拡張機能の英語名はinstall.rdfのnameタグに記載されている場合が多いです。そのファイルを開かなくても、about:configのgeneral.useragent.localeをen-USに変更してFirefoxを再起動することで、インストールした拡張機能が英語名で設定されているかアドオンマネージャで確認できます。

また、当Wikiで拡張機能のページを作成するときは拡張機能/追加ページから作成するようお願いします。このページはWikiの左メニューにある「拡張機能/一覧」の+マークをクリックして表示される「拡張を追加」リンクから移動できます。スパム対策のため、この追加ページのURLは変更する場合があります。

この記事のURL | お知らせ | コメント(4) | トラックバック(0) | ▲ top
 
| メイン |