34 Commits

Author SHA1 Message Date
norris%netscape.com
bf96355ad4 Fix 28612 META Refresh allowed in Mail/News
r=mstoltz,a=jar
Fix 28658 File upload vulnerability
r=vidur,a=jar


git-svn-id: svn://10.0.0.236/trunk@61523 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-23 22:34:40 +00:00
norris%netscape.com
36450a3f42 Fix 25062 Reload vulnerability
25206 Reload vulnerability #2
Implement grant dialogs and persistence for capabilities.
most r=mstoltz, some code from morse w/ r=norris


git-svn-id: svn://10.0.0.236/trunk@60281 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-10 04:56:56 +00:00
norris%netscape.com
6fc5a6608b Fix bug #25864 watch() vulnerability
r=vidur,rogerl


git-svn-id: svn://10.0.0.236/trunk@59445 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-02 00:22:58 +00:00
mstoltz%netscape.com
55356cc71b Implemented the reading of capabilities data from prefs. Reads codebase and certificate principal data and populates ScriptSecurityManager's principals table. bug= 18122 r=norris, rginda
git-svn-id: svn://10.0.0.236/trunk@58125 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-18 21:54:01 +00:00
jband%netscape.com
191411b358 Landing big set of DOM and XPConnect changes:
DOM: getting rid of JS_GetContextPrivate wherever possible. Use static parent
links where we can. When we do need to find this info about the caller
we call a function that knows how to get that info rather than inline calls
to JS_GetContextPrivate. This is all required for calling DOM objects on
non-DOM JSContexts as we do via xpconnect.

XPConnect: basic refactoring work to disassociate wrappers from the JSContext
that was active when the wrapper was constructed. This allows for calling into
wrapped JS objects on the right JSContext and for proper grouping of wrapped
native objects so that they can share proto objects. This also allows for
better sharing of objects and lays the foundations for threadsafety and
interface flattening.

Also, xpconnect tests are reorganized and improved.

fixes bugs: 13419, 17736, 17746, 17952, 22086

r=vidur r=mccabe r=norris r=cbegle
a=chofmann


git-svn-id: svn://10.0.0.236/trunk@56202 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-18 20:29:29 +00:00
norris%netscape.com
1ffa0ae294 Fix
20257 unable to edit existing images in editor due to JS error
	19933 JavaScript "window.location" core dumps in CAPS
Back out previous changes for enforcing security on listeners and go with a
simple restriction of access to the method for adding listeners.
r=mstoltz


git-svn-id: svn://10.0.0.236/trunk@54940 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-01 22:23:22 +00:00
norris%netscape.com
2429ef124a Fix 18553 [DOGFOOD] addEventListener allows sniffing keystrokes
Add checks to nsScriptSecurityManager::CheckCanListenTo that take
a principal and ensure that the currently executing script code
either is from the same origin as that principal or has the
UniversalBrowserRead privilege enabled. (chrome code has all
privileges enabled by default.) It's okay for the principal passed in
to be null. That just signifies a privileged window/document that only
can be listened to with privileges.

I added GetPrincipal/SetPrincipal methods to nsIEventListenerManager.
nsDocument::GetNewListenerManager sets a principal on the listener
manager when it creates one. Obviously there are other places that
create listener managers, but scripts seem to go through this one.

Another change is to save some memory usage. Currently I allocate an
array of PolicyType that is NS_DOM_PROP_MAX elements long.
Unfortunately, compilers appear to allocate four bytes for each
PolicyType, so the array takes around 2400 bytes. I've added changes
to use two bit vectors that should consume about 1/16 that space.

r=joki

There are also changes that push nsnull onto the JSContext stack when
entering a nested event loop.

r=jband


git-svn-id: svn://10.0.0.236/trunk@54477 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-25 05:28:18 +00:00
norris%netscape.com
f77a65d9d4 Modify generated dom code to use a enum rather than a string for codesize
and efficiency.
Tighten checks on document properties and node properties. Should resolve
several bugs:
18965 document.firstChild vulnerability
19043 document.childNodes vulnerability
19044 document.lastChild vulnerability
r=mstoltz


git-svn-id: svn://10.0.0.236/trunk@54051 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:28:34 +00:00
norris%netscape.com
331cf153db * Fix 12124 [DOGFOOD] Reading user's preferences
* Implement site-specific security policies (bug 858)
r=mstoltz
* Use Recycle rather than delete[] to clean up Purify logs
r=law


git-svn-id: svn://10.0.0.236/trunk@53631 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 05:07:31 +00:00
norris%netscape.com
d83622d4ac * 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
1999-11-11 22:10:36 +00:00
dmose%mozilla.org
0efb7c174c updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52910 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:43:54 +00:00
norris%netscape.com
a825f1738a work on bug 7270.
r=mstoltz.
Implement netscape.security.PrivilegeManager callbacks.


