ちょっとフライング気味だけど
Style[scoped] のサポート (Bug 508725)<main> のサポート (Bug 820508)window.crypto.getRadomValues (Bug 440046)
window.location.origin (Bug 828261)
parseInt("042") =< 42dom.xbl_scopes (default: true)gBrowser.hoge = "OK" の様にXBL定義のオブジェクトへプロパティ追加不可Object.defineProperty(gBrowser, "hoge", { value: "OK" }) は可
nsIDOMWindowUtils.dispatchEventToChromeOnly 使い方は http://mxr.mozilla.org/mozilla-central/source/dom/tests/mochitest/chrome/file_bug830858.xul を参照windowオブジェクトへnumericなプロパティ追加禁止 (Bug 828787)
window[0] = "OK"のようなことが出来なくなる28.0.1500.3 (Official Build 198635) dev-mで確認
以前確認した時はまだDataDescriptorだったから、また変更されたみたい。
> Object.getOwnPropertyDescriptor(Object.prototype,"__proto__")
Object {get: function, set: function, enumerable: false, configurable: true}
これで、Firefox, Chrome ともに Object.setPrototypeOf を作れる!....と思ったけど。
(function() { var protoSet = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set; Object.setPrototypeOf = function setPrototypeOf (aTarget, aProto) { protoSet.call(aTarget, aProto); }; })(); var o = {}; Object.setPrototypeOf(o, { foo: function(){ return "FOO"; } });
すると
TypeError: Generic use of __proto__ accessor not allowed
って例外が発生する。
ぐぬぬ...orz
今更ながら、基本のおさらい
setuid, setgid のことで、そのファイルのオーナーまたはグループの権限で実行する
ただし、各オーナーやグループに実行権が付いている、かつ、実行するユーザが実行できるパーミッション(オーナーかグループかその他か)になっている必要がある。
例えば、setuid が付いているがパーミッションが 744 、オーナーが root になっている場合、root 以外の他のユーザは実行できない。
典型的な例は /tmp のディレクトリ
このsticky-bit が付いたディレクトリ配下に作ったファイルは作ったオーナーしか移動や削除などディレクトリのlinkを操作する行為は不可能になる
s-bit 同様パーミッションで許可されていないとlink操作は不能
| setuid | 4000 (1 << 2) |
|---|---|
| setgid | 2000 (1 << 1) |
| sticky-bit | 1000 (1 << 0) |
大文字になっていると、そこには実行権を表す x が付いていないことを示す
ls -l
-rwxr-Sr-x 2 teramako teramako 4.0K 2013-04-22 19:15 a -rwS------ 2 teramako teramako 4.0K 2013-04-22 19:15 b
のような場合、ファイル a はグループに実行権が付いていない。8進数で 2745 の状態。
ファイル b は オーナーに実行権が付いていなくて、8進数で 4600 の状態。