Guys - really?
We've had this architecture for over 2 years and none of you called me on it?
None of you said,

"Ok Karl, it's more efficient, but there's a security hole big enough to drive 
a truck through!"

We compile our dom in the master window, mw0, just once, not every window every 
time, saves time, saves memory, saves resources, ok fine, but,
then stop for 5 minutes and think what someone can do.
Write your own appendChild function that calls mine, by making a copy of 
mw0.appendChild, then put yours in its place.
Since yours does what mine does, no one will ever know.
But you intercept and you have access to "this".
Climb up to document, then spider and read the entire web page.
document.location gives the url he is looking at.
If it's juicy, gather up information and submit it by form.submit or xhr or 
whatever.

Dude - seriously.
Any sort of interwindow bleed is a security hole.

It came to mind because sm doesn't share pages as easily as duktape.
I think I figured out how to do it, how to share the master window among all 
other windows,
but then I thought: I shouldn't be doing that anyways.

Ok so building everything in each window is a waste.
Adam said 8 years ago to write it all in C, and he's sort of right for this 
reason,
but rewriting js in c multiplies the code by about 10, no kidding,
4500 lines of js becomes 45,000 lines of c,
all of edbrowse so far after 20 years is about 45,000 lines,
so we clearly don't have the time or resources for that.
So we have to settle for where it is.
But in the grand scheme it's not so bad.
Web pages pull in jquery, which is ten times as big as my startwindow.js, after 
minimization, maybe 30 times before,
and that gets sucked in and processed on every page of the website, and if 
we're going to handle that,
then I guess we can build my dom each time too.

So speak now or forever, but I'm going to restructure it so it builds insitu 
each time,
(I like that word, insitu),
and then the master window, which I'll keep, is only for our third party 
deminimization software.
That doesn't even ship with production anyways.

So that will keep me up tonight.

Karl Dahlke

Reply via email to