* Fix the following bugs by tightening the default security policy.

17977 [DOGFOOD] Reading documents using document.body
17538 document.lastModified is exposed
17537 document.images vulnerabilities
16036 [DOGFOOD] document.Element exposes the DOM of documents from
15757 [DOGFOOD] Injecting JS code using setAttribute and getElemen
15550 Injecting text in documents from any domain using createText
15067 [DOGFOOD] getElementsByTagName() allows reading of arbitrary
* Create an array of dom property policy types and initialize it when the script security manager is created.
* Move some implementation code to a new shared implementation base class.
* Implement privilege enabling, disabling and reverting
* Implement stack walking for checking privileges.
r=mstoltz@netscape.com

* Modify nsIPref to support security policy work.
r=neeti@netscape.com


git-svn-id: svn://10.0.0.236/trunk@53254 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
norris%netscape.com
1999-11-11 22:10:36 +00:00
parent ccf824f925
commit d83622d4ac
19 changed files with 2229 additions and 751 deletions

View File

@@ -19,28 +19,37 @@
*
* Contributor(s):
*/
/* describes principals by their orginating uris*/
/* describes principals by their orginating URIs */
#ifndef _NS_CODEBASE_PRINCIPAL_H_
#define _NS_CODEBASE_PRINCIPAL_H_
#include "jsapi.h"
#include "nsBasePrincipal.h"
#include "nsICodebasePrincipal.h"
#include "nsIURI.h"
#include "nsJSPrincipals.h"
#define NS_CODEBASEPRINCIPAL_CID \
{ 0x7ee2a400, 0x0b91, 0xaad3, \
{ 0xba, 0x18, 0xd7, 0x60, 0xb0, 0xf1, 0x99, 0xa2 }}
class nsCodebasePrincipal : public nsICodebasePrincipal {
class nsCodebasePrincipal : public nsBasePrincipal, nsICodebasePrincipal {
public:
NS_DEFINE_STATIC_CID_ACCESSOR(NS_CODEBASEPRINCIPAL_CID)
NS_DECL_ISUPPORTS
NS_DECL_NSIPRINCIPAL
NS_DECL_NSICODEBASEPRINCIPAL
NS_IMETHOD ToString(char **result);
NS_IMETHOD Equals(nsIPrincipal *other, PRBool *result);
NS_IMETHOD HashValue(PRUint32 *result);
NS_IMETHOD CanEnableCapability(const char *capability, PRInt16 *result);
nsCodebasePrincipal();
NS_IMETHOD
@@ -50,7 +59,6 @@ public:
protected:
nsIURI *mURI;
nsJSPrincipals mJSPrincipals;
};
#endif // _NS_CODEBASE_PRINCIPAL_H_