This is a summary, for easy quick reference, of rules to follow to avoid security issues related to using CrxOop.
-
The class keywords are
'O',
'this',
'THIS',
'PARENT',
'CONSTRUCT',
'SR',
'STATIC',
'CAST' and
'ANNUL'.
Class keywords must never be passed around to functions as parameters, or from functions as returns,
apart from 'THIS' and
'PARENT'.
-
The class keywords
'O',
'SR',
'STATIC' and
'CAST' are functions and are functions that have
a return. Apart from 'CAST', the return of these
keywords must never be passed around to functions as parameters, or from functions as returns.
-
The class keywords
'O',
'this' and
'STATIC' are also found in static functions,
and must never be passed around to functions as parameters, or from functions as returns.
-
For assigning variables from untrusted sources to class instance variables, and class static variables,
use crxOop.var().
-
The structure keywords are
'O',
'this',
'THIS',
'CONSTRUCT',
'SR',
'HASOWN'.
Structure keywords must never be passed around to functions as parameters, or from functions as returns,
apart from 'THIS' and
'HASOWN'.
-
The structure keywords
'O',
'SR', and
'HASOWN' are functions and are functions that have
a return. Apart from 'HASOWN', the return of these
keywords must never be passed around to functions as parameters, or from functions as returns.
-
For assigning variables from untrusted sources to structure instance variables, use
crxOop.var().