[Prev][Next][Index][Thread]

# Re: Non-overrideable verbs

- Date: Thu, 1 Aug 1996 14:59:42 PDT
- From:
- Reply-To:

    --- Phantom wrote:
    [snip: internal storage not important]

    The reason I want to use a 'p' flag for protected (or hell consider it
    'property-like') is that when this flag is off, verbs are treated as
    usual.  Databases loaded from an older server will still work perfectly
    fine (and don't give me that line about VF_NOT_O causing all verbs to be
    loaded from a previous db version to be made +o, that's simply a
    convesion.) Only when this flag is turned on are verbs given override
    protection.

    In other words, I want to make override protection a _feature_ that only
    occours when you _want_ it and _ask_ for it, and the way it is now is the
    default.  You want to make overridable an _option_ and make the default,
    what is assumed if nothing is asked for, to be non-overridable, which
    will 1) make upgrading hell, 2) make adjusting to an upgrade hell, and 3)
    cause tons of headaches when we get spammed with complaints about "Why
    doesn't my MOO work?" every five minutes.

    Keep the way it is now the default, and make overridable verbs an option
    that only is turned on when you ask for it to be turned on and chmod a
    verb +p.
    --- end of quoted material ---

    The reason I chose +/- o in the first place was to follow the trend in the
    other properties.  Basically, each flag (except d, I suppose) increases the
    "permissiveness" of the verb.  +w verbs can be written, +r verbs can be read,
    +x verbs can be executed from anywhere.

    Also, it is VERY similar to the +f flag on objects.  When this is set, you can
    "override" the object, otherwise, no.

    However, I do see the point about compatibility with existing MOO cores.  I'd
    note that very few verbs in the MOO access verb_info() directly (i.e. don't use
    "index" on the flags) and even fewer use set_verb_info.  In fact, @chmod on a
    Christmas Core worked with no modification.  The only change that I thought
    made sense was changing @verb to make the default perms "rdo" instead of "rd".

    Because I'm writing this patch, I get to use my preference (o). :->  However, I
    have added $server_options.use_blocked_notation to -/+b instead of +/- o.  This
    means near-complete compatibility wih existing cores, and follows E_MOO's
    system for it.

    There is also $server_options.protect_b_flag, that will return E_PERM on any
    attempt to change the flag on a verb by a non-wizard.

    For those interested, I have put up a right-out-of-the-can LambdaCore at
    telnet:everest.cs.dartmouth.edu:7777  just create <name> <password>, and "kick
    Kick Me!" to get a prog bit an some quota.  Provided is a fertile object called
    "Override me" that has two verbs: foo, which is -o and a bar, which is +o.  I
    have also made the two $server_options +w so that they can be changed easily.
    Since this is not fully tested, I expect a few remaining bugs.  If you find an
    inconsistancy, or if it panics, please email me with the circumstances at
    manta@dartmouth.edu.

    Thanks.

- Prev: Re: Non-overrideable verbs
- Next: ONS
- Index: MOO-cows
- Thread: MOO-cows

Home | Subject Index | Thread Index