View Issue Details

IDProjectCategoryView StatusLast Update
0000807LDMud 3.3Efunspublic2021-04-16 21:53
Reporterabathur Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionwon't fix 
Product Version3.3.719 
Summary0000807: Improve driver support for H_DEFAULT_METHOD in shadowing objects
DescriptionI attempted to implement a default_method in a shadow. The driver appears to only pass the call to the shadow's default_method when the call has completely failed to resolve in the object and any of its other shadows.

This would be in opposition to the anticipated behavior wherein the driver attempts to resolve a call to an object with a shadow defining a default method by passing to the appropriate lfun, if defined, before passing to the shadow's default method which must then return 0 before the call would be resolved in the underlying object.

I couldn't quite decide if this is a bug or a feature request, so i've filed as the latter.
TagsNo tags attached.

Activities

Gnomi

2012-07-12 20:44

manager   ~0002143

I suppose that default methods in shadows were an intriguing feature. But catching each call to the underlying object has some security implications which must be dealt with: Nomask functions must be ignored (which is unusual, because nomask handling has otherwise nothing to do with call_others). Also current master->query_allow_shadow() implementations check for forbidden functions in the shadow, they then need to check for the default method, too.

abathur

2012-07-12 21:11

reporter   ~0002147

I was thinking a new privilege violation might be a sane way to avoid opening muds defining the default method hook to unexpected security issues or malfunctions, but I agree that the other security problems are significant.

Gnomi

2021-04-16 21:53

manager   ~0002611

We feel that such catch-all shadows are too dangerous and not worth the effort to implement in LDMud.
Beside the already mentioned security implications also any mistake in the shadow can render the underlying object unusable.

Therefore I'm closing this ticket.

Issue History

Date Modified Username Field Change
2012-07-11 21:19 abathur New Issue
2012-07-12 20:44 Gnomi Note Added: 0002143
2012-07-12 21:11 abathur Note Added: 0002147
2021-04-16 21:53 Gnomi Status new => closed
2021-04-16 21:53 Gnomi Resolution open => won't fix
2021-04-16 21:53 Gnomi Note Added: 0002611