[Coldstuff] To all cold admins out there: bug fixes

Brandon Gillespie coldstuff@cold.org
Mon, 14 Jan 2002 08:24:03 -0700


On Sun, Jan 13, 2002 at 11:27:28AM -0700, Bruce Mitchener wrote:
> Brandon Gillespie wrote:
>  > On Sun, Jan 13, 2002 at 01:01:48AM +0100, xmath wrote:
>  >
>  >>3. Users can be trapped in a $location with no means of escape, by
>  >>overriding $location.will_leave to always throw an error. Solution:
>  >>allow the manager of an object to eject it. On a side note: perhaps
>  >>eject should allow ejecting objects to their .home() instead. And why
>  >>not add an argument to .move_to to remove the will-checks (will_move,
>  >>will_leave, will_arrive) if the sender() is properly authorized.
>  >>eject can then just check perms and determine the right destination,
>  >>and call the unchecked version of .move_to. Saves code-duplication.
>  >>An @eject command would be nice too (and @eject! for a rude version,
>  >>in case the offending place *is* your home)
>  >
>  > What situations can you forsee where .will_leave would be throwing an
>  > improper error AND the user wasn't the one who caused the error and
>  > thus couldn't remove or fix .will_leave in their current location...?
>  >
>  > It seems more like a workaround for poorly written code; my personal
>  > philosophy is if a programmer gets themselves in a bind, they can work
>  > themselves out of it, rather than building the system to be able to be
>  > nice to them for their oversight :)
> 
> No, the problem is that .will_leave and .will_arrive are called on the 
> locations, so that's code that the user doesn't and can't control.  Yet 
> that code can still trap them somewhere.

Sortof... my belief is that the programmer will break those on their
own room, and are hopefully disciplined enough to test their changes.
Somebody stumbling into the room without privs is unfortunate, but
highly unlikely.  A problem of this magnitude should be noticed
immediately, and quickly remedied.  There are also admins who can
usually be paged and brought in to fix the problem... I just am not
comfortable with the idea of building a hack into place for the sole
purpose of working around programming mistake which would happen very
rarely (hasn't yet in my realm) and which can also be fixed
immediately...

-Brandon