Closed Bug 3217 Opened 26 years ago Closed 25 years ago

RX: CAPS

Categories

(Core :: Security: CAPS, defect, P2)

x86
Windows 95
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: chofmann, Assigned: norrisboyd)

Details

Probably need to address these to both raman and sudu Please have a look at the file(s) below to see if we can improve reentrantcy across the code base by making modifications to: caps/include/nsCCapsManagerFactory.h: static nsIFactory *m_pNSIFactory; caps/include/nsPrivilege.h: static PRBool theInited; caps/include/nsPrivilegeManager.h: static PRBool theSecurityInited; caps/include/nsPrivilegeManager.h: static char * SignedAppletDBName; caps/include/nsPrivilegeManager.h: static PRBool theInited; caps/include/nsTarget.h: static PRBool theInited;
Status: NEW → ASSIGNED
RX tasks aren't going to make M3. close the reentrantcy tracking tasks if this specific area has been looked at and doesn't seem to be a problem. Otherwise each of these areas still need some looking at.
moving to m5. raman can you have a look at these files and see if they can be cleaned up to comply with the reentrancy goals... A reentrant function f is a nested function (not a leaf; it calls other functions) that may be reentered (indirect recursion) from under any other function g() that it calls. Therefore f must avoid sampling a static or global variable and holding it across such a call to g(), if the recursive f called from g could modify the static and vary conditions that f believes are invariant. We believe much of our non-static/global data is partitioned by window, not reachable by other windows except through statics/globals. Therefore we're starting the hunt with statics and globals. Please have a look at the file(s) below to see if we can improve reentrantcy across the code base by making modifications to:
Target Milestone: M4 → M5
I apolosize for not taking a look at any of the CAPS related bugs (I have been swamped with pushing the netcenter products out. I am close to shipping my 2nd product out and one more product to go. I am on the hook here until the last guy is out. I really apolosize for not being able to look at CAPS stuff). I will try to do a pull and build of mozilla this week end. If someone already has a tree, I could come over and knock these problems off within couple of hours. I would really appreciate that. thanks very much, raman
QA Contact: 1680
Target Milestone: M5 → M6
raman, any update on this and other CAPPs work? I think we are going to need CAPPs support in one of the upcoming milestones
raman, any update on this and other CAPPs work? I think we are going to need CAPPs support in one of the upcoming milestones
Assignee: raman → norris
Status: ASSIGNED → NEW
Target Milestone: M6 → M7
moving to norris, and taking off the m6 list
Status: NEW → ASSIGNED
Summary: RX: CAPPS → RX: CAPS
Target Milestone: M7 → M13
Accepting bug and changing target milestone based upon current schedule rollup.
Assignee: norris → arielb
Status: ASSIGNED → NEW
Status: NEW → ASSIGNED
OK, i've been reading over the comments and i'm not quite sure i understand the overall impact of reentrant functions though i think i get the idea. in terms of the state of the statics listed below here is a short status update. caps/include/nsCCapsManagerFactory.h: static nsIFactory *m_pNSIFactory; --- this file doesn't exist anymore so neither does this static var caps/include/nsPrivilege.h: static PRBool theInited; --- this boolean has been removed, i'm not sure if it ever served a purpose. caps/include/nsPrivilegeManager.h: static PRBool theSecurityInited; --- this static var no longer exists, with the new factory scheme, there exists a static method var -- -in GetPrivilegeManager(), maybe you should check and see if that's kosher. i think it's alright. caps/include/nsPrivilegeManager.h: static char * SignedAppletDBName; ---this one still exists, i'm not sure what it does so idon't what to get rid of it just yet, i'll take a look at ---this one soon caps/include/nsPrivilegeManager.h: static PRBool theInited; ---gone caps/include/nsTarget.h: static PRBool theInited; ---still there, haven't really gotten around to fixing up nsTarget API yet, ---improvements should be coming soon
Assignee: arielb → norris
Status: ASSIGNED → NEW
Status: NEW → ASSIGNED
Target Milestone: M13 → M11
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Atthis point the only static variable in caps is static nsScriptSecurityManager *ssecMan = NULL; which is used to implement the singleton status of nsScriptSecurityManager. jband said this was an acceptable use until the new glorious factory code is done.
Component: XP Miscellany → Security: CAPS
You need to log in before you can comment on or make changes to this bug.