Commit Graph

262 Commits

Author SHA1 Message Date
norris%netscape.com
c68664297c Fix domain generalization for site-specific security policy.
also fix bug with enablePrivilege.
r=mstoltz
2000-02-03 23:28:36 +00:00
brade%netscape.com
49568eb54e fix paths for move to CW5 (bug #25779) 2000-02-02 15:27:53 +00:00
norris%netscape.com
c04c4d51f9 Fix bug #25864 watch() vulnerability
r=vidur,rogerl
2000-02-02 00:22:58 +00:00
norris%netscape.com
6d132fae66 Fix warning. 2000-01-27 15:59:34 +00:00
norris%netscape.com
7ec9655d07 Fix 23227 Document object vulnerability
r=mstoltz
2000-01-26 15:33:57 +00:00
jband%netscape.com
eef6de8432 Lots of xpconnect bug fixes...
- fix bug 12954 "should throw when setting non-settable props".

- fix bug 13418 "xpconnect needs to be threadsafe".
I think I filled in the cracks. Tests would be nice :)

- fix bug 22802 "[MLK] XPConnect Leaks".

- fix bug 24119 "[MLK] Reminder about cleaning up maps".

- fix bug 24453 "xpconnect needs default security manager".
I also changed the code in DOM and caps to just install a default secman and
not install a secman for each JSContext.

- fix bug 24687 "xpconect should avoid resolve performance suckage".
Added (modified) patch from shaver to create my JSObjects with the
global object as the temporary proto to avoid losing lookup.

- hack for bug 24688 "runtime errors in wrapped JS are not made obvious"
Added a debug only printf. We still need a JSErrorConsole service for this.

- fix bug 16130 "createInstanace and getService can create wrappers around wrappers"
Fixing this one really entailed changing the semantics of nsIXPConnect::wrapNative
and nsIXPConnect::wrapJS to use common code in xpcconvert that deals with existing
wrappers and DOM objects (with their own schemes for wrapping and unwrapping).
So, I changed the callers because the params changed slightly and some callers
were doing more work than necessary given the new semantics.

- Continued in the crusade to replace manaual refcounting with nsCOMPtrs whenever
touching old code.

- Added myself as first contributor to xpconnect files (vanity prevails!)

- Added new copyright header on some files that were missing it.

- Added some API comments.

- Converted nsXPCWrappedJS to implement nsIXPConnectWrappedJS via MI rather than
the old loser scheme of the nsIXPConnectWrappedJSMethods tearoff object.

- added DumpJSStack as globals to xpconnect and DOM dlls to be callable from
debuggers. I have ideas on how to improve and expand this support soon.

r=mccabe
2000-01-26 08:38:10 +00:00
norris%netscape.com
8507a58ec3 Files:
caps/include/nsScriptSecurityManager.h
	caps/src/nsScriptSecurityManager.cpp
	modules/libpref/src/init/all.js
Fix
24565 nsScriptSecurityManager::GetSecurityLevel() is a performance
24567 re-write DOM glue security checks to avoid NS_WITH_SERVICE()
r=waterson

Files:
	dom/src/base/nsGlobalWindow.cpp
	layout/base/src/nsDocument.cpp
	layout/base/src/nsGenericElement.cpp
Fix assertion failure for 1-character property names.


Files:
	dom/src/jsurl/nsJSProtocolHandler.cpp
	webshell/src/nsDocLoader.cpp
