[DGD] Re: Couple DGD questions

Felix A. Croes felix at dworkin.nl
Fri Jun 12 18:37:34 CEST 1998


E. Harte <harte at xs4all.nl> wrote:

> On Wed, 10 Jun 1998, Frank Schmidt wrote:
>
> [...]
> > In the auto object, a static function behaves like a kernel function
> > (kfun) _too_: It cannot be accessed by call_other(this_object(),
> > "kfun_func"), _and_ calls to it in the auto object are _not_ redirected
> > to any masked function in this_object(). This is true for ALL static
> > functionnames in the auto object, not just the default functions
> > specified by the driver you happen to override.
>
> I'd like to have confirmation or denial of the last part from Dworkin, as
> most definitely remember there being a difference between using a 'pure'
> kfun in the auto-object and a static function that happened to be defined
> in the auto-object.

Frank is correct.  To be yet more precise: <any> calls made to static
functions in the auto object can never be redirected to a new function
by masking the static function, no matter from where the calls are
made.  In C++ terminology, static functions in the auto object are
not "virtual".


> [...]
> > > <auto-object>
> > > static int
> > > valid_write(string filename)
> > > {
> > > }
> > > 
> > > static void
> > > write_file(string filename)
> > > {
> > > }
> > > </auto-object>
> > > 
> > > <other-object>
> > > static int
> > > valid_write(string filename)
> > > {
> > >     return 1; /* of course ;) */
> > > }
> > > </other-object>
> > 
> > No, sorry, but this will not disable his security IF the security call is
> > made in the auto object, but it will override the call made in an
> > inherited program.
>
> Oh?  Again, I'd like confirmation of this.  (Or else I'll go check the
> sources myself this weekend. *grin*)

Again, Frank is correct.  Calls made to valid_write() from any object
in the inheritance chain between the auto object and other-object
will continue to use the auto object version of the function.

Dworkin



More information about the DGD mailing list