git-svn-id: svn://10.0.0.236/trunk@52128 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-28 22:09:03 +00:00
warren%netscape.com
fe1c294273 Added nsIChannel::GetOriginalURI so that we can get back to the original chrome file (bug#17144). r=rpotts,mscott
git-svn-id: svn://10.0.0.236/trunk@51839 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-26 09:16:24 +00:00
norris%netscape.com
761b5f5706 Add ability to disable JS. Fix 13978 shopping at webvan.com crashes
git-svn-id: svn://10.0.0.236/trunk@47995 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-17 20:13:52 +00:00
norris%netscape.com
3036cb7a8a Add security support for javascript: uris.
git-svn-id: svn://10.0.0.236/trunk@47649 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-15 20:58:41 +00:00
norris%netscape.com
47554a1bf7 Create preferences for security checks.
Add new methods on nsIScriptSecurityManager for capabilities.
Fix 13739 MLK: nsScriptSecurityManager::CreateCodebasePrincipal
Fix 11666 Eliminate plvector (was: [infinite loop] bugs - plvector.c)


git-svn-id: svn://10.0.0.236/trunk@47517 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-15 04:05:43 +00:00
norris%netscape.com
82330711f4 Remove unused files.
git-svn-id: svn://10.0.0.236/trunk@47148 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-13 20:10:24 +00:00
norris%netscape.com
21439ca75b Fix build breakage: full #include needed.
git-svn-id: svn://10.0.0.236/trunk@46229 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-07 21:26:56 +00:00
norris%netscape.com
74202f2741 Fix bug 13253.
Enable restrictions on use of Components array from web JavaScript.


git-svn-id: svn://10.0.0.236/trunk@46223 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-07 20:40:20 +00:00
briano%netscape.com
6860ae4df4 Cleaned it up and eliminated the pointless #!gmake.
git-svn-id: svn://10.0.0.236/trunk@45556 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-01 23:27:16 +00:00
norris%netscape.com
9a853c4260 nsIPrincipalManager.idl removed.
git-svn-id: svn://10.0.0.236/trunk@45415 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-01 01:34:11 +00:00
norris%netscape.com
34b474302b Add all-powerful system principals. Remove some dead code from the build.
git-svn-id: svn://10.0.0.236/trunk@45380 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-01 00:54:35 +00:00
joki%netscape.com
9db6478cb3 Adding new flag to the security check calls out of the DOM generated JS files.
git-svn-id: svn://10.0.0.236/trunk@45348 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-31 14:23:55 +00:00
norris%netscape.com
3a6d863c13 * clean up nsScriptSecurityManager
* remove nsJSSecurityManager
* save principals in nsIChannels and nsIDocuments


git-svn-id: svn://10.0.0.236/trunk@45080 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-29 21:58:42 +00:00
arielb%netscape.com
ad40dbfcd5 includes updates to codbase matching security checks currently turned off
but in place.  redefined the script security manager in caps and it is
now generating codebase principals.


git-svn-id: svn://10.0.0.236/trunk@43798 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-20 09:51:02 +00:00
arielb%netscape.com
89a92838d2 removing public directory for good. fixed up nsPrivilegeManager.cpp
git-svn-id: svn://10.0.0.236/trunk@42706 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-08 21:04:16 +00:00
arielb%netscape.com
a12b820894 added a new and improved factory to caps module. fixed some bugs and
cleared some warnings.  also move some methods of privilege manager to
principal manager.


git-svn-id: svn://10.0.0.236/trunk@42563 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-06 22:44:35 +00:00
arielb%netscape.com
576dedd032 add a principal manager to caps api. everything is now xpidled so
i removed the public directory from the module.


git-svn-id: svn://10.0.0.236/trunk@41771 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-01 21:26:02 +00:00
arielb%netscape.com
5b5124ff1a xpidling and updating nsTarget object. should resolve build errors on
SeaMonkey Ports


git-svn-id: svn://10.0.0.236/trunk@41439 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-28 05:43:26 +00:00
briano%netscape.com
684f6b2907 Cleaned it up and changed the name of libreg.{a,so} to libmozreg.{a,so} to fix the conflict reported in bug 8568.
git-svn-id: svn://10.0.0.236/trunk@41354 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 23:27:44 +00:00
arielb%netscape.com
395aa47003 removed some enums and migrated them into nsPrivilege, nsIPrivilege and
nsPrivilegemanager. cleaning up some old code from the security module
and refining their api's and such like.


git-svn-id: svn://10.0.0.236/trunk@41184 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 00:50:59 +00:00
arielb%netscape.com
35dc473dd3 Fix to the caps security module. I removed the nsPrincipal struct, from now
on you can access principals by their xpcomed interface nsIPrincipal.


git-svn-id: svn://10.0.0.236/trunk@40961 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-24 03:58:23 +00:00
arielb%netscape.com
e8083aedee idled principals interfaces and some fixes to caps manager...
git-svn-id: svn://10.0.0.236/trunk@39741 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-16 20:31:18 +00:00
norris%netscape.com
3de9514e0d Move several security files into idl. (Create idl directory in caps module.)
Implement methods of nsIXPCSecurityManager.
Fix random errors in DOM JS security.


git-svn-id: svn://10.0.0.236/trunk@39574 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-15 23:23:16 +00:00