Fix 18653 "javascript:" URLs cross windows problems (probably regressi
r=nisheeth

Files:
	layout/events/src/nsEventListenerManager.cpp
Fix
23834 document.onkeypress allows sniffing keystrokes
24152 document.onclick shows links from other window
r=joki
2000-01-23 04:23:14 +00:00
mstoltz%netscape.com
69ef846a00 Fixed build blocker on HPUX, AIX, and Solaris by adding a cast. r=norris a=jar bug=24322 2000-01-20 00:19:30 +00:00
norris%netscape.com
c5ed5dbd3d Fix bug 24378 All DOM security checks inadvertently disabled
r=mstoltz,rogerl;a=jar
2000-01-19 23:39:07 +00:00
norris%netscape.com
d4cf23a2bf Fix build bustage caused by mismatch of NS_IMETHOD usage. 2000-01-18 22:45:05 +00:00
waterson%netscape.com
d0cbc99c85 Fix build bustage. 2000-01-18 22:35:27 +00:00
mstoltz%netscape.com
5014545a00 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 2000-01-18 21:54:01 +00:00
norris%netscape.com
b0ba1f5b70 Fix 18592 Fix example: XPCom components cannot be used under
r=mstoltz
2000-01-14 00:03:46 +00:00
norris%netscape.com
a488d900ba Fix bug 16536.
r=mstoltz
2000-01-12 01:42:37 +00:00
norris%netscape.com
ab39816cf4 Get IRCChat working without compromising security.
Fix bugs 20261, 23518
r=rginda,mstoltz
2000-01-11 22:02:06 +00:00
jdunn%netscape.com
cb0c532e85 Fix base class specifiers, since be default if they aren't specified it is Private
# 23237
r= warren@netscape.com, ftang@netscape.com, jband@netscape.com
2000-01-11 01:45:34 +00:00
norris%netscape.com
ddb2282b6c Fix
858  [Feature] JavaScript auto-disable per-domain RFE
    13023 Users must be able to disable Java and JavaScript (for JS in mail)
    21923 Executing functions in "chrome:" protocol - #2.
    r=mstoltz

    (Checked in with red on Mac; Wan-Teh says his changes are localized so
     it shouldn't interfere with his fixing bustage.)
2000-01-08 16:51:54 +00:00
norris%netscape.com
4f128298d2 Fix 22909 previousSibling vulnerability
r=mstoltz
2000-01-06 00:59:18 +00:00
dougt%netscape.com
2e995c5f17 Converting to use nsIModule macro. r=dp. 2000-01-03 22:59:05 +00:00
jband%netscape.com
ef9c82db1e 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
1999-12-18 20:29:29 +00:00
warren%netscape.com
7d4fa072a5 Fix for leak/bloat stats going negative. a=jar 1999-12-10 04:27:52 +00:00
norris%netscape.com
84fe55bbc1 Fix crash seen by waterson.
r=waterson
1999-12-02 05:41:17 +00:00
norris%netscape.com
d89d87531c 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
1999-12-01 22:23:22 +00:00
buster%netscape.com
fd31de07ac bug 2253. added controller to html text input
r = kmcclusk, norris
1999-12-01 15:11:33 +00:00
norris%netscape.com
51842ef45e 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
1999-11-25 05:28:18 +00:00
norris%netscape.com
24778bda71 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
1999-11-20 07:28:34 +00:00
norris%netscape.com
5b4b0169aa * 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
1999-11-16 05:07:31 +00:00
norris%netscape.com
a2de456d1b Fix 18634 [CRASH] mozilla -installer crashes
r=sspitzer@netscape.com, a=sspitzer@netscape.com
1999-11-12 18:59:03 +00:00
norris%netscape.com
0f5432934f Fix bug 18640.
r=akhil.arora@sun.com
1999-11-12 04:33:17 +00:00
norris%netscape.com
cd9166c573 Restore original changes with bustage fixes. 1999-11-12 03:07:37 +00:00
norris%netscape.com
13907371db Remove call that the compilers can't figure out.
Appears that perhaps the IDL compiler isn't getting called on nsIPref.idl in time.
1999-11-11 23:25:59 +00:00
norris%netscape.com
1fc11905d8 Fix build bustage.
My build on Linux worked; don't understand why the Tinderbox build is different.
1999-11-11 23:07:14 +00:00
norris%netscape.com
8f41929776 added files: mozilla/caps/src/nsBasePrincipal.cpp 1999-11-11 22:11:03 +00:00
norris%netscape.com
7cd400a26f * 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
1999-11-11 22:10:36 +00:00
dmose%mozilla.org
142ac52eaf updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:43:54 +00:00
tbogard%aol.net
10ded258a5 Changed NS_ENSURE_NOT to NS_ENSURE_FALSE to reflect API change. r=hyatt 1999-11-01 21:43:56 +00:00
norris%netscape.com
e5c170a049 work on bug 7270.
r=mstoltz.
Implement netscape.security.PrivilegeManager callbacks.
1999-10-28 22:09:03 +00:00
warren%netscape.com
f50d3df7c0 Added nsIChannel::GetOriginalURI so that we can get back to the original chrome file (bug#17144). r=rpotts,mscott 1999-10-26 09:16:24 +00:00
norris%netscape.com
4ad2862afa Use NS_GET_IID, remove dead code, clean up error conditions for XPConnect security calls.
r=jband
1999-10-25 22:22:16 +00:00
law%netscape.com
bc2cea9398 Fixes for bug #16789; permit OpenDialog to work on hidden window even if document load has not completed yet; r=norris@netscape.com, r=danm@netscape.com 1999-10-20 01:25:41 +00:00
norris%netscape.com
24633793d5 Remove references to unsupported JVM_ calls. Needed for bug 16577.
r=shaver
1999-10-19 21:45:29 +00:00
norris%netscape.com
283946a4e4 Fix a Unix warning by removing an unused local variable 1999-10-14 23:49:36 +00:00
norris%netscape.com
822d5724d3 Work on 15824 bad refcounting in nsCodebasePrincipal
Attempt to discover problem with additional assertions
reviewed by mstoltz@netscape.com
1999-10-12 22:52:49 +00:00
norris%netscape.com
46bb0d4e8a Fix part of 5403 Services improperly released: Use NS_WITH_SERVICE
reviewed by mstoltz@netscape.com
1999-10-12 22:51:54 +00:00
kipp%netscape.com
65f6ba5343 Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage 1999-10-08 20:41:19 +00:00
norris%netscape.com
ef04da8809 Fix 15618 [CRASH] JS assertion on table regression test
Reviewed by rogerl@netscape.com.
1999-10-06 21:12:21 +00:00
norris%netscape.com
716e97dd9c Fix 15458 "onLoadHandler does not work"
Reviewed by mstoltz.
1999-10-05 04:08:14 +00:00
waterson%netscape.com
2efd076b82 Bug 15367. Dump 'class' instead of 'file/line' for NS_LOG_REFCNT. r=shaver,dp 1999-10-05 00:07:54 +00:00
beard%netscape.com
9eae33066d changed from directly using "MSL DropInRuntime.Lib" to using "NSComponentStartup.o" to enable GC leak detector. r=smfr 1999-10-03 20:46:23 +00:00
rjc%netscape.com
5f3ca2b087 Fix problem with nsSecurityManagerFactory conversion to be a nsIModule. Patch from peterl@netscape.com. Review: me. 1999-10-02 20:19:23 +00:00
rjc%netscape.com
f477d85f4b Temporarily turning off the changes to nsSecurityManagerFactory to make it a nsIModule due to problem at startup. 1999-10-02 19:24:05 +00:00
norris%netscape.com
d21c5596fd Fix the following bugs:
14443 "Same origin" security policy may be circumvented using docu
14820 Fixing up the relationship between nsCodeBasePrincipal and n
14919 Crash in JS MM code
Reviewed by mstoltz, approved by scc.
1999-10-02 03:41:37 +00:00
rjc%netscape.com
38e1d06d8d Bug # 14034: Convert to nsIModule to prepare for memory leak fixing. Review: dp@netscape.com 1999-10-02 00:48:02 +00:00
sfraser%netscape.com
50971ff0c1 Bug 14877 -- lib/xp removal; removed unneeded files. r sdagley, a chofmann. 1999-09-26 00:41:31 +00:00
mscott%netscape.com
54e572a820 Bug #14815 --> fix some ref counting problems between nsJSPrincipal and nsCodebasePrincipal. nsCodeBasePrinciapl
was always getting leaked. And since it held onto the document's nsIURI, our uri's were getting leaked to.
r=brendan,a=chofmann.
1999-09-24 06:18:55 +00:00
norris%netscape.com
c99b609910 Add ability to disable JS. Fix 13978 shopping at webvan.com crashes 1999-09-17 20:13:52 +00:00
norris%netscape.com
2b35be101c Remove nsPrincipalManager.h 1999-09-15 21:30:10 +00:00
norris%netscape.com
9acf604770 Add security support for javascript: uris. 1999-09-15 20:58:41 +00:00
norris%netscape.com
0865f1cdaa 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)
1999-09-15 04:05:43 +00:00
norris%netscape.com
350b2d64a7 Fix arielb warnings. 1999-09-13 23:23:54 +00:00
norris%netscape.com
6ce2283719 Remove unused files. 1999-09-13 20:10:24 +00:00
briano%netscape.com
4f8c7d2d53 General cleanup. 1999-09-10 08:53:30 +00:00
norris%netscape.com
88708be24d Makefile.in: remove unused file
nsScriptSecurityManager.cpp: Fix CheckURI problems (but still disabled)
nsSecurityManagerFactory.cpp: Make registration string match convention
1999-09-09 13:47:16 +00:00
alecf%netscape.com
ec49081f52 caps doesn't need libxp anymore 1999-09-09 06:29:32 +00:00
don%netscape.com
fe371d4b25 Temporarily disabled CheckURI so the Manage Bookmarks dialog and other windows work again. Norris will fix the window.open problem later. 1999-09-08 04:25:14 +00:00
norris%netscape.com
20a52a4fa4 disable XPConnect security check, perhaps related to test failure. Getting reports of failures on Mac at least. 1999-09-07 22:29:56 +00:00
norris%netscape.com
dcf88dfe3b Fix build breakage: full #include needed. 1999-09-07 21:26:56 +00:00
norris%netscape.com
eb23e76298 Fix bug 13253.
Enable restrictions on use of Components array from web JavaScript.
1999-09-07 20:40:20 +00:00
norris%netscape.com
2d8e12375f * Add checks on urls formed from web scripts
* Make nsScriptSecurityManager implement nsXPCSecurityManager
* Fix unix warnings
1999-09-07 02:54:19 +00:00
shaver%netscape.com
65115e55ff quell assignment-as-boolean warning 1999-09-05 05:28:28 +00:00
bruce%cybersight.com
0ae97d3196 Use nsAllocator not new[] for char* data. 1999-09-03 14:15:03 +00:00
briano%netscape.com
51d59f6f69 Cleaned it up and eliminated the pointless #!gmake. 1999-09-01 23:27:16 +00:00
norris%netscape.com
3c9549d8f6 added files: mozilla/caps/idl/nsICodebasePrincipal.idl, mozilla/caps/idl/nsICertificatePrincipal.idl, removed files: mozilla/caps/idl/nsIPrivilege.idl, mozilla/caps/idl/nsICapsSecurityCallbacks.idl, mozilla/caps/idl/nsITarget.idl, mozilla/caps/idl/nsICapsManager.idl, mozilla/caps/idl/nsIPrincipalArray.idl, mozilla/caps/idl/nsIPrincipalManager.idl, mozilla/caps/idl/nsIPrivilegeManager.idl 1999-09-01 02:03:02 +00:00
kipp%netscape.com
b92bd76cbb Make it build on unix 1999-09-01 01:50:01 +00:00
norris%netscape.com
91d105de8f nsIPrincipalManager.idl removed. 1999-09-01 01:34:11 +00:00
norris%netscape.com
625666c042 added files: mozilla/caps/src/nsSystemPrincipal.cpp 1999-09-01 00:58:46 +00:00
norris%netscape.com
8bf9f20ccf removed files: mozilla/caps/src/jpermission.c, mozilla/caps/src/nsPrivilege.cpp, mozilla/caps/src/nsPrivilegeManager.cpp, mozilla/caps/src/nsPrivilegeTable.cpp, mozilla/caps/src/nsSystemPrivilegeTable.cpp, mozilla/caps/src/nsTarget.cpp, mozilla/caps/src/nsUserDialogHelper.cpp, mozilla/caps/src/nsUserTarget.cpp, mozilla/caps/src/nsCaps.cpp, mozilla/caps/src/admin.cpp, mozilla/caps/src/nsCCapsManager.cpp, mozilla/caps/src/nsPrincipalArray.cpp, mozilla/caps/src/nsPrincipalManager.cpp 1999-09-01 00:56:22 +00:00
norris%netscape.com
ec9d253f50 Add all-powerful system principals. Remove some dead code from the build. 1999-09-01 00:54:35 +00:00
cyeh%netscape.com
9577b5cefa Remove IGNORE_MANIFEST=1. It doesn't do anything and it confuses people. 1999-09-01 00:54:34 +00:00
joki%netscape.com
155255be20 Adding new flag to the security check calls out of the DOM generated JS files. 1999-08-31 14:23:55 +00:00
norris%netscape.com
d8507f844e * clean up nsScriptSecurityManager
* remove nsJSSecurityManager
* save principals in nsIChannels and nsIDocuments
1999-08-29 21:58:42 +00:00
beard%netscape.com
eb5fd8e5f0 Removed a potentially dangerous cast. 1999-08-28 03:00:19 +00:00
beard%netscape.com
ae4c1402d3 wasn't calling __intialize/__terminate. 1999-08-28 02:58:35 +00:00
gagan%netscape.com
b82db954ce Fixed some memory leaks showing up on bruce's log-
http://www.cybersight.com/~bruce/apprunner.mongo.19990827.log.
1999-08-27 08:36:49 +00:00
alecf%netscape.com
6c2881ae30 remove libcaps dependancy on libxp by using PL/PR routines instead of XP_* 1999-08-27 04:09:41 +00:00
mccabe%netscape.com
84982717ce Spam caps subtree to replace declarations of IDL-defined interface methods in implementation classes with xpidl-generated NS_DECL_NSIFOO macro. 1999-08-21 20:22:27 +00:00
ramiro%netscape.com
e5dfc2a7eb Ignore generated files. 1999-08-21 12:14:23 +00:00
arielb%netscape.com
8a722e90a6 this should be it, sorry, again 1999-08-20 11:44:52 +00:00
arielb%netscape.com
a4fcc9277b this should be it, sorry 1999-08-20 10:59:55 +00:00
arielb%netscape.com
238f8f3fb4 this may do it, reset the project paths, if anyone has any other ideas why this is breaking, please let me know 1999-08-20 10:39:12 +00:00
arielb%netscape.com
01b27fef0d i may have screwed up adding the files through camelot, this should be more thorough 1999-08-20 09:57:40 +00:00
arielb%netscape.com
627f62a46d added files: mozilla/caps/src/nsJSPrincipals.cpp, mozilla/caps/src/nsScriptSecurityManager.cpp 1999-08-20 09:53:15 +00:00
arielb%netscape.com
1b252b2e3b 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.
1999-08-20 09:51:02 +00:00
arielb%netscape.com
624deb671b added JavaScript shlbs to target paths 1999-08-20 09:44:41 +00:00
sspitzer%netscape.com
2696a2a86b ignore generated Makefile 1999-08-10 05:16:39 +00:00
arielb%netscape.com
4e0fc6ab1e adding functionality to security 1999-08-08 22:29:02 +00:00
arielb%netscape.com
1125dac5c8 removing public directory for good. fixed up nsPrivilegeManager.cpp 1999-08-08 21:04:16 +00:00
arielb%netscape.com
c1d32349e1 removed files: mozilla/caps/src/nsZip.c, mozilla/caps/src/nsZig.cpp, mozilla/caps/src/nsLoadZig.c 1999-08-07 21:42:47 +00:00
arielb%netscape.com
4b06750b30 removed zip support from caps module. from now on all that stuff will
be used by libjar.  should also remove a lot of memory leaks reported on
nsZip
1999-08-07 21:40:33 +00:00
arielb%netscape.com
9655521b0f Fix to bug 11330 and some changes to reduce warnings in linux builds 1999-08-07 19:59:31 +00:00