From: d8andjo@dtek.chalmers.se (Johan Andersson)
Newsgroups: rec.games.mud.lp
Subject: Re: Gamedriver survey [LONG]
Date: 9 Oct 92 14:58:42 GMT
	<1992Oct2.205121.2309@rhrk.uni-kl.de>
	<1992Oct3.235822.10384@fy.chalmers.se>
	<1992Oct4.161059.22188@rhrk.uni-kl.de>
Organization: Chalmers University of Technology, Sweden
In-reply-to: behrends@arctecserv-1.dfki.uni-kl.de's message of 4 Oct 92 16:10:59 GMT

In article <1992Oct4.161059.22188@rhrk.uni-kl.de> behrends@arctecserv-1.dfki.uni-kl.de (Karl Reimer Behrends) writes:

Some more CDdriver/mudlib specifics:


> Actually, you're overdoing the part about the presumed unreadability of
> Amylaar's code a bit.
>
> I remember clearly the time when PaderMUD was converting to the CD driver
> and mudlib. Data did as suggested in the docs and renamed the Standard 
> domain to Padermud. The effect was that creation of new characters was 
> impossible (or was it the conversion of old ones?).
>
> Spending a couple of hours leafing through dozens of include files and
> program code, I finally discovered the reason was that Padermud was not
> in the list of open domains which caused a file_size() to fail due to the
> uid not having read access to /d/Padermud. Sigh. Never again
> try telling me what unreadable code is.
>
That we now and then fail to make our code understandable is hardly an
excuse to accept it generally. Only an indication that we at CD are not
perfect, big surprise...

> [... security ...]
>
> I will give two examples from the CDlib 0.25 to illustrate
> this. First, consider a domain which has an archwizard in it who's not the
> domainlord.
>
Apart from the fact that the Lord can not be an Arch, this is a security
hole. IF an Arch joins a domain the Lord is given all the capabilities of
an Arch. What matters here is that the Arch trusts his Lord. If not he
could easily work within the domain without being a member.


> Another example is the trust command. If
> used with ids (i.e. trust me:sometool) the following code is quite
> dangerous:
>
> id(/* No argument necessary for this hack */) {
>    enable_commands(); /* _we_ get the write()s, not the wizard and
>			    can modify them and pass them on not to let
>			    him suspect anything */
>
>	 if (query_verb()=="trust")
>	 {
>	   call_out("wreak_havoc",1);
>	   return 1;
>	 }
>      }
>
The 'trust' command is dangerous. The above code is not really a security
hole, just an indication that the wizard using 'trust' must be aware of
what can happen. The recommendation is of course not to use 'trust' but
instead make your own object that inherits the tool you need to use.

As for the debate on compat-mode etc:

> I strongly believe in what Popper calls piecemeal engineering,
> i.e. not making changes which are
> too radical and only let everything collapse.
>
I think this sums up the difference in our opinions nicely. I think that
all projects benefits from a total overhaul and redesign, especially if
done by the original designers.

I firmly believe in the statement: 'No software is good software until
				    rewritten at least twice'.

Lastly:

   Jacob wrote:
   > PS. If Amylaar gets a job without net access, a girlfriend or some other
   > mudfree life, where does that leave you? Relying on a one man show isn't
   > the best of options. DS

> So you're going to devote your life to gamedriver support, huh? ;-)
>
The point is that Jacob does not have to. 

> Actually, what you suggested for Amylaar to happen, did already occur to
> Lars (quite intelligent of him - MUD != Life, come to think of it, and he
> already spent enough of it for muds).
>
Right and as Lars codes in a readable way, people could continue where
he left off.

> And so far his is the only choice for people whose MUDs still run in compat
> mode and want to have a stable gamedriver.
>
True until Joern tires of mudding. Then when leftover bugs crops up, noone,
or at least exceptionally few, will be able to continue where he leaves off.

/Johan

--
Johan Andersson           | "You don`t have conversations with microprocessors
Chalmers, Sweden          | you tell them what to do, and then you helplessly
Email:                    | watch the disaster when they take you literally."
d8andjo@dtek.chalmers.se  |	Sah`ot in David Brins "Startide Rising"